wie zu subtrahieren benachbarter Spalten in eine matrix ssrs
Ich habe ein ssrs-matrix, die sieht aus wie folgt :
Month(Columns)
Product(Rows) Sales(Data)
Die Ausgabe sieht ähnlich wie diese :
June July August Sept Oct
ABC 34 34 23 22 67
DEF 33 21 32 22 14
Möchte ich eine Ausgabe, die so aussieht :
June July June-July Aug July-Aug Sept Aug-Sept Oct Sept-Oct
ABC 34 34 0 23 11 22 1 67 45
DEF 33 21 12 32 11 22 10 14 8
Ich habe versucht, etwas wie das zu tun :
Month(Columns) Change
Product(Rows) Sales(Data) Expression
Den Ausdruck wie folgt aussieht :
=Sum(IIF(Fields!MONTH.Value=Fields!MONTH.Value,Fields!Products.Value,Nothing))-
Sum(IIF(Fields!MONTH.Value=Fields!MONTH.Value - 1,Fields!Products.Value,Nothing))
Aber es funktioniert nicht . Ich möchte die Ausgabe wie oben gezeigt . Bitte lassen Sie mich wissen.
Hey Sam ,
Mit der Lösung, die Sie erwähnt :
Sehe ich eine Ausgabe wie diese :
June Garbage July July-June Aug Aug-Jul
ABC 34 xx 34 0 23 11
DEF 33 xx 21 12 32 11
Gibt es eine Möglichkeit, wir können entfernen Sie die Spalte mit der garbage Werte ?
Hey Sam , ich habe versucht deinen code. Jetzt habe ich einen großen weißen Raum, die entlang der Spalte. Gibt es eine Möglichkeit, die ich verstecken können, den weiten Raum zu ?
Hey ich bekomme die Fehlermeldung : nutzt einer früheren Funktion in einem äußeren Aggregat. Vorherige Funktionen nicht angegeben werden als geschachtelte Aggregate. Mein Ausdruck ist so etwas : =Summe(IIF(Fields!MONAT.Value=Fields!MONAT.Value,Fields!Produkte.Wert,Nothing))- Sum(IIF(Fields!MONAT.Wert=Vorjahr(Felder!MONAT.Wert),Felder!Produkte.Wert,Nothing))
Was sind die Müll Werte genau? Wenn Sie die Gruppierung nach einer Spalte in das dataset, dann müssen Sie die Spalte auf die Daten beziehen?? Haben Sie überprüft Ihre raw-Daten?
Die Sache ist , eigentlich will ich verbergen den Müll Spalte., da könnte es tun, eine Juni-Kann , Kann aber nicht angezeigt werden in meinem Bericht. So möchte ich das ausblenden der Spalte, wenn es irgendeinen Weg gibt, es zu tun. Ich würde gerne ausblenden, wird nur die erste Spalte, das ist die Berechnung der Differenz? War die Frage klar ?
wie legen Sie Ihre daterange im dataset? Sie haben ein date-parameter, die der Benutzer auswählen?
hmm .. sicher, Lassen Sie mich versuchen ! Danke ! +1 und Markiert als Antwort
Was sind die Müll Werte genau? Wenn Sie die Gruppierung nach einer Spalte in das dataset, dann müssen Sie die Spalte auf die Daten beziehen?? Haben Sie überprüft Ihre raw-Daten?
Die Sache ist , eigentlich will ich verbergen den Müll Spalte., da könnte es tun, eine Juni-Kann , Kann aber nicht angezeigt werden in meinem Bericht. So möchte ich das ausblenden der Spalte, wenn es irgendeinen Weg gibt, es zu tun. Ich würde gerne ausblenden, wird nur die erste Spalte, das ist die Berechnung der Differenz? War die Frage klar ?
wie legen Sie Ihre daterange im dataset? Sie haben ein date-parameter, die der Benutzer auswählen?
hmm .. sicher, Lassen Sie mich versuchen ! Danke ! +1 und Markiert als Antwort
InformationsquelleAutor CodeNinja | 2013-11-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie die Gruppierung von Spalten Monat, dann brauchen Sie nicht zu verwenden, die SumIif
Können Sie einen Ausdruck wie
=Sum(Fields!Products.Value)
man die Summe aller Produkte in einem bestimmten Monat. Wenn Sie sehen möchten der Differenz zwischen dem Laufenden Monat und dem vorhergehenden Monat, wenn Sie dann geben Sie den unten Ausdruck in einer Zelle in der Monats-Spalte Gruppe...Müssen Sie den null-check in diesem Fall als der erste Monat wird nichts zurück zum vorherigen.
Wenn Sie überlappende Zeile und Spalte, Zeile Gruppen (die Sie glaube ich nicht), dann werden Sie nicht in der Lage zu verwenden, Vorherige, da es nicht unterstützt 🙁
Ich denke, dass die einzige Lösung ist die Verwendung von einige benutzerdefinierte code.
Gibt es einen link hier
Dann Ihre Verwendung wäre so etwas wie
Hey Sam ! Mit der neuesten Ergänzung , ich denke, wir sind fast da. Aber können Sie mir sagen, wie ich die überprüfen Sie hier für den ersten Monat , seit dem ersten Monat nicht eine ältere ?
Sie könnten versuchen, Einstellung zurück, um einen ersten Wert
Public Shared previous as Integer = -666
dann könnte man überprüfen, dass der Wert, dh.=iif(Code.GetPrevious() = -666,0,Code.GetCurrent(Sum(Fields!Products.Value)) - Code.GetPrevious())
Habe ich nicht getestet, aber ich sehe nicht, warum es nicht funktionieren würde.Hey, ich habe versucht, die obige Lösung , aber ich sehe immer noch einen Ausgang mit einer Spalte unerwünschte Werte. Ich habe aktualisiert, was ich sehe in meiner Frage.Könnten Sie mir bitte sagen, wie ich bekommen kann-und Talfahrt der Spalte mit Müll Werte ?
Welche Ausgabe hast du gesehen?
InformationsquelleAutor Sam
Habe ich einen Weg gefunden, um die Berechnung der Unterschiede zwischen Matrix-Spalten mithilfe der "Vorherige" - Funktion durch hinzufügen der Spalte Gruppierung namens.
Schauen Sie hier für ein wenig mehr Details.
http://www.tricks-and-tips.nl/tips-and-tricks/sql/ssrs/ssrs-matrix-compare-column-values
Und hier für die Dokumentation.
https://docs.microsoft.com/en-us/previous-versions/sql/sql-server-2008-r2/ms156372(v=sql.105)
Sorry, ich habe gelesen, zu viele Antworten " Sie haben die Frage nicht verstanden....' so war höflich.
InformationsquelleAutor Montfrooij