Slicer avec granulométrie à l’heure

  • Slicer avec granulométrie à l’heure

    Posté par StevannS sur 9 février 2024 à 16h47

    Bonjour, je gère aujourd’hui un suivi de consommations avec une granularité jour/sem/mois, en lien avec une table ‘Dates’ définie en tant que table de dates.

    Mes données de base sont des enregistrements tous les 15min.

    Je souhaite ajouter une granularité à l’heure pour un suivi de courbe de charge.

    Pour ce faire, j’ai créé une table Time et fais un crossjoin avec ma table Dates pour créer une nouvelle table ‘Dates&Time’ comprenant l’ensemble des Dates&heures sur les 48 dernières heures, et connectée en 1to* au champ Date&heure de ma table de faits. Mais lorsque je veux la définir en tant que table de dates, powerbi refuse (à priori seul un champ date peut être choisi…).

    Lorsque je crée des mesures avec des conditions de temps depuis cette nouvelle table, ces dernières ne sont pas fonctionnelles.

    Avez-vous une idée de la façon dont je pourrais gérer les heures avec les fonctions de temps ?

    Merci d’avance de votre aide.

    StevannS a répondu Il y a 5 mois, 2 semaines 3 Membres · 7 Réponses
  • 7 Réponses
  • Philippe

    Membre
    9 février 2024 à 16h52

    Bonjour,

    Une table de type date doit contenir une comonne Date avec des valeurs uniques.

    Dans votre cas, avez-vous essayer de séparer la table Date (donc de type date) avec une seconde table des heures ? La seconde table ne contiendrait qu 96 valeurs (24 * 4).

    Bien à vous,

    PGeiger

  • StevannS

    Membre
    9 février 2024 à 17h08

    Merci de votre réponse. La question porte donc sur le modèle de données.

    Ma table ‘Dates’ initiale, ne contenant pas d’heures, est connectée en 1to* avec ma table de faits.

    J’ai créé une table ‘Time’ qui contient bien 96 lignes, mais aucune date.

    Comment faire en sorte de garder la time line si je n’associe pas heure et date ensemble (d’où ma Date&Time table) ?

    Merci d’avance

  • Philippe

    Membre
    9 février 2024 à 17h10

    Pourquoi ne pas créer une troisième colonne qui contient la valeur Date + Heure et qui sert à l’affichage des visuels.

    Bien à vous,

    PGeiger

  • David

    Membre
    9 février 2024 à 17h15

    Bonjour Stevann

    Tu peux créer une table de dates et heures, mais ce n’est pas obliger de la déclarer en tant que table de dates. Ce n’est pas génant, Il y a juste certaines fonctions de “Time intelligence” que tu ne pourras pas utiliser mais tu pourras toujours utiliser cette table et la relation dans tes mesures

  • StevannS

    Membre
    9 février 2024 à 17h36

    Merci. J’ai bien créé une table Dates&Time, connectée en 1to* à ma table de faits (sans être table de dates donc).

    Lorsque je crée la mesure suivante que j’associe à un graphique avec en X les champs Dates et Time de ma table Dates&Tim, et en Y ma mesure, les conditions d’affichage attendues ne sont pas prises en compte…

    <pre class=”language-css”>TEST SUM Conso CPT Selected A AFF =
    VAR _Maxdate = CALCULATE(MAX(EDV_View2[Date&Time]), ALL())
    Var _Mindate = _Maxdate - TIME(12, 0, 0)
    VAR _Start = CALCULATE(_Mindate, REMOVEFILTERS(EDV_View2))
    VAR _End = CALCULATE(_Maxdate, REMOVEFILTERS(EDV_View2))
    RETURN
    IF(
    MIN( EDV_View2[Date&Time] ) >= _Start && MAX( EDV_View2[Date&Time] ) <= _End && [SUM Conso CPT Selected A] <> 0, [SUM Conso CPT Selected A]
    )

  • David

    Membre
    9 février 2024 à 19h10

    Pourrais-tu mettre à disposition un PBIX avec un échantillon de données exemples ?

  • StevannS

    Membre
    12 février 2024 à 16h49

    Finalement, j’ai procédé de façon un peu différente.

    Je pensais créer un graphique des consommations des X dernières heures mais après quelques lectures (dont vos réponses), j’ai retenu l’idée de suivre la consommation journalière des X derniers jours via un graphique, et de traiter le profil horaire dans un autre graphique.

    En effet, en cliquant sur chaque barre de mon graphique journalier initial, je génère le profil horaire 0-24h associé (selon un pas de temps sélectionnable), avec en base, celui de la journée en cours.

    Et pour la date en cours, j’affecte une couleur spécifique qui surligne la dernière valeur enregistrée, ce qui me permet de conserver la plage de temps non révolue…

    Merci pour votre temps.

Connectez-vous pour répondre.