2016-09-22 8 views
1

Ich habe einen SSRS-Bericht arbeite ich an. Was ich tun möchte ist, den Wert eines Feldes von seinem eigenen Datensatz zu erhalten und den Wert eines anderen Feldes von einem anderen Datensatz zu subtrahieren. Ich kann dies tun; Allerdings sind die Werte gruppiert, anstatt mir einen individuellen Wert gibt es mir: (Summe von alle abgeschlossen) - (Summe von alle im vergangenen Jahr abgeschlossen). enter image description hereSumme eines Feldes minus Summe eines anderen SSRS Expression

Hier mein Ausdruck ist ich für die Spalte bin mit „Im Vergleich zum letzten Jahr“

=SUM(Fields!Completed.Value, "MTDSales") - SUM(Fields!Completed.Value, "MTDminus1") 

"MTDSales" und "MTDMinus1" sind 2 separate Datensätze. MTDSales Dataset ist die aktuellen Monate Verkaufsergebnisse nach Unternehmen gruppiert MTDMinus1 Datensatz ist die letzten Jahre für diesen aktuellen Monat, da ich die 2 Monate getrennt vergleiche.

+0

irgendein Grund nicht die Vorjahresdaten zusammen mit dem aktuellen Jahr in Ihrer Anfrage bekommen? Sind die Namen in Anführungszeichen die Namen von Spaltengruppen oder die Namen von zwei verschiedenen Datensätzen? – Kidiskidvogingogin

Antwort

2

Ich musste dies in einem Bericht tun, wo ich aktuelle Daten aus einer Datenbank und ältere Daten aus einem Data Warehouse und kombinieren. Sie werden ein paar Dinge tun müssen:

1. ein Abgleichsfeld etablieren

Dies kann als eine einzelne Spalte so einfach sein. Wenn Sie mehrere Felder abgleichen müssen, müssen Sie jedem Datensatz, den Sie abgleichen können, ein berechnetes Feld hinzufügen. Unter der Annahme, müssen Sie sich auf Unternehmen und Geschäftsjahr und jeder Datensatz zurückgibt ein Jahr Daten entsprechen, so etwas wie match_id aussehen könnte (vorausgesetzt, numerische Werte - sonst müssen Sie verwenden | oder etwas als Separator):

`="A" & Fields!fin_year.Value & "B" & Fields!cust_id.Value` 

2. Rufen Sie die Daten im Quellfeld ab.

In Ihrem tablix eine Spalte hinzufügen, wie Sie den nachgeschlagen Wert zu halten haben:

die Daten
=Lookup(Fields!matchId.Value, Fields!matchId.Value, Fields!Completed.Value, "MTDminus1") 

3. Verwenden

Jetzt können Sie die Daten aggregieren oder zu tun, was weitere Berechnungen Sie wünschen, als wäre das Feld Teil Ihres ursprünglichen Datensatzes.

+0

Hallo SMM Ich sehe nicht, warum ich all das tun, müsste nur das Ergebnis von 1 Spalte zu erhalten - einem anderen gruppiert auf Unternehmen, Sicherlich gibt es einen Ausdruck, der geschrieben werden kann, dass die „Gruppe“ -Funktion, da beide enthält datset haben Unternehmen in it.You durch einen Parameter, also warum nicht ein Feld „= Fields (Parameter! GroupBy.Value) .Value“ – RustyHamster

+0

Wie werden Sie in jeder Zeile die richtige Firma Summe zu erhalten korrelieren Gruppe ist in der Lage? Ich bin nicht sicher, ob SSRS eine Funktion hat, die dies in einem Schritt tun wird. Das funktionierte für mich :-) Es sollte nicht so viel Arbeit sein, es zu implementieren. – SMM

+0

Ich sehe, was du meinst, wie wird es wissen können, für welche Firma der Wert ist. Ich werde versuchen und folgen Sie Ihren Schritten Danke – RustyHamster