Blog

Timeline Excel : We can’t create timeline because report doesnt have field formatted as Date


Création d’une Timeline

Une timeline est un filtre temporel disponible dans Excel permettant de sélectionner une date précise ou une période pour naviguer facilement dans les données d’un cube. A l’arrivée, ça ressemble quelque chose comme ça :

Expert SQL Server - Timeline Excel : We can't create timeline because report doesnt have field formatted as Date - BI & Big Data  - timeline_nav

Pour ce qui est du contexte, je suis en plein POC BI, limite hackathon, pour un client. Un cube tabulaire a été donc créé pour l’occasion et je souhaite en  analyser les données rapidement. Depuis le projet Visual Studio, je clique sur le bouton qui va bien pour lancer l’analyse dans Excel 2016 et par la suite créer une timeline :

Expert SQL Server - Timeline Excel : We can't create timeline because report doesnt have field formatted as Date - BI & Big Data  - tabular_excel_analyze

Mon cube est bien disponible dans Excel. Pour faciliter l’analyse des données dans le temps, rien de mieux qu’une Timeline pour naviguer : Menu Insert\Timeline

Expert SQL Server - Timeline Excel : We can't create timeline because report doesnt have field formatted as Date - BI & Big Data  - excel_insert_timeline

Problème : à mon grand étonnement Excel m’indique qu’aucun attribut de dimension ne possède le format date. J’obtiens le message d’erreur suivant : We can’t create timeline because report doesnt have field formatted as Date

Expert SQL Server - Timeline Excel : We can't create timeline because report doesnt have field formatted as Date - BI & Big Data  - excel_error_timeline

Expert SQL Server - Timeline Excel : We can't create timeline because report doesnt have field formatted as Date - BI & Big Data  - cat_cry

1 – Propriété de colonne : Data Type = Date

Un peu déçue, je reviens à mon projet de cube tabulaire dans Visual Studio… Le projet référence bien un champ de type Date, SampleFullDate, dans la dimension Temps DimTime mais visiblement cela n’est pas suffisant :

Expert SQL Server - Timeline Excel : We can't create timeline because report doesnt have field formatted as Date - BI & Big Data  - time-02-colonne

2 – Dimension Temps : Mark As Date Table

Encore faut-il taguer la dimension Temps DimTime comme telle pour que l’implémentation soit complète, comme suit : clic droit sur la dimension Temps, Date et Mark As Date Table

Expert SQL Server - Timeline Excel : We can't create timeline because report doesnt have field formatted as Date - BI & Big Data  - time-01-table

En dernier lieu, reste à sélectionner le champ Date/Time concerné dans la dimension Temp DimTime, à savoir SampleFullDate :

Expert SQL Server - Timeline Excel : We can't create timeline because report doesnt have field formatted as Date - BI & Big Data  - time-01-table._step2png

On sauvegarde la solution (+check-in, +déploiement, +traitement au besoin) et on relance une analyse depuis Excel.

Expert SQL Server - Timeline Excel : We can't create timeline because report doesnt have field formatted as Date - BI & Big Data  - tabular_excel_analyze

Excel me propose bien la dimension Temps DimTime en entrée de ma future Timeline :

Expert SQL Server - Timeline Excel : We can't create timeline because report doesnt have field formatted as Date - BI & Big Data  - excel_add_timeline

Ma Timeline est enfin disponible pour une navigation friendly :

Expert SQL Server - Timeline Excel : We can't create timeline because report doesnt have field formatted as Date - BI & Big Data  - excel_nav_timeline

Coups de fils à un DBA Excel consultant BI…

C’est plutôt simple mais avant de dénicher l’option au niveau de la dimension Temps, le cheminement a été un peu laborieux. Pour ceux que ça intéressent, voici la version de l’article en mode debug : après avoir tâtonné un moment, j’opte pour le “coup le fils à un ami”.

“SAV de la BI bonjour !”

Ça tombe sur Sophie Bismuth la fameuse consultante BI de chez MS qui a initié le projet de parallélisme SSIS, une experte dans son domaine. Elle m’invite à me servir du cube tabulaire AdventureWorks pour tester l’ajout d’une Timeline. Cela fonctionne, sans rien à avoir à modifier dans la solution initiale.

https://github.com/Microsoft/sql-server-samples/releases/tag/adventureworks-analysis-services

“Mme DBA, calmez-vous.
Il est inutile de redémarrer votre PC pour afficher une Timeline dans Excel… Ecoutez-moi !”

En deuxième étape, Sophie me suggère de jouer au jeu des différences, pour identifier toutes les propriétés nécessaires à l’activation d’une Timeline sur la base du fichier json Model.bim du cube tabulaire AdventureWorks et plus spécifiquement dans la section de la dimension Temps :

Expert SQL Server - Timeline Excel : We can't create timeline because report doesnt have field formatted as Date - BI & Big Data  - Json_dataCategory_Time

“Mme SAV, j’ai trouvé une différence !”

Contrairement à dataType (au niveau colonne), l’attribut dataCategory (au niveau dimension) n’est pas présent dans le json de mon cube tabulaire. Dans un premier temps, je l’ajoute à la main car depuis Visual Studio, nous ne parviennons pas à repérer l’option dans les propriétés de la dimension temps DimTime. Bref, la timeline est activable dans Excel sans erreur. Pendant ce temps là, Sophie est toujours au bout du fils…

“Mme SAV, vous êtes toujours là ? La timeline fonctionne !”

Pour clôturer le sujet, j’annule ma mise à jour “Brico Dépôt” dans le fichier json. Retour au projet Visual Studio où je me résous à faire un clic droit sur ma dimension Temps DimTime, tout simplement… Date, allons voir plus loin… Ha tiens, si je la taguais comme une dimension Temps en cliquant sur l’option Mark As Date Table. Après avoir sauvegardé mon projet, j’ouvre à nouveau le fichier json Model.bim de mon cube tabulaire où cette fois je note bien la présence de l’attribut dataCategory. Dans Excel enfin, je peux bien ajouter une timeline sans erreur.

Expert SQL Server - Timeline Excel : We can't create timeline because report doesnt have field formatted as Date - BI & Big Data  - gif_thanks

Auteur

Expert SQL Server - Timeline Excel : We can't create timeline because report doesnt have field formatted as Date - BI & Big Data  - avatar_ninja_tete-150x150
Sarah Béquet
Archietcte Data Microsoft, les maîtres mots sont : performance, industrialisation, méthodologie & bonne humeur.
error: