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.

So erstellen Sie einen MDX-Bericht:
  1. Melden Sie Sich bei der Essbase-Weboberfläche als Datenbankmanager oder mit einem höheren Rollenwert an.
  2. Navigieren Sie zu Daten analysieren: Navigieren Sie auf die Homepage zur Anwendung, und wählen Sie das Menü "Aktionen" Abbildung des Menüsymbols "Aktionen" auf der Seite "Anwendungen" neben dem Anwendungsnamen. aus. Wählen Sie Datenbanken > Database Name > Daten analysieren.
  3. Wählen Sie in der Ansicht "Analysieren" das Register Berichte aus, und klicken Sie auf Erstellen.
  4. Geben Sie einen Namen und optional eine Beschreibung für den Bericht ein.

    Hinweis:

    Wenn Sie Essbase in autonomer KI-Datenbank verwenden, nehmen Sie das Zeichen (%) nicht in Berichtsnamen auf. Das Zeichen (%) wird in URLs nicht unterstützt. Wenn ein Berichtsname % enthält, kann ein Fehler auftreten, wenn Sie in der Ansicht Daten analysieren zwischen Berichten wechseln.
  5. Geben Sie im Feld "Abfrage" eine MDX-Abfrage für den aktuellen Cube ein. Beispiel:
    SELECT
      {([West].children)}
    ON COLUMNS,
      {([Diet].children)}
    ON ROWS
    

    Da der Kontext von "Daten analysieren" der aktive Cube ist, wird empfohlen, die optionale Cube-Spezifikation (die FROM-Klausel) in MDX-Berichten wegzulassen. Das Auslassen der FROM-Klausel bietet Ihnen mehr Flexibilität: Wenn der Cube kopiert oder umbenannt wird, funktioniert der Bericht weiterhin im neuen Cube.

    Substitutionsvariablen werden in MDX-Berichten unterstützt, Laufzeitsubstitutionsvariablen aber nicht. Um Laufzeitsubstitutionsvariablen zu verwenden, speichern Sie die MDX-Abfrage als Skript, und führen Sie dieses aus Smart View mit Berechnen im Essbase-Menüband aus.

  6. Klicken Sie auf Validieren, um die MDX-Syntax zu überprüfen, und klicken Sie dann auf Speichern.
  7. Wählen Sie im Bereich "Berichte" auf der linken Seite den gespeicherten Bericht aus, um ein Raster anzuzeigen.

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:

Die Berichtsausgabe zeigt die Product-Elemente 100, 200, 300, 400 und Diet

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:

Die Berichtsausgabe zeigt in Zeilen die Product-Elemente 100, 200, 300, 400 und Diet. In Spalten werden Attributelemente angezeigt: Ounces_32, Ounces_20, Ounces_16 und Ounces_12

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:

Die Berichtsausgabe zeigt in Zeilen die Market-Elemente Oregon, Utah, Nevada, Oklahoma, Louisiana, Ohio, Wisconsin, Missouri und Iowa. In Spalten wird der Gewinn angezeigt. Die Datenwerte sind alle negativ.

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:

Die Berichtsausgabe zeigt in Zeilen die Product-Elemente 100, 200, 300, 400 und Diet. In Spalten werden die wichtigen Märkte "East" und "Central" angezeigt.

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.

  1. Schreiben Sie das MDX-Skript in einen Texteditor und speichern Sie es mit der Erweiterung .mdx.

  2. Laden Sie das MDX-Skript in der Essbase-Weboberfläche in das Anwendungs- oder Cube-Verzeichnis unter Dateien hoch.

  3. 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.

  1. Öffnen Sie auf der Homepage die Anwendung, und öffnen Sie die Datenbank (Cube).

  2. Klicken Sie auf Skripte und anschließend auf MDX-Skripte.

  3. Klicken Sie auf Erstellen, geben Sie einen Namen für das Skript ein, und klicken Sie auf OK.

  4. Schreiben Sie das MDX-Skript. Dabei können ein Elementbaum und eine Funktionsliste helfen.

  5. Validieren und speichern Sie das Skript, und schließen Sie dann den Skripteditor.

  6. 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.

  1. Erstellen Sie in einer Anwendungsarbeitsmappe ein MDX-Arbeitsblatt. Siehe Mit MDX-Arbeitsblättern in Cube Designer Arbeiten.
  2. Geben Sie im Feld Dateiname einen Dateinamen ein.
  3. 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.
  4. Fügen Sie das MDX-Skript unter der Zeile Skript ein.
  5. Speichern Sie die Anwendungsarbeitsmappe.
  6. Erstellen Sie den Cube. Siehe Anwendungen und Cubes in Cube Designer erstellt.
  7. 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.

Substitutionsvariablen verwenden

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,2170

MDX-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