Répondre à: Transformation formule DAX en langage M

  • Jeremy

    Membre
    16 avril 2023 à 21h19

    Bonsoir,

    Voici mes retours. Pour info, n’ayant pas la structure et le fichier d’origine, je n’ai pas pu tester et certains changements seront peut-être nécessaires.

    La fonction Buffer permet de mettre en memoir mais elle fait perdrevle Query Folding.

    Pour Ordre Mce :

    letn    Source = Table.Buffer('BDD'),n    RankColumn = Table.AddIndexColumn(Source, "Ordre Mce", 1, 1),n    RankedTable = Table.Buffer(Table.Sort(RankColumn,{{"Site", Order.Ascending}})),n    GroupedTable = Table.Group(RankedTable, {"Site"}, {{"NewTable", each _, type table}}),n    RankDense = Table.Combine(List.Transform(GroupedTable[NewTable], (t) => Table.AddIndexColumn(t, "Ordre Mce - Dense", 1, 1)))ninn    RankDense

    Pour Tranche Mce :

    letn    Source = Table.Buffer('BDD'),n    FilteredTable = Table.SelectRows(Source, each [Ordre Mce] = _[Ordre Mce]),n    RankColumn = Table.AddIndexColumn(FilteredTable, "Tranche Mce", 1, 1),n    RankedTable = Table.Buffer(Table.Sort(RankColumn,{{"Date", Order.Ascending}})),n    GroupedTable = Table.Group(RankedTable, {"Ordre Mce"}, {{"NewTable", each _, type table}}),n    RankDense = Table.Combine(List.Transform(GroupedTable[NewTable], (t) => Table.AddIndexColumn(t, "Tranche Mce - Dense", 1, 1)))ninn    RankDensen

    Pour Mce :

    letn    Source = Table.Buffer('BDD'),n    AddCustomColumn = Table.AddColumn(Source, "Mce", each n        letn            _ThisTranche = [Tranche Mce],n            _PrevDebes = List.Max(Table.SelectRows(Source, each [Ordre Mce] = _[Ordre Mce] and [Tranche Mce] < _ThisTranche and [Code message] = "debes")[Tranche Mce]),n            _PrevFines = List.Max(Table.SelectRows(Source, each [Ordre Mce] = _[Ordre Mce] and [Tranche Mce] < _ThisTranche and [Code message] = "fines")[Tranche Mce]),n            _Result = if [Code message] = "debes" then 1 else if [Code message] = "fines" then 1 else if _PrevDebes > _PrevFines then 1 else 0n        inn            _Resultn    )ninn    AddCustomColumn

    N’hésite pas à me faire ton retour.

    CommentID=AqukF8z9RC8q5U1, PostID=5IwPALSWYEFc6RO