difference de deux releve entres deux heures

Accueil – Le CFO masqué Forums Power Query difference de deux releve entres deux heures

6 sujets de 1 à 6 (sur un total de 6)
  • Auteur
    Articles
  • #125680
    hboisteau
    Participant

    Bonjour le Forum,

    je suis un peu en galère sur la création de mon power query. J’ai déjà par le passe appris a faire une comparaison de date avec (adddays) mais aujourd’hui je reviens vers au sujet d’une même séquence mais avec des heures.

    En effet l’extraction des données se faisant toutes les 30 minutes je cherche a faire la soustraction d’une valeur avec une heure et minute (hm) contre cette même valeur mais moins 30 minutes

    Je vous joint une fichier Excel pour une meilleure compréhension

    HB

    Attachments:
    You must be logged in to view attached files.
    #125683
    Kim Leblanc
    Keymaster

    Bonjour,

    Vous pourriez peut-être vous inspirer de la première partie de cet article:

    Power BI – Vous rencontrez des problèmes avec l’addition des heures?


    Bien que l'exemple soit fait avec Power BI, la première partie concerne Power Query qui est le même outil dans les 2 applications.

    Au plaisir,

    Kim

    #125702
    hboisteau
    Participant

    Merci beaucoup pour votre réponse, mais malheureusement je ne veux pas additionner ou soustraire des heures, minutes ou secondes mais soustraire des résultats qui sont produits toutes les 30 minutes afin de produire un résultat.

    HB

    #125740
    Daniel
    Participant

    Bonjour hboisteau, le Forum,

    Dans l’exemple donné, les heures sont bien toutes les trente minutes mais sur des jours différents, donc en prenant la date et l’heure on peut obtenir le résultat escompté (seul problème pour obtenir exactement ce résultat, j’ai du gardé la colonne Date).

    let
    Source = Excel.CurrentWorkbook(){[Name=”Tableau1″]}[Content],
    #”Type modifié” = Table.TransformColumnTypes(Source,{{“Date”, type datetime}, {“N°Mas”, Int64.Type}, {“Valeur”, Int64.Type}}),
    GroupLignesNMas = Table.Group(#”Type modifié”, {“N°Mas”}, {{“FullTable”, each _, type table [Date=nullable datetime, #”N°Mas”=nullable number, Valeur=nullable number]}}),
    IndexFullTable = Table.TransformColumns(GroupLignesNMas,{{“FullTable”, each Table.AddIndexColumn(_,”Index”,0,1)}}),
    AddColumnNextValue = Table.AddColumn(IndexFullTable, “CalculNextValue”, each let
    AllDataTable = [FullTable],
    NextRowValue = Table.AddColumn(
    AllDataTable,”NextValue”,
    each try AllDataTable [Valeur] {[Index]+1} otherwise null)
    in NextRowValue),
    ListeofSingleTables = Table.Combine( AddColumnNextValue[CalculNextValue],{“Date”,”N°Mas”,”Valeur”,”NextValue”}),
    CalculEcart = Table.AddColumn(ListeofSingleTables, “Ecart”, each [NextValue]-[Valeur]),
    TriDesLignesNMasEtDates = Table.Sort(CalculEcart,{{“Date”, Order.Ascending},{“N°Mas”, Order.Ascending}}),
    SuppressionColonnes = Table.RemoveColumns(CalculEcart,{“NextValue”}),
    FiltreLignesNulles = Table.SelectRows(SuppressionColonnes, each ([Ecart] <> null))

    in
    FiltreLignesNulles

    Ci-joint le fichier avec la requête ci-dessus.
    Cordialement
    Daniel

    Attachments:
    You must be logged in to view attached files.
    #125905
    hboisteau
    Participant

    Bonjour Daniel,

    Merci pour ta reponse qui fonctionne tres bien je t’en remercie.

    Maintenant pourrais-je encore abuser pour compremdre comment faire avec plusieurs valeurs.

    Je rejoins le fichier excel modifier

    Encore merci a tous,

    Attachments:
    You must be logged in to view attached files.
    #125948
    Daniel
    Participant

    Bonjour hboisteau, le Forum,

    Pour répondre à la demande, par rapport aux données fournies, voici deux propositions :

    1ère solution (voir l’exemple 2), assez simple dépivoter les colonnes contenant les valeurs ce qui nous donne une colonne Attribut contenant les noms (Valeur 1, Valeur 2, Valeur 3) et une colonne Valeur contenant les différents nombres. Ensuite, pour les étapes suivantes on peut repartir de l’exemple que j’ai donné dans un précédent post.

    2ème solution : (voir l’exemple 3), je me suis inspiré d’une réponse fournie par Stéphane Lorin (merci à lui).
    En fait, avec un requête contenant les données d’origine, une 2ème calculant les écarts et une 3ème regroupant les deux précédentes, on obtient bien le résultat. Peut-être que d’autres solutions plus optimales seront proposées.
    La présentation des données dans les différents exemples, dépend surtout de l’utilisation des données dans un tableau de bord, je pense qu’une présentation sous la forme du 2ème exemple se prête mieux à des synthèses (matrices dans Power BI par exemple ou tableaux croisés dynamiques dans Excel).
    Voir fichier ci-joint (hboisteau_1-1.xlsx). autre fichier joint par erreur
    Cordialement
    Daniel

    Attachments:
    You must be logged in to view attached files.
6 sujets de 1 à 6 (sur un total de 6)
  • Vous devez être connecté pour répondre à ce sujet.