Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Benötigen Sie Hilfe bei der Berechnung mit zwei Datensätzen unter Verwendung des Ausdrucks SSRS

Sie müssten Ihren Datensatz auf den gewünschten Monat beschränken und dann die Ergebnisse summieren.

LookupSet wird verwendet, um Daten anhand von Kriterien aus einem anderen Datensatz abzurufen.

Eine VBA-Funktion, SumLookup, wird benötigt, um die Ergebnisse von LookUp hinzuzufügen. Dieses VB würde in den CODE-Abschnitt des Berichts gehen (dies kann unter „Berichtseigenschaften“ eingesehen werden).

Function SumLookup(ByVal items As Object()) As Decimal

If items Is Nothing Then Return Nothing

Dim suma As Decimal = New Decimal()
Dim ct as Integer = New Integer()

suma = 0
ct = 0

For Each item As Object In items

  suma += Convert.ToDecimal(item)
  ct += 1

Next

If (ct = 0) Then return 0 else return suma 

End Function 

Sie würden dann die Funktion in Ihrem Ausdruck wie folgt verwenden:

=Code.SumLookup(LookupSet(Fields!MONTH.Value, Fields!MONTH.Value, Fields!Total.Value,"Dataset16"))

Wenn Ihr Feld ein Datum ist, müssen Sie beide mit FORMAT:

in ein MMyyyy-Feld umwandeln
FORMAT(Fields!MONTH.Value, "MMyyyy")