Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
7 years ago
Solved

Index column only for specific value (Conditional index column)

Hello,   I am looking for some help with the index column. I have a long column (Column1) with text and want add an index column. The challenge is that the index should only be counted (+1) if in C...
  • Nolock's avatar
    7 years ago

    Hi Anonymous,

    I have a solution for you. Click through the steps and you will see how it works.

    I create an index on the original table. Then I create a second table "KeywordRowFullIndex" which contains only "Keyword" rows and create a secondary index on this smaller table. And in the end I join them together on the FullIndex.

     

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45W8k6tLM8vSlGK1YlWCkmtKFEwVACBGgWEiBFEBCyAodwYSRIsYIIuYIpPuxlMMhYA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Column1 = _t]),
        IndexColumn = Table.AddIndexColumn(Source, "FullIndex", 0, 1),
        KeywordRowFullIndex = Table.SelectRows(IndexColumn, each [Column1] = "Keyword"),
        SecondaryIndex = Table.AddIndexColumn(KeywordRowFullIndex, "Index", 1, 1),
        Join = Table.NestedJoin(IndexColumn, "FullIndex", SecondaryIndex, "FullIndex", "SecondaryIndex"),
        ExpandedSecondaryIndex = Table.ExpandTableColumn(Join, "SecondaryIndex", {"Index"}, {"Index"}),
        RemoveFullIndexColumn = Table.RemoveColumns(ExpandedSecondaryIndex,{"FullIndex"})
    in
        RemoveFullIndexColumn
  • v-juanli-msft's avatar
    v-juanli-msft
    7 years ago

    Hi Anonymous 

    As tested, Nolock 's solution should work.

    You don't need to filter data, just check my pbix.

     

    Best Regards
    Maggie

     

    Community Support Team _ Maggie Li
    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.