2016-05-31 17 views
1

Ich arbeite derzeit an der Erstellung eines Dashboards für einige Krankenhausmetriken. Der Staat verlangt, dass wir mittlere Schlüsselzeiten melden. In diesem Dashboard muss die Medianzeit der Gruppe für jeden Tag angezeigt werden, und in der gesamten Spalte muss der Median der gesamten Datenmenge angezeigt werden.Report Builder 3.0 Hinzufügen von Datenelementen zu einem Array

ich mit Report Builder 3.0 und SQL Server 2014 arbeiten bin

ich eine gespeicherte Prozedur erstellt haben, die genau alle diese Werte berechnen kann, sondern erreichen die auf diese Weise bedeuten, macht den Datensatz ein bisschen ein Monster erweitert wenn ein neues Feld eingezogen werden muss.

Alle Artikel (wie zB this eins) Ich habe gelesen für die Berechnung Median innerhalb des Berichts-Builder-Punktes müssen alle Daten aus dem Dataset anzeigen (oder einfügen und ausblenden) . Diese Methode scheint mir wirklich hacky zu sein und wird dieses Dashboard zu einem absoluten Monster machen, das es zu verwalten versucht.

Was ich wissen muss, ist, gibt es eine Möglichkeit, die Gruppenwerte an eine benutzerdefinierte Code-Funktion zu übergeben? Der Bericht muss zu einem bestimmten Zeitpunkt Zugriff auf die Gruppenwerte haben, andernfalls könnte er die integrierten Aggregatfunktionen (Summe, Erstes, Letztes usw.) für diese Gruppen nicht ausführen. Wenn ich diese Werte nicht als ein Array an eine benutzerdefinierte Code-Funktion übergeben kann, weiß jemand, wie die Gruppenaggregatfunktionen erstellt werden?

Vielen Dank im Voraus an alle, die eine Richtung haben könnten, um mich zu zeigen.

Antwort

0

Sie können die Werte aus der Prozedur an eine Funktion in SSRS übergeben und dann nur den resultierenden Median anzeigen. Ich werde Ihnen nur eine Zusammenfassung geben, um Sie zu beginnen.

  1. Erstellen Sie einen versteckten Parameter, der mehrere Werte zulässt.

  2. Legen Sie die verfügbaren Werte so fest, dass sie aus dem Dataset abgerufen werden, das von Ihrer gespeicherten Prozedur aufgefüllt wird.

  3. Legen Sie auch den Standardwert so fest, dass standardmäßig alle Werte ausgewählt sind.

  4. Gehen Sie zum Abschnitt Code der Berichtseigenschaften, um Ihre Funktion zu schreiben.

  5. Die Funktion wird der Parameter als Argument wie dieses Public Function MyFunc(ByVal p1 as object()) as Integer

  6. In der Funktion nehmen Sie p1.Length und ein Element in dem Array wie so verweisen: p1(i)

  7. In dem Bericht können Sie rufen Sie die Funktion in einem Ausdruck wie folgt aus: =Code.MyFunc(Parameters!p1.Value)

Hope this Sie in die richtige Richtung zeigt.

+0

Das bringt mich definitiv in die richtige Richtung. Danke für Ihre Hilfe! – Murdok1011