Scénario : Tables en jointure croisée - 6.1

Composants Talend Open Studio Guide de référence

EnrichVersion
6.1
EnrichProdName
Talend Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for Data Quality
Talend Open Studio for ESB
Talend Open Studio for MDM
task
Création et développement
Gouvernance de données
Qualité et préparation de données
EnrichPlatform
Studio Talend

Le présent Job permet d'extraire des groupes de données multidimensionnels à partir de tables de bases de données relationnelles stockées dans une base MySQL. Les données sont récupérées à l'aide d'une expression multidimensionnelle (requête MDX). Il est clair que vous devez connaître la structure de vos données, ou du moins disposer d'une description de la structure (catalogue) comme référence du groupe de données à récupérer dans ces différentes dimensions.

Configurer le Job

  1. A partir de la Palette, cliquez-déposez un composant tMondrianInput (famille Business Intelligence) ainsi qu'un composant de sortie tLogRow (famille Logs & Errors).

  2. Reliez le tMondrianInput au composant de sortie à l'aide d'un lien de type Row Main.

Configurer la connexion à la base de données

  • Sélectionnez le composant tMondrianInput puis cliquez sur la vue Component.

  1. Dans le champ DB Type, sélectionnez la base de données relationnelle à utiliser avec Mondrian.

  2. Sélectionnez l'entrée du Repository correspondante dans le champ Property type, dans le cas où vous stockez les détails de connexion à vos bases de données de manière centralisée. Dans cet exemple, les propriétés sont en mode Built-in.

  3. Remplissez les détails de connexion à votre base de données : Host, Port, Database, User Name et Password.

  4. Dans le champ Schema, sélectionnez le schéma correspondant à partir du Repository dans le cas où il est stocké de manière centralisée. Dans cet exemple, le schéma doit reste à définir (mode Built-in).

Configurer la requête sur la base de données

  1. La base de données relationnelle que l'on veut interroger contient cinq colonnes : media, drink, unit_sales, store_cost et store_sales.

  2. La requête doit permettre de récupérer le contenu de unit_sales, store_cost et de store_sales pour les différentes valeur de media / drink en utilisant une requête MDX comme dans l'exemple ci-dessous :

  1. A partir de l'onglet Basic settings du composant tMondrianInput, renseignez le chemin d'accès au catalogue de l'entrepôt de données dans le champ Catalog. Ce catalogue décrit la structure de l'entrepôt.

  2. Entrez ensuite la requête MDX de la manière suivante :

    "select
       {[Measures].[Unit Sales], [Measures].[Store Cost], [Measures].[Store
    Sales]} on columns,
       CrossJoin(
         { [Promotion Media].[All Media].[Radio],
           [Promotion Media].[All Media].[TV],
           [Promotion Media].[All Media].[Sunday Paper],
           [Promotion Media].[All Media].[Street Handout] },
         [Product].[All Products].[Drink].children) on rows
     from Sales
     where ([Time].[1997])"

  3. Sélectionnez enfin le type d'encodage à partir de la liste du champ Encoding Type.

Exécuter le Job

  1. Sélectionnez le composant tLogRow puis cochez l'option Print header pour afficher le nom des colonnes sur la console.

  2. Enregistrez le Job puis appuyez sur F6 pour l'exécuter.

La console affiche le résultat de unit_sales, store_cost et store_sales pour chaque type de Drink (Beverages, Dairy, Alcoholic beverages) croisé avec chaque type de media (TV, Sunday Paper, Street handout) comme illustré ci-dessus.