DATATABLE |
Table de données |
|---|---|
| DAX (Data Analysis Expressions) | |
Syntaxe
| DATATABLE (ColumnName1, DataType1, ColumnName2, DataType2..., {{Value1, Value2...}, {ValueN, ValueN+1...}...}) |
Paramètres
| Nom | Description |
|---|---|
| ColumnName1, ColumnName2, ... | Ce paramètre permet de spécifier les noms des colonnes de la table à créer. Chaque nom définit une colonne distincte. |
| DataType1, DataType2, ... | Ce paramètre permet d'indiquer le type de données associé à chaque colonne (par exemple : STRING, INTEGER, DOUBLE, CURRENCY,...). |
| {{Value1, Value2, ...}, {ValueN, ValueN+1, ...}, ...} | Ce paramètre permet de définir les valeurs de chaque ligne de la table, en respectant l'ordre et le type des colonnes définies précédemment. Chaque sous-liste représente une ligne. |
Description
Cette fonction permet de créer une table inline avec un ensemble défini de données et de types de colonnes.
Remarques
- Création de tables statiques directement dans le modèle : La fonction DATATABLE permet de créer une table directement dans une expression DAX, sans dépendre d'une source de données externe. Cela est particulièrement utile pour les tables de référence ou de correspondance qui ne changent pas souvent. On peut définir toutes les colonnes et leurs types de données, ainsi que les valeurs de chaque ligne, ce qui rend cette fonction très pratique pour les calculs statiques ou les tests.
- Définition explicite des noms et types de colonnes : Chaque colonne d'une table DATATABLE nécessite un nom et un type de données précis. Les types de données supportés incluent STRING, INTEGER, DOUBLE, CURRENCY, BOOLEAN, DATE,... Cette définition stricte assure que les valeurs insérées respectent le type attendu, et permet au moteur DAX de traiter correctement la table lors des calculs ou des relations avec d'autres tables.
- Possibilité de créer plusieurs lignes avec une syntaxe claire : Les valeurs de la table sont définies sous forme de listes imbriquées, où chaque sous-liste représente une ligne complète. L'ordre des valeurs doit correspondre exactement à l'ordre des colonnes définies. Cela offre un contrôle total sur le contenu de la table, permettant par exemple de créer des tables de cartographie, des tables d'équivalence ou des tables d'exemple pour des mesures calculées.
- Utilisation pour des tables de référence ou des dimensions : DATATABLE est souvent utilisée pour créer des tables de référence dans le modèle, comme des tables de catégories, de codes ou de seuils. Ces tables peuvent ensuite être reliées à d'autres tables du modèle via des relations, et utilisées dans des mesures DAX. Cela évite de devoir créer une source externe pour des données fixes, simplifiant ainsi le modèle et améliorant les performances.
- Fonction utile pour le prototypage et les tests : Lorsque l'on développe un modèle DAX ou Power BI, DATATABLE permet de créer rapidement des tables de test avec des données réalistes. On peut ainsi vérifier des mesures, tester des relations ou expérimenter des scénarios sans impacter les sources de production. Cela est particulièrement pratique pour simuler des résultats ou créer des jeux de données simplifiés pour les démonstrations.
- Compatibilité avec des colonnes de différents types : Une même table DATATABLE peut contenir des colonnes de types très différents : texte, numérique, date, monétaire, etc. Cette flexibilité permet de créer des structures complexes et réalistes, proches des tables réelles. Il est important de respecter le type pour chaque valeur, sinon une erreur sera générée lors de la création de la table.
- Peut être utilisée avec des fonctions DAX avancées : Une table créée avec DATATABLE peut être utilisée dans de nombreuses fonctions DAX comme SUMMARIZE, CALCULATETABLE, FILTER ou ADDCOLUMNS. Cela permet de combiner des données statiques avec des calculs dynamiques, créant ainsi des mesures ou des tables dérivées très puissantes. Elle peut également servir à générer des tables intermédiaires pour des calculs complexes.
- Limitation sur la taille et la maintenance : Étant donné que DATATABLE crée des tables inline statiques, elle n'est pas adaptée pour de très grandes tables contenant des milliers de lignes. Pour de grandes volumes, il est préférable d'utiliser une source de données externe. De plus, toute modification des valeurs nécessite d'éditer manuellement l'expression DAX, ce qui peut devenir fastidieux pour des tables volumineuses ou fréquemment mises à jour.
Dernière mise à jour : Vendredi, le 30 Mai 2025