Talend & Palo – tPaloRuleList, tPaloRule

Freitag, 10. Februar 2012, 19:22 Uhr

Noch keine Kommentare

Beim Anlegen von Dimensionen in einer Palo- bzw. Jedox-OLAP-Datenbank wird früher oder später immer auch eine Kennzahlen-Dimension angelegt da ohne eine solche wohl kaum ein sinnvoller Cube erstellt werden kann. Kennzahlen-Dimensionen können sowohl absolute als auch berechnete Werte enthalten. Um die Formeln hinter berechneten Kennzahlen zu erstellen oder zu ändern gibt es im Talend Open Studio for Data Integration die Komponente tPaloRule.

Dieser Artikel ist der 4. Teil einer kleinen Serie, in der Komponenten des Talend Open Studio for Data Integration vorgestellt werden, mit deren Hilfe mit dem OLAP-Server der Palo BI-Suite oder der Jedox BI-Suite kommuniziert werden kann. Auch wenn zumeinst nur von “Palo” die Rede ist, so gelten die Beschreibungen in analoger Weise auf für die (kommerzielle) Jedox BI Suite (weitere Informationen zur Abgrenzung von Jedox und Palo).

tPaloRule – Enterprise Rule anlegen oder überschreiben

Ein Feature von Jedox/Palo ist die Berechnung von Kennzahlen in Echtzeit. Die Berechnungsvorschriften werden „Enterprise Rules“ genannt und können mit Hilfe der Komponente tPaloRule angelegt und verändert werden. Zu beachten dabei ist, dass Enterprise Rules erst angelegt werden können wenn der referenzierte Cube bereits existiert (siehe Teil 3 dieser Serie zum Anlegen von Cubes).

Als einfaches Beispiel wird eine Kennzahlen-Dimension- mehr zum Anlegen von Dimensionen im 2. Teil dieser Serie – angenommen, welche die Elemente „ist“, „plan“ und „diff“ enthält. Während die beiden erstgenannten Kennzahlen später beim Befüllen des Cubes absolut gesetzt werden, soll die Differenz berechnet werden. Die dafür nötige Enterprise Rule in Palo-Syntax lautet

['diff'] = abs(['ist']-['plan'])

und wird in den Einstellungen der Komponenten tPaloRule angegeben. Zusätzlich zu ihrer Definition kann noch ein Kommenar angegeben werden und ob die Enterprise Rule aktiviert sein soll oder nicht. Die „External Id“ als eindeutiger Bezeichner wird dann nötig wenn es darum geht eine bestehende Rule zu aktualisieren (Action „Update“) oder zu löschen. Neben der Angabe er Enterprise Rule sind in den Einstellungen noch die Verbindung zur OLAP-Datenbank, der Datenbankname sowie der Name des Würfels anzugeben:

Enterprise Rule für eine Kennzahl hinzufügen

 tPaloRuleList – Liste aller Enterprise Rules abfragen

Um eine Liste aller bereits verfügbaren Enterprise Rules abzufragen kann die Komponente tPaloRuleList verwendet werden. Da für jede berechnete Kennzahl nur eine Berechnungsvorschrift gelten darf, könnte bei einem Abgleich mit dem Output der tPaloRuleList beispielsweise verhindert werden, dass eine bestehende Enterprise Rule überschrieben wird.

Bei der Neuanlage eines Cubes gibt es natürlich noch keine Rules, aber wenn wir wie für die Komponente tPaloRule gezeigt eine neue Rule hinzugefügt haben, dann könnten wir uns diese – zugegeben sehr kleine – Liste bereits ausgeben lassen. Dabei muss dann lediglich die Datenbankverbindung sowie der Name der Datenbank und des Cubes – Enterprise Rules sind Cube-spezifisch – angegeben werden:

Einfacher Job, um alle Enterprise Rules eines Cubes aufzulisten

Der Output entspricht dann dem folgenden Schema und der Datenstrom lässt sich innerhalb von Talend beliebig weiterverarbeiten:

  • rule_identifier – interne (technische) ID der Enterprise Rule
  • rule_definition – die Berechnungsvorschrift
  • rule_extern_id – der eindeutige Bezeichner (relevant für das Aktualisieren oder Löschen einer Enterprise Rule)
  • rule_comment – Kommentar
  • rule_activated – 1 für „aktiviert“, 0 für „deaktiviert“

Mit dem Verhindern, dass eine bestehende Enterprise Rule überschrieben wird, habe ich bereits einen möglichen Anwendungsfall angegeben. Mehr fällt mir spontan ehrlich gesagt auch nicht ein…

Tags: , , , , ,

Kommentare zu diesem Beitrag

Bisher wurde noch keine Kommentare abgegeben.
Sie können also die oder der Erste sein.

Jetzt einen neuen Kommentar abgeben



(optional, Ihr Name wird entsprechend verlinkt)