Analyse et gestion de données avec MDX
MDX (expressions multidimensionnelles) est un langage performant d'interrogation et de manipulation de données.
Avec MDX, vous pouvez effectuer les opérations suivantes :
-
Requête et rapport au niveau des données et des métadonnées dans les cubes Essbase
-
Insertion de données dans un cube Essbase
-
Export de données à partir d'un cube Essbase
Une requête MDX est une instruction MDX unique, générant un seul ensemble de résultats, qui s'applique à un cube unique.
Un rapport MDX est une requête MDX unique, enregistrée dans le contexte du cube. Vous pouvez accéder aux rapports MDX à partir de Smart View et de l'interface Web Essbase.
Un script MDX est un fichier avec une extension .mdx que vous pouvez télécharger, puis exécuter à partir de Jobs ou dans Smart View. Seules des instructions d'insertion et d'export MDX doivent être utilisées dans les scripts MDX. Pour analyser des données de grille, utilisez plutôt des rapports MDX que des scripts MDX.
Analyse de données avec des rapports MDX
Vous pouvez stocker et rendre des requêtes dans l'interface Web Essbase à l'aide de rapports MDX. L'autorisation minimale requise pour créer un rapport est Gestionnaire de base de données.
Définir des dispositions dans l'onglet Analyse ad hoc n'est pas toujours la méthode la plus efficace pour créer des rapports sophistiqués. Si vous savez exactement ce que vous voulez interroger, vous pouvez utiliser MDX pour créer une requête et remplir la grille.
Pour en savoir plus sur MDX, reportez-vous à MDX et Ecriture de requêtes MDX.
Accès aux rapports MDX
La manière d'utiliser les rapports MDX Essbase dépend de votre accès aux cubes.
Les utilisateurs disposant du rôle de niveau application Accès à la base de données ou d'un rôle supérieur peuvent rendre les rapports MDX enregistrés créés par d'autres personnes. Les données visibles pour un utilisateur dans le rapport dépendent du filtre d'accès de cet utilisateur.
Les utilisateurs dotés du rôle Accès à la base de données peuvent non seulement rendre des rapports enregistrés, mais aussi exporter des ensembles de résultats sous différents formats : HTML, CSV, Excel et JSON.
Les utilisateurs avec le rôle Accès à la base de données peuvent également visualiser la requête MDX qui définit le rapport en cliquant sur le menu Actions en regard du nom du rapport et en sélectionnant Afficher.
Si vous disposez du rôle Gestionnaire de base de données ou d'un rôle supérieur, vous pouvez utiliser les rapports de la même façon que les utilisateurs dotés du rôle Accès à la base de données. De plus, vous pouvez modifier et supprimer des rapports à l'aide du menu Actions.
Si vous êtes un administrateur de service, vous pouvez en outre utiliser le bouton Exécuter en tant que pour emprunter l'identité d'autres utilisateurs et vérifier leur accès aux données. Cela peut se révéler utile pour tester les filtres affectés aux différents utilisateurs.
Exemples de rapports MDX
Les exemples MDX dans cette section illustrent des types d'analyse particuliers que vous pouvez effectuer à l'aide de rapports MDX. Enregistrez les rapports MDX dans la vue Analyser de l'interface Web Essbase, dans l'onglet Rapports.
Les exemples suivants sont conçus pour fonctionner avec le cube Sample Basic.
Rapport sur des métadonnées
L'exemple suivant renvoie seulement des métadonnées (des noms de membre, mais pas de données) :
SELECT
{[Product].Levels(1).Members}
ON ROWS,
{}
ON COLUMNS
Renvoi de la grille :

Rapport sur des attributs
L'exemple suivant utilise, pour les colonnes, les membres d'une dimension d'attribut :
SELECT
[Product].Children
ON ROWS,
[Ounces].Children
ON COLUMNS
WHERE {Sales}Renvoi de la grille :

Rapport filtré
L'exemple suivant utilise une tranche (clause WHERE) pour limiter la requête à Cola. En outre, la fonction Filter limite les marchés de niveau 0 de la requête à ceux dont le profit est négatif.
SELECT
{ Profit }
ON COLUMNS,
Filter( [Market].levels(0).members, Profit < 0)
ON ROWS
WHERE {Cola}
Renvoi de la grille :

Etat ADU
L'exemple suivant montre les données Product de membres de dimension Market dont l'attribut défini par l'utilisateur (UDA) est "Major Market". Une tranche (clause WHERE) limite la requête de façon à n'inclure que des données Sales.
SELECT
[Product].Children
ON ROWS,
{Intersect(UDA([Market], "Major Market"), [Market].Children)}
ON COLUMNS
WHERE {Sales}
Renvoi de la grille :

Insertion et export de données avec MDX
Outre son utilité en matière d'analyse basée sur une grille Essbase, MDX vous permet également de copier et d'actualiser des sous-ensembles de données multidimensionnelles.
La clause d'insertion MDX vous permet de mettre à jour le cube avec des données, via un membre (non physique) calculé que vous définissez à l'aide de MDX.
La clause d'export MDX vous permet d'enregistrer et d'exporter les résultats de requête sous la forme d'ensembles de données que vous pouvez afficher ou importer ultérieurement.
Vous pouvez exécuter les instructions d'insertion et d'export MDX en tant que scripts MDX enregistrés.
Pour en savoir plus sur l'insertion et l'exportation MDX, voir Spécification d'insertion MDX et Spécification d'exportation MDX.
Exécution de scripts MDX
Utilisez des scripts MDX lorsque vous devez exécuter des opérations d'insertion ou d'export de données.
Pour analyser des données de grille, utilisez des rapports MDX. Reportez-vous à Analyse de données avec des rapports MDX.
Pour utiliser les scripts MDX, sélectionnez un workflow :
Ecriture, téléchargement et exécution d'un script MDX
Utilisez ce workflow pour écrire des scripts MDX dans un éditeur de texte et les télécharger vers Essbase.
-
Ecrivez le script MDX dans un éditeur de texte et enregistrez-le avec l'extension
.mdx. -
Téléchargez le script MDX dans le répertoire d'application ou de cube sous Fichiers dans l'interface Web Essbase.
-
Exécutez le script MDX à partir de Jobs ou de Smart View, à l'aide de l'option Calculer du ruban Essbase.
Ecriture d'un script MDX dans l'éditeur de scripts et exécution
Utilisez ce workflow pour écrire des scripts MDX dans un éditeur de scripts sur le cube et les exécuter à partir de Jobs.
-
Sur la page d'accueil, ouvrez l'application et la base de données (cube).
-
Cliquez sur Scripts, puis sur Scripts MDX.
-
Cliquez sur Créer, entrez le nom du script et cliquez sur OK.
-
Ecrivez le script MDX. Vous pouvez vous aider d'un arbre de membres et d'une liste de fonctions.
-
Validez et enregistrez le script, puis fermez l'éditeur de scripts.
-
Exécutez le script MDX à partir de Jobs (reportez-vous à Exécuter MDX). Sinon, avec Smart View, utilisez l'option Calculer dans le ruban Essbase.
Création d'un script MDX dans le concepteur de cubes et exécution
Utilisez ce workflow pour créer des scripts MDX à l'aide d'un classeur d'application et les exécuter à partir de Jobs.
- Dans un classeur d'application, créez une feuille de calcul MDX. Reportez-vous à la section Utilisation des feuilles de travail MDX dans le concepteur de cubes.
- Ajoutez un nom de fichier dans le champ Nom de fichier.
- Dans le champ Exécuter MDX, indiquez s'il faut exécuter le MDX lors de la création du cube. Les entrées valides sont Oui et Non.
- Ajoutez le script MDX en dessous de la ligne Script.
- Enregistrez le classeur d'application.
- Construisez le cube. Reportez-vous à Création d'une application et d'un cube dans le concepteur de cubes.
- Exécutez le script MDX à partir de Jobs ou, si vous utilisez Smart View, utilisez l'option Calculer dans le ruban Essbase.
Instructions pour les scripts MDX
Utilisez des scripts MDX pour effectuer des insertions ou des exports de données. Pour l'analyse de grille dans l'interface Web Essbase, utilisez des rapports MDX au lieu de scripts MDX. Les scripts MDX peuvent éventuellement inclure des variables de substitution d'exécution et vous pouvez les exécuter à partir de Smart View.
Pour pouvoir être utilisés dans Smart View, les scripts MDX avec les variables d'exécution de substitution doivent utiliser la syntaxe XML dans la commande du calcul SET RUNTIMESUBVARS, y compris <RTSV_HINT>.
Pour définir une variable d'exécution de substitution qui calcule uniquement la tranche de données visible dans Smart View, définissez la valeur de la variable d'exécution de substitution sur PDV et définissez le type de données sur le membre.
Lorsque vous exécutez l'interface Web Essbase, les scripts MDX peuvent utiliser des variables de substitution, mais pas des variables de substitution d'exécution. Pour utiliser les variables de substitution d'exécution dans les scripts MDX, vous devez exécuter les scripts à partir de Smart View, à l'aide de l'option Calculer dans le ruban Essbase.
Exemples de scripts MDX
Vous trouverez ci-dessous des exemples de scripts d'insertion et d'exportation MDX que vous pouvez exécuter sur l'exemple de cube Basic, soit à partir des travaux de l'interface Web Essbase, soit à partir de l'opération Calculer Smart View.
Insertion MDX
Vous pouvez enregistrer ce script .mdx et l'exécuter à partir de Jobs ou à partir de la fenêtre Calculer dans Smart View.
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]
);L'exemple ci-dessus suppose que vous avez précédemment ajouté une mesure Revised_Payroll à Sample Basic.
Export MDX
Vous pouvez enregistrer ce script .mdx et l'exécuter à partir de Jobs ou à partir de la fenêtre Calculer dans Smart View.
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])Après avoir exécuté le script, le fichier d'export suivant sample01.txt est enregistré dans le répertoire de cube du catalogue des fichiers :
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,2170Export MDX à l'aide d'une variable de substitution d'exécution
Vous pouvez enregistrer ce script .mdx et l'exécuter à partir de la fenêtre Calculer dans Smart View.
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])
Après avoir exécuté le script, le fichier d'export suivant sample002.txt est enregistré dans le répertoire de cube du catalogue des fichiers :
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