Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cette section présente un certain nombre de recommandations relatives à l'importation de données contenant des dates et à l'utilisation de dates dans des relations et des tableaux croisés dynamiques.
Recommandations pour l'importation de données de type date
Lorsque vous importez des données contenant des données date/heure, tout particulièrement à partir de sources multiples, celles-ci contiennent très souvent des dates dans des formats différents ou avec des niveaux de granularité différents.
Par exemple, Excel propose deux fonctions permettant de retourner la date/heure actuelle : la fonction TODAY retourne la même date que la fonction NOW, mais la fonction TODAY retourne toujours l'heure par défaut de 12 h, alors que la fonction NOW retourne une heure précise.
Le problème est que la mention supplémentaire de l'heure peut faire que les valeurs ne correspondent pas. Si par la suite vous tentez d'additionner les valeurs d'un tableau croisé dynamique, il se peut que les valeurs ne puissent pas être regroupées de la façon souhaitée.
Outre les dates avec des niveaux de précision différents, vos sources de données peuvent inclure des dates écrites dans des formats de texte différents, des dates dans des formats régionaux différents ou des dates reposant sur des exercices fiscaux différents.
Pour utiliser et intégrer ces types différents de dates dans un modèle unique, après avoir importé les données, vous devez :
utiliser des formules DAX dans les colonnes calculées pour tronquer les valeurs, ou pour créer un jeu cohérent de valeurs de date/heure ;
créer une table de date/heure principale que vous pouvez utiliser pour créer des relations entre des colonnes de date.
Les sections qui suivent fournissent des informations détaillées.
Déterminez vos besoins en matière de dates.
Avant de modifier les valeurs de date, pensez à l'analyse que vous envisagez de faire avec ces données et posez-vous les questions suivantes :
Selon quel(s) niveau(x) de granularité je comptabilise ou regroupe les faits numériques : jours, heures, semaines, trimestres ?
Quels niveaux de granularité seront utilisés pour regrouper les dates : semaines, trimestres fiscaux, etc. ?
Manque-t-il des dates ? Est-il acceptable que des dates ou d'autres valeurs manquent, ou devez-vous insérer des espaces réservés de valeurs ou de dates ? Si des valeurs manquent, utilisez-vous un zéro ou une autre valeur choisie pour représenter les valeurs inconnues ?
Utilisez des formules pour convertir les dates dans un format de date cohérent.
Si les données que vous avez importées contiennent des dates dans plusieurs formats, vous pouvez laisser les colonnes comme elles sont et utiliser des formules DAX pour créer des colonnes calculées qui représentent les dates dans le format correct et au niveau spécifié de granularité.
Pour les exemples, consultez les rubriques suivantes :
Utilisez une fonction DAX pour extraire des valeurs comme le jour, l'année et le mois, si nécessaire.
Utilisez des fonctions DAX pour composer des valeurs dans un format de date/heure.
Si les valeurs de date ne sont pas mises en forme en tant que dates ou présentent un format incohérent, vous pouvez utiliser les fonctions de date et d'heure fournies dans DAX pour générer des dates valides.
- Utilisez la fonction FORMAT pour utiliser des formats de nombre ou de date/heure personnalisés.
Pour obtenir la liste complète de fonctions de date et d'heure, consultez Référence des fonctions DAX.
Tronquez les heures si vous devez utiliser des jours, des semaines et des mois.
Les jours sont la plus petite unité de temps que les fonctions Time Intelligence DAX peuvent utiliser. Par conséquent, si vous n'avez pas besoin d'utiliser des valeurs d'heure, vous devez réduire la granularité de vos données de manière à utiliser les jours comme unité minimale.
Pour résoudre les problèmes découlant de valeurs d'heure inutilement précises, vous pouvez effectuer les quelques opérations suivantes :
Tronquez les heures dans les valeurs de date/heure ou faites en sorte que toutes les valeurs de date/heure utilisent la même valeur d'heure par défaut.
Si vous devez utiliser les heures (heures, minutes et secondes), créez un ou plusieurs champs distincts qui représentent les incréments de temps, en utilisant des colonnes calculées. Vous pouvez alors analyser les heures séparément.
Le type de données date/heure utilisé dans PowerPivot est un type de données SQL Server et par défaut, crée une valeur d'heure pour chaque date.
Filtrez les données à l'importation pour supprimer les données incorrectes.
Si les données externes contiennent des valeurs incorrectes, vous avez la possibilité d'exclure les données non valides lors de l'importation. Pour plus d'informations, consultez les rubriques suivantes :
Ajouter des données à l'aide de l'Assistant Importation de table (didacticiel)
Modifier les lignes importées à partir d'une source de données
Recommandations pour l'utilisation de dates dans les tableaux croisés dynamiques
Cette section fournit des conseils pour vous aider à utiliser des dates dans les tableaux croisés dynamiques et les formules qui utilisent des fonctions Time Intelligence DAX.
Évitez d'utiliser des clés de substitution de type entier dans les relations.
Lorsque vous importez des données externes à partir d'une source de données relationnelle, les colonnes de date et d'heure sont très souvent représentées par une clé de substitution, qui est une colonne de type entier utilisée pour représenter une date unique. Toutefois, vous devez éviter de créer des relations à l'aide de clés de date/heure de type entier dans un classeur PowerPivot, et utiliser pour vos clés des colonnes qui contiennent des valeurs uniques avec un type de données date.
Bien que l'utilisation de clés de substitution soit recommandée dans les entrepôts de données traditionnels, les clés de type entier ne sont pas requises dans PowerPivot et peuvent compliquer le regroupement de valeurs dans les tableaux croisés dynamiques par différentes périodes.
Créez une table principale de dates.
Si chaque table de données de votre classeur contient une colonne de valeurs de date/heure, et que vous connectez les tables à ces colonnes de date/heure, il est probable que de nombreuses valeurs ne correspondront pas. Par exemple, votre table Sales peut contenir des dates uniquement pour la deuxième moitié de 2008, alors que votre tableau Suppliers peut contenir les dates de 2006 à 2008.
Plutôt que de joindre plusieurs tables de données à de nombreuses colonnes indépendantes qui contiennent différentes dates et heures, vous pouvez obtenir de meilleurs résultats en créant une table principale ne contenant que les informations de date. Vous pouvez ensuite lier cette table, à l'aide de relations, à vos tables de données, et ainsi profiter des avantages d'un jeu cohérent de dates.
[!REMARQUE]
Lorsque vous créez une table de dates maîtresse, vous pouvez la marquer en tant que table de dates, ce qui active des filtres de dates supplémentaire qui, dans le cas contraire, ne seraient pas disponibles. Pour plus d'informations, consultez Marquer en tant que boîte de dialogue de la table de dates.
Le classeur d'exemples DAX fournit un exemple de table de date/heure principale connectée à d'autres tables à l'aide de relations.
En plus d'avoir une valeur de date/heure unique pour chaque date que vous pouvez être amené à utiliser, la table principale contient des hiérarchies que vous pouvez utiliser pour le regroupement de dates dans les tableaux croisés dynamique, comme indiqué dans le tableau ci-dessous :
DayNumberOfWeek |
WeekNumberOfYear |
CalendarQuarter |
FiscalQuarter |
DayNameOfWeek |
WeekNumberOfMonth |
CalendarSemester |
FiscalSemester |
DayNumberOfMonth |
MonthName |
CalendarYear |
FiscalYear |
DayNumberOfYear |
MonthNumberOfYear |
|
|
Créez des copies des colonnes de date si nécessaire
Le concept d'une table de dates principale vous sera familier si vous avez travaillé avec des bases de données Analysis Services traditionnelles qui utilisent une dimension de date pour représenter et regrouper les dates.
La différence dans PowerPivot est que chaque colonne unique dans une table Powerpivot peut participer à une seule relation entre deux tables. Par conséquent, si une même table contient plusieurs colonnes qui doivent être liées à la clé de date, vous devez créer une copie de la colonne clé de date et la lier.
Par exemple, supposons que votre table Order contienne les colonnes de date suivantes : SalesDate, TransactionDate et ShippingDate. Vous souhaitez lier toutes ces colonnes à la colonne clé de date dans la table de dates principale, mais PowerPivot ne l'autorise pas pour veiller à ce que chaque relation fournisse un chemin unique et non équivoque à travers les valeurs. Vous devez donc déplacer les colonnes de date supplémentaires dans des tables distinctes, puis lier la colonne de date de chacune de ces tables à la clé de date dans la table de dates principale. Par exemple, vous pouvez décider de conserver la colonne SalesDate dans votre table Order, mais de créer une table pour les transactions et une table distincte pour les informations d'expédition. Vous pouvez utiliser une colonne calculée pour créer des copies des colonnes ShippingDate et TransactionDate afin de vous assurer qu'elles restent synchronisées.
Le classeur d'exemples DAX fournit un exemple de création et d'utilisation efficace de copies de colonnes de date. Pour plus d'informations sur l'obtention des exemples, consultez Obtenir des exemples de données pour PowerPivot.
Voir aussi
Concepts
Vue d'ensemble du langage DAX (Data Analysis Expressions)