Pentaho Adhoc-Reporting: Metadaten
6. January 2008Ich habe mir das Adhoc-Reporting angesehen und will jetzt sehen, wie das im Hintergrund organisiert ist. Wie wird auf Daten zugegriffen, wo sind die Zusammenhänge zwischen Tabellen definiert, wo kommt die Formatierung der Felder her? Einen ersten Einblick kann man sich verschaffen, indem man einen Blick auf die bestehenden Metadaten der Demo-Daten wirft. Die Datei, die alle diese Daten enthält, ist die XML-Datei C:\pentaho\pentaho-demo\pentaho-solutions\samples\metadata.xmi. Da es eine XML-Datei ist, kann man sie sich natürlich einfach mit einem Texteditor durchlesen und könnte sie auch mit diesem bearbeiten. Komfortabler ist es aber mit dem Pentaho Metadata-Editor. Den habe ich ja schon herunter geladen und entpackt. Also gehe ich in das Verzeichnis C:\pentaho\pentaho-metadata und starte ihn, indem ich die Datei pentaho doppelklicke.
Für den ersten schnellen Blick auf die Metadaten des Beispiels gehe ich auf „File => Import from XMI File“ und wähle dort die eben erwähnte Datei aus. Ich werde nach einem Namen gefragt. „Samples“ scheint mir passend. Ich empfehle, einfach mal 15 Minuten lang wild rum zu klicken (dabei auch die rechte Maustaste benutzen) und alles auf sich wirken zu lassen. Danach ist sicher Vieles schon klar.
Tabellen einlesen
Ich versuche es jetzt mal von Grund auf nach zu vollziehen. Dazu gehe ich auf „File => New… => Domain File…“ Jetzt ist alles wieder leer. Als erstes benötigt man eine Datenbank-Verbindung. Dazu macht man einen Rechts-Klick auf „Connections“ und wählt „New Connection…“ Hier kann ich mich jetzt mit beliebigen Datenbanken verbinden. Ich verbinde mich einfach mal mit den mitgelieferten Beispiel-Daten. Ich gebe also als „Connection Name“ „SampleData“ ein, wähle als „Connection Type“ „Hypersonic“ aus, wähle als „Method of Access“ „JNDI“ und schreibe „SampleData“ in das Feld „Database Name“. Ein Klick auf „Test“ sagt mir, dass alles ok ist. Warum ist alles ok? Das sind doch kaum genug Informationen, um sich mit einer Datenbank zu verbinden? Richtig. Wenn man „JNDI“ wählt erwartet die Software die eigentliche Spezifikation der Verbindungsdaten in der Konfigurationsdatei C:\pentaho\pentaho-metadata-*\simple-jndi\jdbc.properties. Ich habe also eigentlich eine JDBC-Verbindung aufgebaut, die in den Metadaten aber über einen Namen referenziert wird. Das hat Vorteile, wenn man die Metadaten später mal auf mehrere Rechner verteilen will, zum Beispiel auf ein Produktiv- und ein Test-System.
Wenn man dann auf „Ok“ klickt öffnet sich ein Popup-Fenster, welches die vorhandenen Datenbank-Tabellen anzeigt. Hier kann man alle Tabellen auswählen, die man in das Business-Modell integrieren möchte. Wenn man seine Auswahl getroffen hat, liest der Metadata-Editor die dazugehörigen Spaltennamen ein.
Internationalisierung
Die Metadaten können mehrsprachig angelegt werden. Ich als Deutscher möchte die Endnutzer meist in Deutsch und Englisch auf ihre Daten zugreifen lassen. Standardmäßig ist nur die Lokale für Englisch (US) angelegt. Um Deutsch hinzu zu fügen, klicke ich oben auf das Icon mit der kleinen Weltkugel. Als neue Lokale lege ich „de_DE“ mit dem Namen „Deutsch“ an.
Spaltennamen und Beschreibungen
Zu jeder Spalte kann ein Name und eine Beschreibung in allen angelegten Lokalen hinterlegt werden. Dazu klicke ich mit der rechten Maustaste auf die Tabelle und wähle „Edit…“ aus dem Kontextmenü. Im folgenden Popup-Fenster kann ich auf die Spaltenbezeichner links klicken und dann rechts die gewünschten Werte eingeben.
