Daten mit MDX analysieren und verwalten
MDX (Multidimensional Expressions) ist eine leistungsstarke Sprache zum Bearbeiten und Abfragen von Daten.
Mit MDX können Sie:
-
Daten und Metadaten in Essbase-Cubes abfragen und in Berichte aufnehmen
-
Daten in einen Essbase-Cube einfügen
-
Daten aus einem Essbase-Cube exportieren
Eine MDX-Abfrage ist eine einzelne MDX-Anweisung mit genau einer Ergebnismenge, die für einen einzelnen Cube gilt.
Ein MDX-Bericht ist eine einzelne MDX-Abfrage, die im Cube-Kontext gespeichert wird. Sie können über Smart View und auf der Essbase-Weboberfläche auf MDX-Berichte zugreifen.
Ein MDX-Skript ist eine Datei mit der Erweiterung .mdx, die Sie hochladen und dann über Jobs oder in Smart View ausführen können. In MDX-Skripten dürfen nur MDX Insert- und MDX Export-Anweisungen verwendet werden. Um Rasterdaten zu analysieren, verwenden Sie MDX-Berichte anstelle von MDX-Skripten.
Daten mit MDX-Berichten analysieren
Sie können Abfragen auf der Essbase-Weboberfläche mit MDX-Berichten speichern und anzeigen. Zum Erstellen eines Berichts ist mindestens die Berechtigung "Datenbankmanager" erforderlich.
Das Definieren von Layouts auf dem Register "Ad-hoc-Analyse" ist nicht unbedingt die effizienteste Methode zum Erstellen eines komplexen Berichts. Wenn Sie genau wissen, was Sie abfragen möchten, können Sie mit MDX eine Abfrage zum Auffüllen des Rasters erstellen.
Weitere Informationen zu MDX finden Sie unter MDX und MDX-Abfragen schreiben.
Zugriff auf MDX-Berichte
Wie Sie mit Essbase-MDX-Berichten arbeiten, ist vom Cube-Zugriff abhängig.
Benutzer mit der Anwendungsrolle "Datenbankzugriff" oder darüber können von anderen Benutzern erstellte gespeicherte MDX-Berichte anzeigen. Welche Daten ein Benutzer im Bericht sieht, hängt vom Filterzugriff dieses Benutzers ab.
Benutzer mit Datenbankzugriff können nicht nur gespeicherte Berichte anzeigen, sondern auch Ergebnismengen in verschiedenen Formaten exportieren: HTML, CSV, Excel und JSON.
Datenbankzugriffsbenutzer können zudem die MDX-Abfrage anzeigen, die den Bericht definiert. Dazu klicken sie neben dem Berichtsnamen auf das Menü Aktionen und wählen Ansicht aus.
Wenn Sie mindestens die Rolle "Datenbankmanager" besitzen, können Sie Berichte genauso wie Benutzer mit Datenbankzugriff verwenden. Darüber hinaus können Sie Berichte über das Menü Aktionen bearbeiten und löschen.
Wenn Sie Serviceadministrator sind, können Sie auch die Schaltfläche Ausführen als verwenden, um andere Benutzer zu impersonieren und deren Datenzugriff zu prüfen. So können Sie ganz einfach die Filter testen, die verschiedenen Benutzern zugewiesen sind.
Beispiele für MDX-Berichte
Die MDX-Beispiele in diesem Abschnitt demonstrieren spezielle Analysetypen, die Sie mit MDX-Berichten durchführen können und deren Durchführung in der Ansicht "MDX-Berichte" ist. Speichern Sie MDX-Berichte in der Analyseansicht der Essbase-Weboberfläche auf der Registerkarte "Berichte".
Die folgenden Beispiele wurden für den Cube "Sample Basic" entworfen.
Metadatenbericht
Das folgende Beispiel gibt nur Metadaten zurück (Elementnamen, aber keine Daten):
SELECT
{[Product].Levels(1).Members}
ON ROWS,
{}
ON COLUMNS
Das folgende Raster wird zurückgegeben:

Attributbericht
Das folgende Beispiel verwendet Elemente einer Attribute-Dimension für Spalten:
SELECT
[Product].Children
ON ROWS,
[Ounces].Children
ON COLUMNS
WHERE {Sales}Das folgende Raster wird zurückgegeben:

Gefilterter Bericht
Das folgende Beispiel verwendet einen Slicer (WHERE-Klausel), um die Abfrage auf "Cola" zu begrenzen. Darüber hinaus begrenzt die Filterfunktion die Märkte der Ebene 0 in der Abfrage auf solche mit einem negativen Gewinn.
SELECT
{ Profit }
ON COLUMNS,
Filter( [Market].levels(0).members, Profit < 0)
ON ROWS
WHERE {Cola}
Das folgende Raster wird zurückgegeben:

UDA-Bericht
Das folgende Beispiel zeigt Product-Daten für Market-Dimensionselemente, die das benutzerdefinierte Attribut (UDA) "Major Market" aufweisen. Ein Slicer (WHERE-Klausel) begrenzt die Abfrage auf Sales-Daten.
SELECT
[Product].Children
ON ROWS,
{Intersect(UDA([Market], "Major Market"), [Market].Children)}
ON COLUMNS
WHERE {Sales}
Das folgende Raster wird zurückgegeben:

Daten mit MDX einfügen und exportieren
MDX eignet sich nicht nur für rasterbasierte Essbase-Analysen, sondern ermöglicht es Ihnen auch, Teilmengen von mehrdimensionalen Daten zu kopieren und auf den neuesten Stand zu bringen.
Mit der MDX Insert-Klausel können Sie den Cube anhand eines berechneten (nicht physischen) Elements, das Sie mit MDX definieren, mit Daten aktualisieren.
Mit der MDX Export-Klausel können Sie Abfrageergebnisse als Datenteilmengen speichern und exportieren, die Sie später anzeigen oder importieren können.
MDX Insert- und MDX Export-Anweisungen können als gespeicherte MDX-Skripte ausgeführt werden.
Weitere Informationen zu MDX Insert and Export finden Sie unter MDX Insert Specification und MDX Export Specification.
MDX-Skripte ausführen
Verwenden Sie MDX-Skripte, wenn Sie Insert- oder Export-Datenvorgänge ausführen müssen.
Verwenden Sie MDX-Berichte zur Analyse von Rasterdaten. Siehe Daten mit MDX-Berichten analysieren.
Wählen Sie einen Workflow für die Verwendung von MDX-Skripten aus:
MDX-Skript schreiben, hochladen und ausführen
Mit diesem Workflow können Sie MDX-Skripte in einem Texteditor schreiben und in Essbase hochladen.
-
Schreiben Sie das MDX-Skript in einen Texteditor und speichern Sie es mit der Erweiterung
.mdx. -
Laden Sie das MDX-Skript in der Essbase-Weboberfläche in das Anwendungs- oder Cube-Verzeichnis unter Dateien hoch.
-
Führen Sie das MDX-Skript aus Jobs oder aus Smart View aus, und verwenden Sie Berechnen im Essbase-Menüband.
MDX-Skript im Skripteditor schreiben und ausführen
Mit diesem Workflow können Sie MDX-Skripte in einem Skripteditor auf dem Cube schreiben und über Jobs ausführen.
-
Öffnen Sie auf der Homepage die Anwendung, und öffnen Sie die Datenbank (Cube).
-
Klicken Sie auf Skripte und anschließend auf MDX-Skripte.
-
Klicken Sie auf Erstellen, geben Sie einen Namen für das Skript ein, und klicken Sie auf OK.
-
Schreiben Sie das MDX-Skript. Dabei können ein Elementbaum und eine Funktionsliste helfen.
-
Validieren und speichern Sie das Skript, und schließen Sie dann den Skripteditor.
-
Führen Sie das MDX-Skript aus Jobs (siehe MDX ausführen) oder, wenn Sie Smart View verwenden, mit Berechnen im Essbase-Menüband aus.
MDX-Skripte in Cube Designer erstellen und ausführen
Mit diesem Workflow können Sie MDX-Skripte mit einer Anwendungsarbeitsmappe erstellen und auf der Seite Jobs ausführen.
- Erstellen Sie in einer Anwendungsarbeitsmappe ein MDX-Arbeitsblatt. Siehe Mit MDX-Arbeitsblättern in Cube Designer Arbeiten.
- Geben Sie im Feld Dateiname einen Dateinamen ein.
- Geben Sie im Feld MDX ausführen an, ob MDX zum Zeitpunkt der Cube-Erstellung ausgeführt werden soll. Gültige Einträge sind Ja und Nein.
- Fügen Sie das MDX-Skript unter der Zeile Skript ein.
- Speichern Sie die Anwendungsarbeitsmappe.
- Erstellen Sie den Cube. Siehe Anwendungen und Cubes in Cube Designer erstellt.
- Führen Sie das MDX-Skript aus Jobs aus. Wenn Sie Smart View verwenden, können Sie Berechnen im Essbase-Menüband verwenden.
Richtlinien für MDX-Skripte
Verwenden Sie MDX-Skripte, um Insert- oder Export-Datenvorgänge auszuführen. Verwenden Sie für die Rasteranalyse in der Essbase-Weboberfläche MDX-Berichte anstelle von MDX-Skripten. MDX-Skripte können optional Laufzeitsubstitutionsvariablen enthalten, und Sie können sie in Smart View ausführen.
Um in Smart View verwendet werden zu können, müssen MDX-Skripte mit Laufzeitsubstitutionsvariablen die XML-Syntax im Berechnungsbefehl SET RUNTIMESUBVARS verwenden, einschließlich <RTSV_HINT>.
Damit eine Laufzeitsubstitutionsvariable nur das sichtbare Datensegment in Smart View berechnet, setzen sie den Wert der Laufzeitsubstitutionsvariablen auf POV und den Datentyp auf Element.
Bei der Ausführung über die Essbase-Weboberfläche können MDX-Skripte Substitutionsvariablen, aber keine Laufzeitsubstitutionsvariablen verwenden. Um Laufzeitsubstitutionsvariablen in MDX-Skripten zu verwenden, müssen Sie die Skripte aus Smart View ausführen, mit Berechnen im Essbase-Menüband.
Beispiele für MDX-Skripte
Im Folgenden finden Sie Beispiele für MDX-Einfüge- und -Exportskripte, die Sie im Beispiel-Basic-Cube ausführen können, entweder über Jobs in der Essbase-Weboberfläche oder über den Berechnungsvorgang-Vorgang Smart View.
MDX Insert-Vorgang
Sie können dieses .mdx-Skript speichern und in Jobs oder im Dialogfeld Berechnen in Smart View ausführen.
INSERT "([Measures].[Payroll])" TO "([Measures].[Revised_Payroll])"
INTO [Sample].[Basic]
FROM (
SELECT
{[Measures].[Payroll]} ON COLUMNS,
{Crossjoin
(Crossjoin(Descendants([Year]),
Crossjoin(Descendants([Scenario]),
Descendants([Product]))),
Descendants([Market]))} ON ROWS
FROM [Sample].[Basic]
);Beim obigen Beispiel wird vorausgesetzt, dass Sie bereits die Kennzahl "Revised_Payroll" zu "Sample Basic" hinzugefügt haben.
MDX-Export
Sie können dieses .mdx-Skript speichern und in Jobs oder im Dialogfeld Berechnen in Smart View ausführen.
EXPORT INTO FILE "sample01" OVERWRITE
SELECT
{[Mar],[Apr]}
ON COLUMNS,
Crossjoin({[New York]},
Crossjoin({[Actual],[Budget]},
{[Opening Inventory],[Ending Inventory]}))
ON ROWS
FROM [Sample].[Basic]
WHERE ([100-10])Nachdem Sie das Skript ausgeführt haben, wird die folgende Exportdatei (sample01.txt) im Cube-Verzeichnis des Dateikatalogs gespeichert:
Market,Scenario,Measures,Mar,Apr
New York,Actual,Opening Inventory,2041,2108
New York,Actual,Ending Inventory,2108,2250
New York,Budget,Opening Inventory,1980,2040
New York,Budget,Ending Inventory,2040,2170MDX-Export mit Laufzeitsubstitutionsvariablen
Sie können dieses .mdx-Skript speichern und im Dialogfeld Berechnen in Smart View ausführen.
SET RUNTIMESUBVARS
{
States = "Massachusetts"<RTSV_HINT><svLaunch>
<description>US States</description>
<type>member</type>
<allowMissing>false</allowMissing>
<dimension>Market</dimension>
<choice>multiple</choice>
</svLaunch></RTSV_HINT>;
};
EXPORT INTO FILE "sample002" OVERWRITE
SELECT
{[Mar],[Apr]}
ON COLUMNS,
Crossjoin({&States}, Crossjoin({[Actual],[Budget]},
{[Opening Inventory],[Ending Inventory]}))
ON ROWS
FROM [Sample].[Basic]
WHERE ([100-10])
Nachdem Sie das Skript ausgeführt haben, wird die folgende Exportdatei (sample002.txt) im Cube-Verzeichnis des Dateikatalogs gespeichert:
Market,Scenario,Measures,Mar,Apr
Massachusetts,Actual,Opening Inventory,-54,-348
Massachusetts,Actual,Ending Inventory,-348,-663
Massachusetts,Budget,Opening Inventory,-160,-520
Massachusetts,Budget,Ending Inventory,-520,-910