Comment afficher un format heure minute seconde avec Power BI ?

Pour l’élaboration de vos tableaux de bord, vous avez certainement manipulé des données de temps ou de durée notamment si vous travaillez sur la donnée web analytics (temps passé / visites, durée session etc.). Sachez qu’avec Power BI il est possible d’afficher ces métriques au format DD HH::MM::SS. Découvrons dans cet article comment procéder !

Power BI - Tips - DD HH-MM-SS

Avant de commencer, voici des exemples de mise en forme qu’il sera possible d’obtenir.

Exemples métriques personnalisées + format temps

Import du jeu de donnée AT Internet (Piano) - PowerQuery

Pour illustrer ce guide, nous allons nous baser sur la structure d’un flux provenant de la solution analytics AT Internet (Piano). Nous appellerons cette table : « Temps et durée (ex) »

Structure de notre table « Temps et durée (ex) » (flux généré au travers de l’outil Data Query).

  1. Dimension supports
  2. Métriques visites
  3. Métrique temps passé / visites (valeur en millisecondes)
  4. Métrique temps passé / visiteurs (valeur en millisecondes)
  5. Métrique temps passé (total temps passé) (valeur en millisecondes)
Pour obtenir une table exploitable et pouvoir personnaliser l’affichage de nos métriques de temps, quelques étapes sont nécessaires :
 
  1. Remplacez le séparateur décimal point (« . ») par une virgule (« , »). Power BI (configuré en FR) pourra ainsi accepter le format décimal.
  2. Valeur en seconde : Pour passer d’une valeur en millisecondes à secondes, créez une nouvelle colonne personnalisée et appliquez la formule suivante :

    #Nom_Table = Number.RoundUp([# »Temps passé / visites »] / 1000)

  3. Supprimez ensuite les colonnes 3, 4 et 5 pour ne garder que les colonnes qui affichent des durées en secondes.
  4. Modifiez le type de chaque colonne (Texte, Nombre entier)
  5. Renommez vos colonnes.
Table d'exemple avec nos métriques de durée en secondes

Power BI - Interface de conception

Pour la suite, nous passons sur l’interface de conception. 
Dans notre premier tableau (1), nous pouvons retrouver les valeurs actuelles de notre table « Temps et durée (ex) ».
Comme on peut l’apercevoir, les valeurs sont au format « secondes ». Ce n’est pas très lisible et parlant.
Pour obtenir un affichage personnalisé (tableau 2), nous allons nous appuyer sur des métriques personnalisées en DAX ainsi que leurs formats de sorties.

DAX - Métriques calculées

Créez une nouvelle mesure et indiquez la formule suivante :

Métrique calculée format : Heure : Minutes : Seconde (hh::mm::ss)

Format hh::mm::ss =
//Calcul durée total
VAR Duree =  SUM(‘Temps et durée (ex)'[Tps passé / visites (sec)])
//Calcul heure
VAR Heures = INT(Duree/3600)
//Calcul minutes
VAR Minutes = INT(MOD(Duree-(Heures*3600),3600)/60)
//Calcul secondes
VAR Secondes = MOD(MOD(Duree-(Heures*3600),3600),60)
RETURN
Heures * 10000 + Minutes * 100 + Secondes
 
Explication avec exemple :
 
  1. Calculez le total en seconde de la table « Temps et durée » colonne « Tps passé  visites (sec) ».
    Résultat : 54 902 secondes
  2. A partir du total, nous pouvons calculer le nombre d’heures en divisant par 3 600 ( 3 600 secondes = 1 heure). Nous encapsulons le résultat avec la fonction INT qui permet d’arrondir à l’entier proche (2.1, 2.2 … 2.9 deviendra 2).
    Résultat : 54 902 secondes = 15h.
  3. Pour les minutes, procédons par étape :
    — Utilisez le modulo (fonction qui retourne le reste d’une division d’un nombre par un diviseur) :
    Fonction : MOD(<number>, <divisor>)
    Résultat : (54 902 – (15 * 3 600) ) mod 3 600 = 902 mod 3 600 = 902.
    — On divise le résultat par 60 (60 secondes = 1 min) et on applique la fonction INT.
    Résultat : 902 / 60 = 15 min
  4. Pour les secondes : 
    — Utiliser le modulo :
    Résultat : (54 902 – (15 * 3 600) ) mod 3 600 = 902 mod 3 600 = 902.
    — Utilisez de nouveau un modulo :
    Résultat : 902 mod 60 = 2 (détail 60 × 15 = 902 il reste donc 2 qui correspond aux secondes).
  5. Récapitulatif : HH::MM::SS donnera 15::15::02
  6. Valeur de retour de la fonction : Heures * 10000 + Minutes * 100 + Secondes (nous verrons un peu plus bas pourquoi nous avons multiplié par 100 et 10000)

Affichage du résultat dans une carte Power BI

Sélectionnez la visualisation « carte » ainsi que la métrique calculée « Format hh::mm::ss » .

Pour fonctionner, assurez vous que votre visuel est correctement configuré. Pour cela, il doit pouvoir afficher la totalité du résultat.  
Vérifier ce paramètre dans la partie : Visuel > Valeur de la légende > Unité d’affichage : choisir : aucun.

Comme on peut l’apercevoir, nous obtenons à présent 15(.)15(.)02. (150 000 + 1 500 + 2). Ce résultat correspond à nos heures, minutes et secondes que nous avons passé comme valeur de retour à notre métrique calculée : Format hh::mm::ss. 

Pour rendre plus esthétique ce résultat, nous allons devoir modifier le format de notre métrique calculée.
Pour modifier le format, cliquez sur votre métrique personnalisée > Outils de mesure > Format > Saisir 00h 00m 00s puis cliquez sur « Entrée ».
Le format est conditionné par la valeur de retour de notre métrique calculée. Dans notre exemple, en modifiant le format par 00h 00m 00s nous allons obtenir 15h 15m 02s.

Résultat après modification du format : 

Autres exemples

Si vous avez bien compris le fonctionnement, vous pouvez créer d’autres métriques personnalisées :

  • Format : 00a 000j 00h 00m 00s (année / jours / heures / minutes et secondes).
  • Format : 00 minutes 00 secondes (minutes et secondes avec affichage long)
  • Format 00j 00h00m00s (Jours / heures / minutes et secondes)

Voici un autre exemple pour un format 00 jrs 00h00m (jours, heures et minutes) :

Format J hh:mm =
VAR Duree = SUM(‘Temps et durée (ex)'[Temps passé (sec)])
VAR Heures = INT(Duree/3600)
VAR Minutes = INT(MOD(Duree-(Heures*3600),3600)/60)
VAR Jours = ROUNDDOWN(Heures/24,0)
VAR Heure_restante = MOD(Heures,24)
RETURN
Jours * 10000 + Heure_restante * 100 + Minutes

Cette métrique personnalisée affichera le format suivant :

Avec cette méthode, vous pouvez également effectuer une multitude de calculs sur vos métriques de temps (SUM, AVERAGE etc.). 

Il vous reste des questions ou vous souhaitez que l’on développe un point en particulier ? N’hésitez pas à nous en faire part dans les commentaires ou via notre formulaire de contact. Nous tenterons d’y répondre dans les plus brefs délais.a

Cet article vous a été utile ? Faites le savoir à votre entourage professionnel.

Quentin Moncharmont

Consultant web analyst

En tant que consultant, je mets toute mon expérience acquise depuis 2012 au service des clients que j’accompagne. Curieux et passionné par les sujets data,  j’aime découvrir de nouveaux univers métier et partager mes connaissances. En savoir plus !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ne rater aucune publication

Pas de spam, un email par mois pour rester en veille des derniers sujets que nous publions

Merci pour votre inscription. Vous recevrez notre prochaine newsletter très bientôt ! Aie ! Une erreur est survenue lors de votre demande - Vérifier votre saisie et recommencer. Merci

Découvrez nos autres articles Data visualisation

  • DataViz
  • Formations
  • Google Analytics
  • Google Tag Manager
  • Missions
  • Piano Analytics (AT)
  • Plan de marquage
  • PowerBi
  • Réalisations
12
Discutons ensemble de votre projet analytics et obtenez des solutions pertinentes à vos besoins !