Reply To: Transformation formule DAX en langage M

  • Jeremy

    Member
    16 avril 2023 at 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