Hinzufügen von Werten zu einem Bericht, wenn in der Abfrage SSRS Between Datasets keine Daten vorhanden sind
Es ist im Grunde die gleiche Frage, die ich in diesem Thread hatte: Hinzufügen von Werten zu einem Bericht, wenn die Abfrage SSRS keine Daten enthält
Der einzige Unterschied besteht jetzt darin, dass ich die gleiche Funktionalität auf verschiedene Datensätze ausweiten möchte.
Stellen Sie sich Folgendes vor: Ich habe zwei Datensätze.Dataset1
, Dataset2
.
Beide haben denselben Primärschlüssel, in diesem Fall: Sales Rep Category
Jetzt in Datensatz1 habe ich die folgenden Daten:
Die Idee in diesem Thread war, @ setz"0"
Jedes Mal, wenn ein Vertriebsmitarbeiter nicht alle Kategorien hatte, z. B. Vertriebsmitarbeiter amDataSet1
, hat nichtG1,G2
Category so In diesen Fällen müssen sie 0 setzen.
Dank der Antwort der Community kann dies durch Hinzufügen eines berechneten Feldes in DataSet1 erreicht werden:
=Fields!SalesRep.Value & "-" & Fields!Category.Value
So, das wird Ihnen zum Beispiel geben11-G1
für die 1. Reihe. und der Ausdruck für jede Zeile (für jede Kategorie) lautet:
=iif(IsNothing(lookup(Fields!SalesRep.Value & "-" & ReportItems!Textbox62.Value,
Fields!Another.Value,Fields!Sales.Value,"DataSet7")),0,
lookup(Fields!SalesRep.Value & "-" & ReportItems!Textbox62.Value,
Fields!Another.Value,Fields!Sales.Value,"DataSet7"))
Wie Sie sehen können, dieReportItems!Textbox62.Value
speichert den Wert der Kategorie, also wenn 11-G1 nichts ist (nicht existiert), setze"0"
.
Die Idee hier ist, dasselbe mit @ zu tDataSet2
.
Der schwierige Teil ist, dass wir fragen müssen, ob11-G1
ist gleich14-G1
weil inDataSet2
dasSalesRep
existiert nicht für alle Kategorien, die es setzen muss"0"
. Beide sind gruppiert alsSalesRep
.