Partager via


Conseils de conception pour les tables de dates dans Power BI Desktop

Cet article décrit les bonnes pratiques de conception pour créer des tables de dates dans vos modèles de données lorsque vous utilisez Power BI Desktop.

Une table de dates est la table la plus courante utilisée pour l’analyse. Il stocke une ligne par date et prend en charge l’exigence courante de filtrer ou de regrouper des périodes spécifiques de dates, telles que des années, des trimestres ou des mois.

De plus, pour utiliser des fonctions d’intelligence temporelle DAX (Data Analysis Expressions), votre modèle de données doit avoir au moins une table de dates. Une table de dates est une table de modèles qui répond aux exigences suivantes :

  • Elle doit avoir une colonne dont le type de données est date (ou date/heure), appelée colonne de dates.
  • La colonne de dates doit contenir des valeurs uniques.
  • La colonne de dates ne doit pas contenir de valeurs vides.
  • Il ne doit pas y avoir de dates manquantes dans la colonne de dates.
  • La colonne de dates doit couvrir des années entières. Une année n’est pas nécessairement une année civile (janvier-décembre).
  • La table de dates doit être marquée comme table de dates.

Vous pouvez utiliser l’une des techniques suivantes pour ajouter une table de dates à votre modèle :

Conseil

Une table de dates est peut-être la fonctionnalité la plus cohérente que vous allez ajouter à l’un de vos modèles de données. Au sein d’une organisation, une table de dates doit être définie de manière cohérente. Par conséquent, quelle que soit la technique utilisée, nous vous recommandons de créer un modèle Power BI Desktop incluant une table de dates entièrement configurée. Partagez le modèle avec tous les modélisateurs de données de votre organisation. Ainsi, chaque fois que quelqu’un développe un nouveau modèle de données, il peut commencer par une table de dates définie de manière cohérente.

Date/heure automatique

L'option Date/heure automatique fournit une intelligence temporelle pratique, rapide et conviviale. Les auteurs de rapports peuvent utiliser l'intelligence temporelle lorsqu'ils filtrent, regroupent et analysent des périodes de temps du calendrier.

Nous vous recommandons de ne maintenir activée l’option date/heure automatique que si vous travaillez sur des périodes civiles et avec des exigences de modèle simplistes par rapport au temps. Vous pouvez également utiliser cette option lors de la création de modèles ad hoc ou d’une exploration ou d’un profilage de données. Toutefois, cette approche ne permet pas de gérer le cas où une seule conception de table de dates peut propager des filtres à plusieurs tables. Pour plus d’informations, consultez Aide sur l’option date/heure automatique dans Power BI Desktop.

Connexion avec Power Query

Si votre source de données contient déjà une table de dates, nous vous recommandons de l’utiliser comme source de votre modèle de table de dates. Il s’agit généralement du cas lorsque vous vous connectez à un entrepôt de données, car il doit déjà avoir une table de dimension de date. De cette façon, votre modèle utilise une source unique de vérité pour le temps dans votre organisation.

Si vous développez un modèle DirectQuery et que votre source de données n’inclut pas de table de dates, nous vous recommandons vivement d’en ajouter une à la source de données. Elle doit remplir toutes les exigences de modélisation d’une table de dates. Vous pouvez ensuite utiliser Power Query pour vous y connecter. Ainsi, vos calculs de modèle peuvent utiliser les fonctionnalités d’intelligence temporelle DAX.

Génération avec Power Query

Vous pouvez générer une table de dates à l’aide de Power Query. Pour plus d’informations, consultez l’entrée de blog de Chris Webb, Generating A Date Dimension Table In Power Query.

Conseil

Si vous ne disposez pas d’un entrepôt de données ou d’une autre définition cohérente du temps dans votre organisation, envisagez d’utiliser Power Query pour publier un dataflow. Ensuite, demandez à tous les concepteurs de données de se connecter au dataflow pour ajouter des tables de dates à leurs modèles. Ainsi, votre modèle devient la seule source de vérité pour le temps dans votre organisation.

Si vous devez générer une table de dates, envisagez de le faire avec DAX. Vous trouverez peut-être cette solution plus facile. Elle se révèlera par ailleurs probablement plus pratique, car DAX comprend des fonctionnalités intelligentes intégrées qui simplifient la création et la gestion des tables de dates.

Génération avec DAX

Vous pouvez générer une table de dates dans votre modèle en créant une table calculée à l’aide de la fonction CALENDAR ou CALENDARAUTO DAX. Chacune d’elles retourne une table de dates à une seule colonne. Vous pouvez ensuite étendre la table calculée avec des colonnes calculées pour gérer vos exigences de filtrage et de regroupement d’intervalles de dates.

  • Utilisez la CALENDAR fonction lorsque vous souhaitez définir une plage de dates. Vous lui transmettez deux valeurs : la date de début et la date de fin. Ces valeurs peuvent être définies par d’autres fonctions DAX, comme MIN(Sales[OrderDate]) ou MAX(Sales[OrderDate]).
  • Utilisez la CALENDARAUTO fonction lorsque vous souhaitez que la plage de dates englobe automatiquement toutes les dates stockées dans le modèle. Vous pouvez transmettre un seul paramètre facultatif correspondant au dernier mois de l’année (ce n’est pas nécessaire si votre année est une année civile, qui se termine en décembre). Il s’agit d’une fonction utile, car elle garantit que les années complètes de dates sont retournées et répondent ainsi à la condition d’une table de dates marquée. De plus, vous n’avez pas besoin d’étendre la table avec des lignes pour les prochaines années. Cela est dû au fait qu’une actualisation des données se termine, elle déclenche le recalcul de la table. Un recalcul étend automatiquement la plage de dates de la table lorsque les dates d’une nouvelle année sont chargées dans le modèle.

Conseil

Pour plus d’informations sur la création de tables calculées, notamment un exemple de création d’une table de dates, consultez le module d’apprentissage Ajouter des tables et des colonnes calculées à des modèles Power BI Desktop.

Envisagez également d’utiliser un outil open source gratuit pour gérer les dates avec DAX. Pour plus d’informations, consultez Bravo pour Power BI.

Clonage avec DAX

Lorsque votre modèle de données a déjà une table de dates et que vous avez besoin d’une autre table de dates : quand la date est une dimension de dimension de rôle , vous pouvez facilement cloner la table de dates existante. Pour cloner une table, vous pouvez créer une table calculée. L’expression de table calculée correspond simplement au nom de la table de dates existante.

Par exemple, pour créer une Ship Date table qui clone la Date table, utilisez l’expression de table calculée suivante.

Ship Date = 'Date'

Remarque

Lorsque vous clonez une table avec DAX, elle crée uniquement des colonnes. Elle n’applique aucune propriété de modèle à partir de la table cloné, comme les formats ou les descriptions. En outre, les hiérarchies ne sont pas clonées.

Pour plus d’informations en rapport avec cet article, consultez les ressources suivantes :