2017-06-20 2 views
0

SSRS 2008R2 Individuellen Wert für #Error Das beigefügte Bild ist die Ausgabe meines SSRS 2008R2 Berichts. Ich möchte den #Fehler auf "ON Target" ändern. Ich habe verschiedene Funktionen ohne Glück benutzt. Der Code, den ich verwendet, ist die Frage, ob Prozentsatz> = 0,92 THEN RETURN „AUF KURS“ ELSE Retun Grand_Total-Under_2_monthsSSRS 2008R2 Individueller Wert für #Error

=iif(ReportItems!Year.value>=0.92,"On Target",ReportItems!Textbox12.value-ReportItems!Under18Total.value) 

enter image description here Dieser den beigefügten Bericht produzieren für Spalte Ziel gerecht zu werden. Kann jemand helfen, den benutzerdefinierten Code („ON Ziel“.) Zurückzukehren

Dies ist die Daten, die der Erstellung des Berichts

DECLARE @Types TABLE 
([Type] VARCHAR(20), Under_2_months INT, Over_2_months INT, Grand_Total INT, Percentage DECIMAL(10,4)) 
INSERT INTO @Types VALUES 
('Types1', '1401', '969', '2370', '0.591139240506329'), 
('Types2', '23487', '1942', '25429', '0.92363050060954'), 
('Grand Total', '24888', '2911', '27799', '0.895284003021691') 
SELECT * FROM @Types 
+0

Mögliches Duplikat von [SSRS hide # Fehler in Zelle angezeigt] (https://stackoverflow.com/questions/9144312/ssrs-hide-error-displayed-in-cell) – JohnHC

+0

Der Datentyp stimmt nicht überein. – Wendy

+0

fehlt am Ende der Funktion ')'. – Peter

Antwort

1

Sie können den Fehlerwert ändern. Dies wird vom Compiler ausgelöst. Meiner Erfahrung nach ist es normalerweise ein mathematisches Problem, z. B. wenn versucht wird, durch Null zu teilen. Einige in den Kommentaren erwähnten auch, dass es sich um einen Datentyp-Mismatch handeln könnte.

habe ich versucht #Error im ReportItem und verstecken es zu erkennen, aber das funktioniert auch nicht. Ihre beste Wette ist, Ihren Code zu reparieren, damit es keinen Fehler gibt.

Überprüfen Sie, ob der Datentyp für Ihre Textbox „Ziel zu erreichen“ nicht auf numerische eingestellt ist. Wenn das nicht das Problem ist, brechen Sie Ihr IIF auf die Grundlagen und bauen Sie es Stück für Stück zurück, bis es den Fehler wirft und Sie identifizieren können, was der Problemcode ist.