Les dimensions constituent le fondement de la modélisation dimensionnelle. Dans cette approche, les mesures sont appelées « faits », tandis que le contexte décrivant ces faits est appelé « dimensions ». Une table de dimension contient des informations détaillées sur des attributs spécifiques présents dans une table de faits. Les exemples courants incluent les dimensions de date et de ville. Cette rubrique explique comment créer une table de dimension.
La fonctionnalité de modélisation des données dans DataWorks suit la méthodologie de modélisation dimensionnelle de Kimball. Concevez et créez des tables de dimension, des tables de faits, des tables d'agrégation et des tables d'application, publiez les modèles vers les moteurs de développement, et rétro-modélisez les tables physiques existantes en modèles logiques.
Perspective de modélisation
La modélisation dimensionnelle organise les tables du modèle en trois niveaux : Couche commune, Couche d'application et Non catégorisé. La Couche commune sert à construire des métriques unifiées, des dimensions et des données de faits détaillées réutilisables, et prend en charge la gestion selon la perspective du domaine de données ou de la catégorie métier. La Couche d'application répond aux besoins statistiques spécifiques à l'activité et ne prend en charge que la perspective de la catégorie métier. Après avoir sélectionné un niveau, créez et gérez les tables du modèle dans l'arborescence de répertoires correspondante.
Fonctionnement
Extrayez toutes les dimensions susceptibles d'exister dans chaque domaine de données, puis stockez ces dimensions ainsi que leurs attributs dans des tables de dimension. Par exemple, lors de l'analyse des données commerciales du e-commerce, les dimensions possibles (et leurs attributs) incluent la commande (ID de commande, heure de création de la commande, ID de l'acheteur et ID du vendeur), l'utilisateur (genre et date de naissance) et la marchandise (ID de la marchandise, nom de la marchandise et date de mise en rayon). Vous pouvez créer les tables de dimension suivantes : table de dimension des commandes, table de dimension des utilisateurs et table de dimension des marchandises. Les attributs de chaque dimension servent de champs dans la table de dimension. Déployez ces tables dans un entrepôt de données et effectuez des opérations ETL (Extract, Transform, Load) pour stocker les données de dimension au format défini dans la table. Cela permet au personnel métier d'accéder aux données pour les analyses ultérieures.
Comme illustré dans la figure précédente :
-
Lors de la création d'une table de dimension :
Spécifiez la couche d'entrepôt de données où les données de la table de dimension seront stockées pour l'analyse. Généralement, une table de dimension réside dans la Couche commune, mais elle peut également être placée dans la Couche d'application. Par défaut, la Couche d'application autorise uniquement la création de tables d'application. Si vous devez créer une table de dimension dans la Couche d'application, créez une nouvelle couche d'application et définissez son type de modèle sur Dimension ou Dimension Table, Dimension. Pour plus d'informations, consultez la section Couches personnalisées.
Cela vous aide à gérer la table de dimension depuis la perspective Domaine de données ou Magasin de données.
Une fois la table de dimension créée, ajoutez-y des dimensions en tant qu'attributs et configurez ses associations et ses partitions. Utilisez une norme de colonne unifiée ou une table de référence pour les paramètres des champs afin de garantir la cohérence des attributs dans l'ensemble de votre Domaine de données.
-
Après configuration de la table de dimension :
Matérialisez-la vers un moteur de stockage pour l'analyse des données dans un moteur de calcul.
Lors de la conception des Métriques dérivées et des Tables d'agrégation, référencez et utilisez directement les champs de la table de dimension.
Prérequis
La Couche commune traite et intègre les données partagées pour construire des tables de dimension unifiées à l'échelle de l'entreprise. La Couche d'application utilise ces données intégrées pour créer des tables de dimension spécifiques à l'activité, qui prennent en charge le développement et la transformation personnalisés des données. Créez des tables de dimension dans l'une ou l'autre couche selon vos besoins. Le tableau suivant décrit les prérequis pour chaque couche.
Couche d'entrepôt de données | Prérequis | Références |
Common Layer | Créez une couche d'entrepôt de données dans la Couche commune pour contenir la table de dimension. | |
Créez un Domaine de données pour définir la perspective métier de la table de dimension. | ||
Application Layer | Créez une couche d'entrepôt de données dans la Couche d'application pour contenir la table de dimension. | |
Créez un Magasin de données pour catégoriser les données desservies par la table de dimension. |
Créer une table de dimension
-
Connectez-vous à la console DataWorks. Dans la région cible, cliquez sur dans le volet de navigation de gauche. Sélectionnez un espace de travail dans la liste déroulante et cliquez sur Go to Data Modeling.
Sur la page Data Modeling, cliquez sur Dimensional Modeling dans la barre de menu supérieure pour accéder à la page Dimensional Modeling.
-
Créez la table de dimension.
Sur la page Dimensional Modeling, placez le curseur sur l'icône
et choisissez .-
Configurez les propriétés de base de la table de dimension.
Spécifiez des propriétés telles que la couche d'entrepôt de données, le Domaine de données, la Catégorie métier et le Magasin de données pour la table de dimension. Une fois la table créée, vous la trouverez répertoriée sous ces entités. Cette rubrique utilise la création d'une table de dimension de la Couche commune comme exemple. Les paramètres clés sont décrits ci-dessous.
Paramètre
Description
Data Layer
Sélectionnez la couche d'entrepôt de données pour la table de dimension. Différentes couches ont des objectifs distincts :
Common Layer : Stocke les données partagées traitées et intégrées pour construire des tables de dimension unifiées au niveau de l'entreprise. Si vous sélectionnez cette couche, spécifiez également un Domaine de données. Pour plus d'informations sur la création d'un Domaine de données, consultez la section Domaine de données.
Application Layer : Construit des tables de dimension spécifiques à l'activité en fonction des exigences applicatives. Si vous sélectionnez cette couche, spécifiez également un Magasin de données. Pour plus d'informations sur la création d'un Magasin de données, consultez la section Magasin de données.
RemarquePar défaut, la Couche d'application autorise uniquement la création de tables d'application. Pour créer une table de dimension dans la Couche d'application, créez une nouvelle couche d'application et définissez son type de modèle sur Dimension ou Dimension Table, Dimension. Pour plus d'informations, consultez la section Couches personnalisées.
Business Category
Si la couche d'entrepôt de données est définie sur Couche commune, sélectionnez la Catégorie métier pour la table de dimension.
Data Domain
Si vous sélectionnez Couche commune pour la couche d'entrepôt de données, choisissez le Domaine de données pour la table de dimension.
Category/Mart/Subject
Si vous sélectionnez Couche d'application pour la couche d'entrepôt de données, choisissez un magasin ou un thème sous Catégorie métier.
Storage Policy
La politique qui définit la manière dont la table de dimension stocke les données, y compris la période de rétention et le volume de données.
Dimension
La dimension à associer à la table de dimension. Cela définit la perspective pour l'analyse des données.
RemarquePour créer une dimension, consultez la section Créer un modèle conceptuel : Dimension.
Naming Rule
Un vérificateur qui applique les conventions de nommage pour la table de dimension. Si vous sélectionnez un vérificateur, le Table Name doit être conforme à ses règles.
RemarquePour configurer un vérificateur, consultez la section Configurer les vérificateurs de couche d'entrepôt de données.
Table Name
Le nom de la table de dimension. Si vous avez configuré une règle de nommage, le nom doit respecter cette règle.
Table Display Name
Le nom d'affichage de la table de dimension.
Lifecycle
La période de rétention de la table de dimension, en jours. La valeur maximale est de 36 000.
Owner
Le propriétaire de la table de dimension. Par défaut, il s'agit de l'utilisateur qui crée la table.
Description
Une description de la table de dimension.
-
Une fois la configuration terminée, cliquez sur Save.
Trouvez et gérez la table de dimension sous son Domaine de données ou sa Catégorie métier correspondante dans l'arborescence de navigation de gauche.
Ajouter des champs de table
Une fois le modèle logique créé, ajoutez des champs à la table.
Ajoutez des champs en mode Shortcut Mode ou en mode Script Mode. En mode Shortcut Mode, utilisez la fonctionnalité Import from Table/View pour importer des champs à partir de tables physiques ou de vues existantes dans un moteur de calcul. Recherchez et sélectionnez une table ou une vue dans la liste déroulante Find Existing Table/View.
Quick mode
Actuellement, vous ne pouvez importer qu'à partir de tables ou de vues dans les moteurs de calcul MaxCompute, Hologres et EMR Hive.
En mode Shortcut Mode, cliquez sur Expand à côté de Import from Table/View.
-
Dans la zone de saisie Find Existing Table/View, saisissez un nom pour rechercher la table ou la vue. Après avoir sélectionné une table, choisissez d'importer tous ses champs ou seulement certains d'entre eux.
RemarqueLa correspondance floue est prise en charge. Saisissez un mot-clé pour rechercher toutes les tables ou vues contenant ce mot-clé dans leur nom.
Vous ne pouvez rechercher des tables que dans l'environnement de production, et non dans l'environnement de développement.
L'icône
indique que tous les champs seront importés.L'icône
indique que seuls les champs sélectionnés seront importés.
Si vous choisissez d'importer uniquement certains champs, une boîte de dialogue s'affiche avec tous les champs de la table sélectionnée. Sélectionnez les champs que vous souhaitez ajouter au modèle, puis cliquez sur Import.
Si un champ importé a un Field Display Name vide, vous êtes invité à le remplir avec la description du champ.
Code mode
Vous pouvez également utiliser des instructions FML pour créer des champs, des associations et des partitions. Pour plus d'informations, consultez la section Modélisation en mode Code.
Le mode Code Mode vous permet de créer une table de dimension en écrivant du code. Après avoir renseigné les informations de base et enregistré la table, cliquez sur Script Mode. Une boîte de dialogue apparaît avec le code de modélisation généré automatiquement en fonction de votre configuration. Modifiez le modèle dans le code, puis cliquez sur OK.
-- After the model is published, the table name cannot be modified, regardless of its publishing status (pre-approval, in progress, or successful).
CREATE DIM TABLE dim_ec_pub_department_df ALIAS 'Department dimension table'
(
id ALIAS 'id' STRING COMMENT 'id',
gmt_create ALIAS 'Creation time' TIMESTAMP COMMENT 'Creation time',
gmt_modified ALIAS 'Modification time' TIMESTAMP COMMENT 'Modification time',
name ALIAS 'Department name' STRING COMMENT 'Department name',
parent_id ALIAS 'Parent department ID' STRING COMMENT 'Parent department ID',
`level` ALIAS 'Level' BIGINT COMMENT 'The department level. 0: Group, 1: Subsidiary, 2: Business Unit, 3: Department.',
ds ALIAS 'Business date, yyyymmdd' STRING COMMENT 'Business date, yyyymmdd'
)
COMMENT 'Department dimension table'
WITH('life_cycle'='1000');
Configurer les informations des champs
Après avoir ajouté des champs au modèle, configurez le Associated Field, le Redundant Field et la Associated Granularity/Metric pour chaque champ en fonction de vos besoins métier.
-
Définissez les propriétés des champs.
Par défaut, la liste des propriétés des champs affiche les attributs de base tels que Field Name, Type, Field Display Name, Description, Primary Key, Not Null, Measurement Unit et Actions. Dans le coin supérieur droit de la liste des champs, cliquez sur Field Display Settings pour sélectionner les propriétés à afficher et les modifier.
-
Définissez la Field Standard to Associate et la Lookup Table to Associate pour les champs. Cela vous permet d'associer les champs ajoutés à une norme de colonne et à une table de référence, ce qui standardise leur contenu et leurs plages de valeurs.
Alternativement, après avoir configuré les champs, cliquez sur Associer dans le coin supérieur droit de la liste des champs pour définir uniformément la Atomic Metric, la Lookup Table et la Field Standard associées.
Field Standard to Associate : Régit les champs ayant la même signification mais des noms différents. Elle définit des propriétés telles que la plage de valeurs et l'unité de mesure.
Lookup Table to Associate : Définit le contenu valide et la plage de valeurs pour une norme de colonne spécifique.
-
Définissez le Redundant Field pour les champs.
Dans un schéma en étoile traditionnel, les dimensions sont stockées dans des tables de dimension et accessibles via des clés étrangères dans la table de faits pour réduire le stockage. En revanche, la modélisation dimensionnelle intelligente de DataWorks encourage l'ajout de champs fréquemment utilisés, tels qu'un ID utilisateur ou des dimensions analytiques courantes, en tant que champs redondants. Cette pratique améliore les performances des requêtes en aval, simplifie la récupération des données et réduit le nombre de jointures de tables.
Exemple 1 : Une « table de détails de création de commande » peut inclure la dimension « adresse de livraison » d'une « table de dimension d'adresse de livraison » en tant que champ redondant, contenant des attributs tels que l'adresse du destinataire et le numéro de téléphone.
Exemple 2 : Une « table de dimension produit » peut inclure des attributs tels que « informations d'approvisionnement » et « informations de marque » d'une « table d'informations produit » en tant que champs redondants.
Dans la colonne Actions d'un champ spécifique, cliquez sur Redundant Field pour configurer ses champs associés.
Dans la boîte de dialogue de configuration Redundant field, sélectionnez le Associated table/view name, y compris le type de source de données et le nom de la table spécifique. La liste des champs ci-dessous affiche les champs disponibles pour l'association, avec des propriétés telles que le nom, le type, la clé primaire et la partition. Sélectionnez le associated field et cliquez sur Save.
Une fois la configuration terminée, cliquez sur Save dans le coin supérieur gauche.
Étapes suivantes
Après avoir créé la table de dimension, configurez également la gestion des champs, les associations et les paramètres de partition. Publiez également la table dans l'environnement cible. Pour plus d'informations, consultez les rubriques suivantes :