2010-03-16 8 views
6

Ein Teil meiner Arbeit umfasst das Erstellen von Berichten und Daten aus SQL Server, die als Entscheidungsinformationen verwendet werden. Der Großteil der Daten wird aggregiert, z. B. Bestände, Verkäufe und Kosten von Abteilungen und anderen Dimensionen.Was sind Ihre Best Practices, um die Richtigkeit der Berichte von SQL zu gewährleisten?

Wenn ich die Berichte erstellen, und genauer, ich entwickle die SELECTs, um die aggregierten Daten aus der OLTP-Datenbank zu extrahieren, mache ich mir Sorgen, dass ich beispielsweise einen JOIN oder eine GROUP BY verwechsele.

ich versuchen, einige „Best Practices“ zu nutzen, um mich zu verhindern, für falsche Zahlen „zu erzeugen“:

  • Wenn eine aggregierte Datensatz erstellen, immer diesen Datensatz ohne die Aggregation explodieren und schauen auf erkennbare Fehler .
  • Exportieren Sie den Explosionsdatensatz nach Excel und vergleichen Sie SUM(), AVG() usw. von SQL Server und Excel.
  • Beziehen Sie die Personen ein, die die Informationen verwenden würden, und bitten Sie um eine Bestätigung (bitten Sie die Personen, Fehler bei den Zahlen zu identifizieren).
  • Stellen Sie diese Dinge niemals am Nachmittag bereit - wenn möglich, versuchen Sie am nächsten Morgen einen Blick auf das T-SQL zu werfen. Ich habe viele Fehler mit dieser einfachen Prozedur korrigiert.

Auch bei diesen Verfahren mache ich mir immer Sorgen um die Zahlen.

Was sind Ihre bewährten Methoden, um die Richtigkeit der Berichte sicherzustellen?

Antwort

2

haben Sie in Betracht gezogen, Ihre Tabellen mit Testdaten zu füllen, die bekannte Ergebnisse liefern, und Ihre Abfrageergebnisse mit Ihren erwarteten Ergebnissen zu vergleichen.

1
  • , Signed

in schriftlicher Form die ich gefunden habe, dass einer der besten Praktiken ist, dass sowohl der Leser/Client und die Entwickler auf der gleichen sind (dokumentiert) Seite. Auf diese Weise kann ich, wenn mysteriöse Zahlen erscheinen (und sie tun), auf die Spezifikation schriftlich hinweisen und sagen: "Deshalb sehen Sie diese Zahl. Möchten Sie, dass sie anders ist?".

  • -Test, Test, Test

Für ernsthaft kompliziert Berichte, gingen wir durch Testdaten nach oben und unten mit dem Kunden, bis alle Zahlen richtig waren, und Kunde war zufrieden waren.

  • Edge-Hüllen

Wir entdeckten eine ernst komplizierten Fall in unserem Berichtswesen, die alles auf den Kopf (auf unserer Seite) gedreht. Was ist, wenn der Benutzer einen Bericht erstellt (z. B. Jahresende 2009), Daten für das neue Jahr eingibt und dann den gleichen Bericht erstellt? Die Daten haben sich geändert, aber dieser Bericht sollte nicht geändert werden. Diese Fälle zu denken und zu bearbeiten kann viel Herzschmerz ersparen.

0

Schreiben Sie einige automatisierte Tests.

Wir haben ziemlich viele Reporting-Services-Berichte - wir testen sie mit Selenium.Wir verwenden eine Testdatenseite, um einige bekannte Daten in eine leere Datenbank zu übertragen, führen dann den Bericht aus und bestätigen, dass die Zahlen wie erwartet sind.

Die Builds laufen jedes Mal, wenn wir einchecken, so dass wir wissen, wir haben nichts zu dumm getan

Verwandte Themen