Ich habe derzeit eine Spalte Gruppe gesetzt, die mir Summen gruppiert durch den Monat. Am unteren Rand dieses Berichts habe ich eine prozentuale Rate, die generiert wird durch: Die Gesamtanzahl der Anrufe mit einem Status der beantwortet und dividiert sie durch alle Anrufe, die dann in die Funktion FormatPercent () geworfen wird. 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 letzten Monate Daten der Monate - Dies ist, was ich versuche, zu erreichen Hier ist einige Beispieldaten: Würde jemand wissen, die Möglichkeit der Schaffung einer benutzerdefinierten Funktion, um mir zu helfen, dies zu 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 Wenn End Function öffentliche Funktion ClearQueue () Dim i als Integer Dim n als Integer Queue. Count-1 für in zu 0 Step-1 queue. Dequeue () next i Endfunktion Fügen Sie eine weitere Zeile innerhalb der Gruppe hinzu, rufen Sie die 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 RunningValue-Funktion für diese etwas wie unten Bitte markieren Sie diese als Antwort, wenn es hilft, das Problem zu lösen Visakh --------------------------- - 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 Wenn End Function öffentliche Funktion ClearQueue () Dim i als Integer Dim n als Integer Queue. Count-1 für in zu 0 Step-1 queue. Dequeue () next i Endfunktion Fügen Sie eine weitere Zeile innerhalb der Gruppe hinzu, rufen Sie die 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 Uhr Microsoft führt eine Online-Umfrage durch, um Ihre Meinung über die Technet-Website zu verstehen. Wenn Sie sich für eine Teilnahme entscheiden, wird Ihnen die Online-Umfrage beim Verlassen der Technet-Website präsentiert. Möchten Sie teilnehmen 2017 Microsoft. Alle Rechte vorbehalten.
No comments:
Post a Comment