Best Practices für das Berichts-Design
In diesem Abschnitt wird beschrieben, welche Schlüsselfaktoren bei der Verwendung von Application Studio zum Schreiben von Berichten über OLAP-Cubes zu berücksichtigen sind.
Frontend-Überlegungen
Diese Tabelle enthält wichtige Überlegungen zur Gestaltung von Frontend-Berichten:
Betrachtung | Beschreibung |
---|---|
Enthalten Ihre Berichte verschachtelte Hyperblocks? | Ein Bericht, der auf einem Slice basiert und bei dem die Hyperblocks gefiltert werden, um z. B. Nullwerte auszuschließen, erzielt bessere Ergebnisse. Die Verwendung von Slices ist mit einer Lernkurve verbunden, und es fehlen einige wünschenswerte Funktionen, aber die verfügbaren Funktionen decken 80 % der Anwendungsfälle ab. |
Sind für Berichte vertikale Bildlaufleisten erforderlich? | Wenn Ja, dann integrieren Sie eine Weberweiterung Paginierung in die Fußzeilen Ihrer Berichte. Es verbessert die User Experience und die Leistung. |
Verwenden Berichte die bedingte Formatierung? | Bedingte Formatierung ist ein leistungsfähiges Feature, das jedoch aufgrund seiner Auswirkungen auf die Performance bei der Auswertung von Bedingungen nur sparsam eingesetzt werden sollte. Sie vermeiden können bedingte Formatierung vermeiden, indem Sie das Zahlenformat verwenden und auf die in der Datenbank definierten Zahlenformate zurückgreifen. Application Studio gruppiert die Datenanforderungen der Formeln, die an die OLAP-Datenbank gesendet werden. Das Ergebnis ist eine Gesamtabfrage anstelle von mehreren Abfragen für einzelne Zellen. Abfragen in Clustern sind schneller als der Zugriff auf einzelne Zellen. Daten, die aus Formeln in bedingten Formaten und Berichtswechseln gelesen werden, können nicht gruppiert werden und werden immer als Einzelzellenabfrage abgefragt. |
Sind die Formatvorlagen für Berichte überarbeitet? | Achten Sie bei der Entwicklung neuer Stylesheets auf Einfachheit und widerstehen Sie dem Drang, bestehende Stylesheets mit möglichst vielen Inhalten zu füllen. Die Anzahl der Formatvorlagen erhöht die Größe eines Berichts. |
Haben Sie die Anfangsauswahl für die Gesellschaften des Berichts angegeben? | Berichte werden schneller geladen, wenn die letzte Gesellschaft, die ein Benutzer visualisiert hat, gespeichert wird. Wird ein Bericht beispielsweise auf der Ebene Alle Gesellschaften geladen, müssen viel mehr Daten abgerufen werden und das Laden des Berichts dauert länger. |
Verwenden Sie zustandslose Steuerelemente wie Lookup-Objekte und keine Steuerelemente, die auf Listenansichten basieren? | Auf Listenansichten basierende Steuerelemente, wie z. B. Kombinationsfelder, rufen Listen von Elementen ab, wenn ein Bericht geladen wird. Zustandslose Steuerelemente rufen keine Listen von Elementen ab, sodass sie schneller geladen werden können. |
Testen Sie Ihre Berichte gründlich? | Sie können Berichte erstellen, die Zeichenfolgen zur Ableitung von Element-IDs verketten, aber wenn Sie die Anforderung an den OLAP-Server für Elemente senden, die nicht existieren, riskieren Sie Fehler und Zeitüberschreitungen. Bei den Tests sollten stets die Sicherheitseinstellungen der Endbenutzer berücksichtigt werden. |
Liste der Filter | Einige Filtertypen sind langsamer als andere, zum Beispiel sind Attributfilter langsamer als Wertefilter. Filter sind im Allgemeinen langsamer als Strukturauswahlen. Vermeiden Sie große Datenbereiche in Filtern. Je mehr Elemente Sie pro Dimension auswählen, desto langsamer wird der Filter. |
Globale Aktionen | Ziehen Sie die Verwendung globaler Aktionen in Betracht, um die Berechnung einzelner Berichte zu vereinfachen. Globale Aktionen werden während der Anmeldung eines Benutzers, nach der Erstellung eines Repository-Modells und vor der Erstellung einer Engine ausgeführt. Die Werte der globalen Variablen sind bereits festgelegt, bevor das Laden eines Berichts beginnt. |
Berichtsvariable | Vermeiden Sie große Zeichenfolgen in Variablen. |
Back-End-, Umwelt- und zwischenmenschliche Überlegungen
Bei einem erfolgreichen Projekt gibt es eine Schleife zwischen den Berichtentwicklern und den Autoren der Cubes. Schlechtes Cube Design ist wahrscheinlich der größte Faktor für schlechte Ergebnisse. Die folgende Tabelle enthält wichtige Faktoren an, die zu berücksichtigen sind:
Betrachtung | Beschreibung |
---|---|
Schreiben und Testen von Berichten mit einem realistischen Datenset | Berichte, bei denen die Dimensionen bis zu 30 Elemente und die Cubes mehrere hundert Datenpunkte umfassen, können eine gute Leistung erbringen, sind aber aufgrund des großen Datensatzes schwer zu pflegen. Es ist wichtig, Tests mit realistischen Datensets durchzuführen. |
Korrekte OLAP-Regeln schreiben. Ein Beispiel für eine schlecht geschriebene Regel: [Ertrag] = [Preis] * [Menge] oder [Konto 1] = [Konto2} + [Konto3] + [Konto4] | Machen Sie sich mit den Best Practices zum Schreiben von OLAP-Regeln vertraut. Eine Anleitung finden Sie in der Online-Dokumentation. |
Dimensionen, die schlecht strukturiert sind | Nehmen wir eine Dimension Product mit dem obersten Element Alle Produkte, aber 10.000 Kind-Elementen. Irgendwann wird der Benutzer wahrscheinlich eine Anforderung an den OLAP-Server schicken, die es erforderlich macht, dass alle Elemente abgerufen und möglicherweise angezeigt werden. Zwischenebenen optimieren die Ergebnisse eines Berichts, der auf der Hierarchie basiert. |
Hohe Anzahl von Benutzern | Vermeiden Sie Änderungen an Dimensionen während der Bürozeiten, wenn die meisten Benutzer online sind. |
Fehlende Eltern-Elemente in Dimensionen, z. B. ein Gesamtelement Jahr | Ein Bericht, der tägliche Daten in verborgenen Spalten abruft, um sie zu addieren und als Jahressumme anzuzeigen, ist viel langsamer als Bericht, bei dem die Summe in der OLAP-Datenbank berechnet wird. |
Falsche Verwendung von Attributen | Attribute können frei definiert und zum Filtern von Berichten verwendet werden, aber gefilterte Berichte liefern weniger gute Ergebnisse als eine Hierarchie, die Elemente nach potenziellen Attributwerten gruppiert. |
Stellen Sie sicher, dass der OLAP-Server über genügend RAM verfügt | OLAP ist eine In-Memory-Datenbank. Schlecht geschriebene Abfragen können eine erhebliche Menge an Arbeitsspeicher verbrauchen. Wenn Ihr OLAP Server eine Paginierung durchführt, müssen Sie mit einer schlechten Performance rechnen. |
Geben Sie keine Transaktionsdaten in Cubes ein | Infor OLAP ist für Berichte auf Bilanzebene optimiert. Sie können einen Bericht erstellen, der nicht performant ist, ohne dass die Anwendung Sie daran hindert. Sie können zum Beispiel einen detaillierten Cube über eine Datei mit Bestellzeilen erstellen, aber er wird wahrscheinlich nicht performant sein. |
Einen schlechten Bericht als kurzfristige Lösung schreiben | Widerstehen Sie dem Projektdruck, etwas zu tun, das einen nicht performanten Bericht ergibt. Halten Sie Ihre Bedenken schriftlich fest und schlagen Sie Alternativen vor. |
Speichern Sie keine Nullen in Ihrem Cube | Ein Nullwert ist eine Zahl, die im OLAP-Speicher gespeichert und bei Regelberechnungen ausgewertet werden muss, während dies bei der Alternative Null nicht der Fall ist. Sie können einen Application Engine-Prozess erstellen, der Nullwerte in einem Cube durch Null ersetzen kann. |
Der beste Ort, um Berechnungen durchzuführen | Dies hängt von mehreren Faktoren ab, unter anderem davon, wie oft die berechneten Werte benötigt werden. Dies sind Beispieloptionen für die Durchführung von Berechnungen, in der Reihenfolge der Präferenz:
|
Bestimmte Standardelemente festlegen | Wenn Sie keine spezifischen Standardelemente für hierarchische Dimensionen auswählen, wird das oberste Element als Standard ausgewählt. Dies erfordert mehr Zeit, um die Standardelemente zurückzusetzen. Aktuelle Standardelemente werden in den erweiterten Eigenschaften der Dimension festgelegt. |
Die Verwendung der XML-Schnittstelle ist langsamer als die Kommunikation über die integrierte Schnittstelle in Version 11 | Um die Kommunikation zu beschleunigen, wird empfohlen, die Werte nicht durch Einzelzellenanforderungen zu lesen, sondern sie in einer oder mehreren OLAP-Anforderungen zusammenzufassen. Dies kann mit der Anforderung Cube lesen geschehen, indem mehrere CellCoordinate -Tags hinzugefügt werden. |
Verwenden Sie serverseitige Paginierung, um einen Bericht zu erstellen, der nur sichtbare Werte abfragt | Die Paginierung in Hyperblock-Seiten erfolgt auf der Client-Seite. Alle Zellen werden vom Server zurückgegeben, aber nur eine Seite wird gezeichnet. Verwenden Sie in OLAP-Listen die Subset Funktion zur serverseitigen Paginierung. In relationalen Listen können mit erweiterten Methoden in der Abfrage Subsets erstellt werden. |
Filtern Sie Ihre Abfragen, um sicherzustellen, dass Sie nicht alle Elemente aus einer Dimension abfragen | Verwenden Sie die Nullunterdrückung, um nur ausgefüllte Zellen anzuzeigen, zeigen Sie alle Elemente unter einem bestimmten Eltern-Element anstelle einer ganzen Dimension an. Anfängliche Ebene zum Erweitern in Slices und Listen verringern. |
Vermeiden Sie es, eine große Anzahl von Dimensionen auf die Achse zu legen. | Optimal sind drei Dimensionen pro Zeilenachse und eine Dimension pro Spaltenachse. |