Forum Discussion

greta's avatar
greta
Frequent Visitor
2 years ago
Solved

List.Accumulate or what?

Dear All, thank you for your time.  I have a request that seems really complicated to me, I don't know if it's achievable. I've recreeated the data I'm working with in a simplified table that I'm po...
  • AlienSx's avatar
    2 years ago

    Hello, greta 

    let
        Source = simplified_table,
        z = Table.Group(
            Source, {"prog"}, 
            {{
                "on_hold", 
                each List.PositionOf(
                    Table.Sort(_, {"index", Order.Descending})[status],
                    "on hold", 
                    Occurrence.First, 
                    (x, y) => x <> y
                )
            }}
        )
    in
        z
  • AlienSx's avatar
    AlienSx
    2 years ago

    greta I did not consider the case when all values are On Hold. Try this instead:

    let
        Source = Lista_OnHold,
        z = Table.Group(
            Source, {"MercatusCode"},
            {{
                "On_Hold",
                each 
                    [lst = Table.Sort(_, {"Index.1", Order.Descending})[ProjectStatusInternal.1],
                    pozz = List.PositionOf(lst, "On Hold", Occurrence.First, (x, y) => x <> y),
                    zz = if pozz = -1 then List.Count(lst) else pozz][zz]
            }}
        )
    in
        z