Une table de faits stocke de grands volumes de données factuelles ou des valeurs détaillées reflétant les activités métier. Il s'agit d'une table générée en agrégeant des données selon des dimensions spécifiques. Par exemple, pour analyser les ventes de produits, créez une table de faits des ventes qui stocke les dimensions produit (en tant que clés étrangères), les dimensions temporelles (en tant que clés étrangères) et le total des ventes. Cette rubrique explique comment créer une table de faits.
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 dimensions, des tables de faits, des tables d'agrégation et des tables applicatives, publiez les modèles vers les moteurs de développement et inversez la modélisation des 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 applicative et Non catégorisé. La couche commune permet de construire des métriques, des dimensions et des données de faits détaillées réutilisables et unifiées, tout en prenant en charge la gestion depuis une perspective de domaine de données ou de catégorie métier. La couche applicative répond aux besoins statistiques spécifiques à l'activité et prend uniquement en charge la perspective de 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.
Prérequis
Vous avez créé des couches de données. Les couches de données permettent d'organiser les tables ayant différentes fonctions au sein de couches unifiées afin de simplifier leur découverte et leur utilisation. Une table de faits est généralement stockée dans la couche DWD. Vous pouvez également la stocker dans d'autres couches de données en fonction de vos besoins métier. Pour plus d'informations, consultez Définir les couches d'entrepôt de données.
Vous avez créé un processus métier. La création d'un processus métier permet de déterminer les données d'activité spécifique que la table de faits doit stocker. Pour plus d'informations, consultez Processus métier.
Présentation de la fonctionnalité
Triez et analysez les données générées lors de chaque processus métier, puis stockez-les dans des tables de faits sous forme de champs. Par exemple, créez une table de faits pour le processus de passation de commande et enregistrez les informations suivantes en tant que champs : ID de commande, date de création de la commande, ID du produit, quantité de produits et montant des ventes. Déployez les tables de faits dans un entrepôt de données et effectuez des opérations ETL pour résumer et stocker les données au format défini dans la table de faits. Cela permet au personnel métier d'accéder aux données pour des analyses ultérieures.
Comme illustré dans la figure précédente :
-
Lors de la création d'une table de faits :
Spécifiez la couche de données dans l'entrepôt de données où les données de la table de faits sont stockées pour la modélisation et l'analyse dimensionnelles. Généralement, une table de faits est stockée dans la couche DWD.
Associez la table de faits à la catégorie métier et au processus métier qu'elle décrit. Il est ainsi plus facile de trouver toutes les tables de faits liées à une catégorie ou un processus spécifique.
Après avoir créé la table de faits, ajoutez des champs, configurez les associations et les partitions, et appliquez des normes de champ unifiées afin de garantir la cohérence des données sur l'ensemble du domaine de données.
Une fois la table de faits configurée, publiez-la et matérialisez-la sur un moteur de calcul. Utilisez ensuite la table matérialisée pour l'analyse des données dans le moteur de calcul.
Créer une table de faits
-
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.
Dans la barre de navigation supérieure de la page Data Modeling, cliquez sur Dimensional Modeling pour accéder à la page Dimensional Modeling.
-
Créez une table de faits.
Sur la page Dimensional Modeling, placez le curseur sur l'icône
et choisissez .-
Configurez les informations de base de la table de faits.
Paramètre
Description
Data Layer
Sélectionnez une couche de données. Seule la couche DWD de la couche commune est prise en charge. Les données de la table de faits sont stockées dans cette couche de données. Pour plus d'informations, consultez Définir les couches d'entrepôt de données.
Business Category
Sélectionnez une catégorie métier existante. Pour plus d'informations, consultez Catégorie métier.
Business Process
Sélectionnez un processus métier existant. Pour plus d'informations, consultez Processus métier.
Storage Policy
Définit la manière dont les données sont stockées dans la table de faits. Les options incluent Daily Incremental Data et Daily Full Data.
Naming Rule
Sélectionnez un vérificateur configuré pour vérifier que le nom de la table respecte les règles de nommage spécifiées. Pour plus d'informations, consultez Configurer les vérificateurs de couches d'entrepôt de données et Utiliser les vérificateurs.
Table Name
Nom interne de la table. Si vous sélectionnez un vérificateur pour le paramètre Règle de nommage de la table, le nom doit respecter les règles définies.
Table Display Name
Nom d'affichage de la table.
Lifecycle
Période de rétention de la table de faits en jours. La valeur maximale est 36000.
Owner
Propriétaire de la table de faits. Par défaut, il s'agit de l'utilisateur qui crée la table.
Description
Description de la table de faits.
Une fois les paramètres configurés, cliquez sur Save. La nouvelle table apparaît dans l'arborescence de répertoires de gauche.
Ajouter des champs de table
Après avoir créé le modèle, ajoutez-y des champs.
Ajoutez des champs en Shortcut Mode ou en Script Mode. En Shortcut Mode, sélectionnez Import from Table/View pour importer des champs depuis une table physique ou une vue existante dans un moteur de calcul. Recherchez et sélectionnez une table physique ou une vue existante dans la liste déroulante Search for existing table/view pour importer ses champs.
Shortcut mode
Actuellement, vous pouvez importer des champs uniquement depuis des tables ou des vues dans MaxCompute, Hologres et EMR Hive.
En Shortcut Mode, cliquez sur Expand à côté de Import from Table/View.
-
Dans la zone de texte Search for existing table/view, saisissez un nom pour trouver la table ou la vue correspondante. Ensuite, choisissez d'importer tout ou partie de ses champs.
RemarqueLa recherche floue est prise en charge. Saisissez un mot-clé pour trouver toutes les tables ou vues contenant ce mot-clé dans leurs noms.
Vous pouvez rechercher des tables uniquement dans l'environnement de production. Les tables de l'environnement de développement ne peuvent pas être recherchées.
Cliquez sur l'icône
pour importer tous les champs.Cliquez sur l'icône
pour importer des champs spécifiques.
Si vous choisissez d'importer des champs spécifiques, une boîte de dialogue s'affiche. Sélectionnez les champs souhaités et cliquez sur Import.
Si un champ importé a un Field Display Name vide, utilisez la description du champ comme nom d'affichage, comme indiqué sur la page.
Script mode
Vous pouvez également utiliser des instructions FML pour créer des champs, des associations et des partitions. Pour plus d'informations, consultez Modélisation en mode script.
Le Script Mode offre une expérience d'édition basée sur le code. Lorsque vous cliquez sur Script Mode, une boîte de dialogue s'affiche, présentant le langage de modélisation généré automatiquement en fonction de la configuration de votre modèle. Modifiez le code selon vos besoins, puis cliquez sur OK.
-- After a model is published to create a physical table (before, during, or after approval), the table name cannot be modified.
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; 0: Group; 1: Subsidiary; 2: Business unit; 3: Department.' BIGINT COMMENT '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 de champ
Après avoir ajouté des champs au modèle, configurez leurs attributs en fonction de vos besoins métier, tels que Associated Field, Redundant Field et Associated Granularity/Metric.
-
Définissez les attributs des champs.
Par défaut, la page affiche les attributs de base tels que Field Name, Type, Field Display Name, Description, Primary Key, Not Null et Actions. Dans le coin supérieur droit de la liste des champs, cliquez sur Field Display Settings pour sélectionner les attributs que vous souhaitez afficher et les modifier si nécessaire.
-
Définissez la Field Standard to Associate et la Lookup Table to Associate pour les champs. Cela permet de normaliser le contenu et la plage de valeurs des champs ajoutés.
Field Standard to Associate : Gère de manière centralisée les données ayant la même signification mais des noms de champs différents, et définit les plages de valeurs, les unités de mesure, etc.
Lookup Table to Associate : Définit les valeurs disponibles et la plage de valeurs pour une norme de champ.
-
Définissez le Redundant Field.
Dans la colonne Actions du champ souhaité, cliquez sur Redundant Field pour configurer ses champs associés.
Dans un schéma en étoile traditionnel, les dimensions sont stockées dans des tables de dimensions et sont accessibles via des clés étrangères dans la table de faits afin de réduire la consommation de stockage. Cependant, pour améliorer les performances des requêtes en aval et simplifier l'accès aux données, il est courant de dénormaliser directement dans la table de faits les attributs de dimension fréquemment utilisés. Cela réduit le nombre de jointures de table nécessaires. Par exemple, la « table de détails de création de commande » dénormalise les attributs de la « table de dimensions d'adresse de livraison », tels que l'« adresse de livraison » et le « numéro de téléphone du destinataire ».
Dans la boîte de dialogue Champ redondant, sélectionnez un Nom de table/vue associée depuis MaxCompute, sélectionnez les Champs associés souhaités dans la liste, puis cliquez sur Enregistrer pour terminer la configuration.
Une fois les champs configurés, cliquez sur Save dans le coin supérieur gauche.
Étapes suivantes
Après avoir créé la table de faits, configurez ses champs, ses associations et ses partitions. Ensuite, publiez la table dans l'environnement cible. Pour plus d'informations, consultez Matérialiser un modèle logique.