Thursday 12 January 2017

Ssrs 2008 R2 Gleitender Durchschnitt

Ich habe derzeit eine Spalte Gruppe gesetzt, die mir Summen gruppiert durch den Monat. Am unteren Ende dieses Berichts habe ich einen Prozentsatz, der erzeugt wird durch: Unter der Gesamtbetrag der Anrufe, die von allen Anrufen sie mit dem Status beantwortet und Teilen, die dann in die FormatPercent () Funktion ausgelöst. Ich möchte jetzt einen monatlichen Durchschnitt dieser monatlichen Gruppierungen in Prozent-Format zu bekommen. Ist das möglich Das rote Feld ist meine ColumnGroup und der Pfeil ist, wo ich meinen Prozentsatz möchte. Siehe unten ltExprgtgt: Die Summe der jeweiligen Vormonaten Daten der Monate - Das ist, was ich versuche, hier zu tun ist einige Daten Beispiel: Würde jemand von der Möglichkeit, eine benutzerdefinierte Funktion zu schaffen, mir dabei zu helfen erreichen Und die Antwort scheint ziemlich nah Was ich suche, habe ich wirklich nicht verstehen, es genug, um herauszufinden, was passiert hinter den Kulissen, damit es für mich arbeiten. Würde jemand in der Lage zu helfen Wäre es möglich, die RunningValue-Funktion irgendwie zu verwenden Hope dies hilft bei der Verwirrung. Ich arbeite mit SQL Server 2008 R2, versucht, einen gleitenden Durchschnitt zu berechnen. Für jeden Datensatz meiner Ansicht möchte ich die Werte der 250 vorherigen Datensätze sammeln und dann den Durchschnitt für diese Selektion berechnen. Meine Ansichtsspalten sind wie folgt: TransactionID ist eindeutig. Für jede TransactionID. Ich möchte den Durchschnitt für Spaltenwert über 250 Datensätze berechnen. So für die TransactionID 300, sammeln Sie alle Werte aus früheren 250 Zeilen (Ansicht wird absteigend nach TransactionID sortiert) und dann in Spalte MovAvg das Ergebnis des Mittelwerts dieser Werte schreiben. Ich bin auf der Suche, um Daten in einer Reihe von Datensätzen zu sammeln. Gefragt Oktober 28 14 um 20: 58 Nach Ihrer Beschreibung haben Sie eine Matrix in Ihrem Bericht. Nun wollen Sie den Mittelwert der letzten 6 Monate berechnen. Right In Reporting Service können wir benutzerdefinierte Code in Bericht, um mit komplizierten Logik befassen. Fügen Sie eine weitere Spalte innerhalb der Gruppe hinzu und rufen Sie die im benutzerdefinierten Code definierten Funktionen auf. Für Ihre Anforderung haben wir Roberts Code geändert, um Ihr Ziel zu erreichen. Wir haben Ihren Fall in unserer lokalen Umgebung mit Beispieldaten getestet. Hier sind Schritte und Screenshots für Ihre Referenz: Setzen Sie den benutzerdefinierten Code in Bericht: Private QueueLength As Integer 6 Privat queueSum As Double 0 Private Queuefull As Boolean Falsch Privat idChange Als Stringquotquot Dim Warteschlange As New System. Collections. Generic. Queue (Of Integer) Public Function CumulativeQueue (ByVal current As Integer, id As String) As Object Dim removedValue As Double 0 Wenn idChange ltgt id dann ClearQueue () idChange id queueSum 0 Queuefull Falsch CumulativeQueue (current, id) Else If queue. Count gt QueueLength dann removedValue Warteschlange. Dequeue () End If queueSum 43 current queueSum - removedValue queue. Enqueue (current) Wenn queue. Count lt QueueLength Dann Return Nothing ElseIf queue. Count QueueLength Und Queuefull Falsch Queuefull return true queueSum QueueLength Else Return (queueSum) QueueLength End If End Dann If End Function public function ClearQueue () Dim i as Integer Dim n als Integer Queue. Count-1 in bis 0 Step-1 queue. Dequeue () neben i End Function Fügen Sie eine weitere Zeile innerhalb der Gruppe, rufen Sie die Funktion definiert in benutzerdefinierter Code. Speichern und Vorschau. Es sieht wie unten aus: Wenn Sie irgendeine Frage haben, fühlen Sie bitte sich frei zu bitten. Beste Grüße, Simon Hou (Pactera) Mittwoch, 14. Mai 2014 12:36 Alle Antworten Yep. können Sie Running Funktion für diese so etwas wie unten Bitte Mark Diese Als Antwort verwenden, wenn es um das Problem zu lösen Visakh hilft --------------------------- - visakhm. blogspot facebookVmBlogs Nach Ihrer Beschreibung haben Sie eine Matrix in Ihrem Bericht. Nun wollen Sie den Mittelwert der letzten 6 Monate berechnen. Right In Reporting Service können wir benutzerdefinierte Code in Bericht, um mit komplizierten Logik befassen. Fügen Sie eine weitere Spalte innerhalb der Gruppe hinzu und rufen Sie die im benutzerdefinierten Code definierten Funktionen auf. Für Ihre Anforderung haben wir Roberts Code geändert, um Ihr Ziel zu erreichen. Wir haben Ihren Fall in unserer lokalen Umgebung mit Beispieldaten getestet. Hier sind Schritte und Screenshots für Ihre Referenz: Setzen Sie den benutzerdefinierten Code in Bericht: Private QueueLength As Integer 6 Privat queueSum As Double 0 Private Queuefull As Boolean Falsch Privat idChange Als Stringquotquot Dim Warteschlange As New System. Collections. Generic. Queue (Of Integer) Public Function CumulativeQueue (ByVal current As Integer, id As String) As Object Dim removedValue As Double 0 Wenn idChange ltgt id dann ClearQueue () idChange id queueSum 0 Queuefull Falsch CumulativeQueue (current, id) Else If queue. Count gt QueueLength dann removedValue Warteschlange. Dequeue () End If queueSum 43 current queueSum - removedValue queue. Enqueue (current) Wenn queue. Count lt QueueLength Dann Return Nothing ElseIf queue. Count QueueLength Und Queuefull Falsch Queuefull return true queueSum QueueLength Else Return (queueSum) QueueLength End If End Dann If End Function public function ClearQueue () Dim i as Integer Dim n als Integer Queue. Count-1 in bis 0 Step-1 queue. Dequeue () neben i End Function Fügen Sie eine weitere Zeile innerhalb der Gruppe, rufen Sie die Funktion definiert in benutzerdefinierter Code. Speichern und Vorschau. Es sieht wie unten aus: Wenn Sie irgendeine Frage haben, fühlen Sie bitte sich frei zu bitten. Mit besten Grüßen, Simon Hou (Pactera) Mittwoch, 14. Mai 2014 12.36 Microsoft eine Online-Umfrage führt Ihre Meinung auf der MSDN-Website zu verstehen. Wenn Sie sich für eine Teilnahme entscheiden, wird Ihnen die Online-Umfrage präsentiert, wenn Sie die Msdn-Website verlassen. Möchten Sie teilnehmen 2017 Microsoft. Alle Rechte vorbehalten.


No comments:

Post a Comment