Frage

Ich schreibe jeden Tag etwa 150.000 Datenzeilen in eine Datenbank.Diese Zeilen repräsentieren beispielsweise ausgehende Artikel.Jetzt muss ich Zeigen Sie ein Diagramm mit SSRS die die durchschnittliche Anzahl der Artikel pro Tag im Zeitverlauf anzeigen. Außerdem benötige ich Informationen über die tatsächliche Anzahl der Artikel von gestern.

Die Idee besteht darin, einen aggregierten Überblick über alle unsere Transaktionen zu erhalten und etwas zu haben, das darauf hinweisen kann, dass etwas nicht stimmt (dass wir beispielsweise 20 % weniger Artikel als der Durchschnitt versenden).

Meine Idee ist, die Daten von gestern zu verschieben SSAS jede Nacht und speichert dort den aggregierten Wert der Anzahl der Transaktionen und die tatsächliche Anzahl der Transaktionen aus den gestrigen Daten.Die Verwendung von SSAS würde die Berichte hoffentlich beschleunigen.

Halten Sie das für die richtige Idee?Sollte ich SSAS überspringen und Berichte direkt zu den Rohdaten erstellen?Ich weiß, wie Berichtsdienste für Rohdaten mithilfe von Standard-SQL-Abfragen verwendet werden. Wie würde sich dies jedoch ändern, wenn SSAS abgefragt wird?Ich weiß nicht SSAS - Wo soll ich anfangen ..?

War es hilfreich?

Lösung

Das Schöne an SSAS ist, dass Sie die Indikatoren, über die Sie sprechen, ganz einfach erhalten können, indem Sie berechnete Kennzahlen erstellen oder KPIs verwenden.

Ich begann mit Bereitstellung von Business Intelligence mit Microsoft SQL Server 2005.Es gab eine gute Einleitung, aber leider ist es zu ausführlich, wenn es um die Details geht.Wenn Sie jedoch SSAS, OLAP und Reporting mithilfe dieses Frameworks verstehen möchten, ist dies ein guter Anfang.

Mosha Pasumansky hat eine Blog auf SSAS und MDX mit tollem Links.

Ansonsten würde ich die Online-Bücher von Microsoft empfehlen.

Andere Tipps

Sind Sie sicher, dass Sie SSAS (Analysedienste) und SSIS (Integrationsdienste) nicht verwechseln?

SSAS ist kein ETL, sondern ein OLAP-Tool.

SSIS ist ein ETL-Tool.

Ich stimme mit allem überein, was Rowan gesagt hat.Die Begriffe verwirren mich einfach.

SSAS ist ein ETL Werkzeug.Grundsätzlich erhalten Sie Daten von irgendwoher (Ihren ausgehenden Artikeln), machen etwas damit (Aggregation) und legen sie woanders ab (Ihre Aggregattabelle, Ihr Data Warehouse usw.).Weitere Informationen finden Sie unter dem Link.

Sie werden wahrscheinlich nicht alle Zeilen in der Datenbank auf unbestimmte Zeit behalten und wenn Sie über längere Trends berichten möchten, müssen Sie auf jeden Fall eine Art Aggregation historischer Daten durchführen.Daher ist es sinnvoll, dass die Berichte diesen historischen Datenspeicher als Quelle verwenden.Anschließend können Sie damit alle möglichen ausgefallenen Berichte erstellen.

TL;DR:Definieren Sie Ihre aggregierte Verlaufstabelle unter Berücksichtigung Ihrer zukünftigen Berichtsanforderungen.Verwenden Sie SSAS, um die Tabelle zu füllen und sie anhand der täglichen Aktualisierungen zu aktualisieren.Bericht von dieser Tabelle.Weiterführende Literatur:Star Schemas und Data Warehousing.

@Sergio und @Rowan

Ja, das sind wir nicht Wir sprechen über das Laden und Transformieren von Daten in die Datenbank (wie es ein SSIS-Tool tun würde).Das wird mithilfe unserer Integrationsplattform gelöst.

@Riri, vielleicht ist SSAS für die von Ihnen dargestellte Situation zu viel des Guten.Wenn Sie nur Zusammenfassungstabellen täglich füllen müssen, können Sie dies erreichen, indem Sie einen regulären JOB in SQL Server erstellen und ihn in einem regulären T-SQL-Skript ausführen.

Ich verwende diesen Ansatz seit mehreren Jahren in einem täglichen Prozess, um Geschäftsindikatoren aus etwa 9 GB neuen Daten pro Tag zu berechnen.Es funktioniert, ist schnell, einfach und nutzt eine Technologie, mit der Sie bereits vertraut sind.Wenn Ihr täglicher Prozess komplizierter wird (er muss aus Dateien lesen, FTP verwenden, E-Mails senden), können Sie zu einem SSIS-Paket (oder einem anderen ETL-Tool Ihrer Wahl) wechseln, aber ich kann die Verwendung von SSAS nicht empfehlen, es sei denn, Sie müssen OLAP bereitstellen Funktionen für Ihre Benutzer.

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