Frage

Ich verwende SQL Server -Berichtsdienste. Die meisten meiner Fragen werden als Berichte ausgeführt, die einfach als PDF exportiert werden.

Ich möchte wissen, welche Art von Berechnungen, falls vorhanden, in der tatsächlichen SQL -Abfrage erfolgen sollte und welche mit der SSRS IDE (Business Intelligence Studio) berechnet werden sollten.

Wenn ich beispielsweise einen 12 -monatigen Verkaufsbericht (12 Monate) habe, der einen Umsatzdurchschnitt der 3 letzten Monate erfordert, wo sollte dieser Durchschnitt berechnet werden?

Sollten die meisten Berechnungen/Aggregationen in der Präsentationsschicht erfolgen? Irgendwelche Ausnahmen?

War es hilfreich?

Lösung

Dies könnte auf 2 Arten betrachtet werden:

  • Wo setzen Sie Geschäftslogik?
  • Für Berechnungen ist die Zeit erforderlich, wo effizienter ist

Die Antwort auf beide ist "es hängt davon ab". Für Ihr Beispiel eines 12-monatigen Berichts, in dem auch Trends angezeigt wurden, wäre ich versucht, die Logik zu ändern, mit der die Daten erhalten wurden Durchschnittswerte) und den Bericht ziemlich "dumm" machen, um nur die Ergebnisse anzuzeigen. Wenn der Bericht sehr einfach ist oder die Logik nur für diesen Bericht spezifisch ist, kann im Bericht möglicherweise funktionieren.

Für die Wiederverwendbarkeit bevorzuge ich Dinge in SQL. Für komplexe Anzeigematerial (Heatmapping, Diagramme usw.) ist im Bericht wahrscheinlich besser.

Andere Tipps

Behalten Sie die Logik des Berichts mit dem Bericht. SQL Server gibt Ihnen die Daten an, aber es ist am besten, eine angepasste Logik mit dem Bericht zu halten.

Ich würde mich davon fernhalten, den Bericht für Berechnungen Roundtrips in der Datenbank zu machen. Wenn die Gruppierung und Bestellung in Ihren gespeicherten Verfahren mit Ihrem Berichtslayout übereinstimmt, ist SSRS ziemlich effizient bei aggregierten Berechnungen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top