Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
2 years ago
Solved

Measure for query using IN statement

Hello, I need to write a measure to do the following query. 

SELECT count(*)
FROM table 1 a
WHERE a.code IN
(select b.code from table 2 b where b.id = selectedvalue(table3[id])

 

Appreciate any help/suggestions, Thank you!

 

  • Anonymous's avatar
    Anonymous
    2 years ago

    Hi Anonymous 

     

    Have you solved your problem? If so, can you share your solution here and mark the correct answer as a standard answer to help other members find it faster? Thank you very much for your kind cooperation!

     

    Best Regards

    Zhengdong Xu
    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

5 Replies

  • aduguid's avatar
    aduguid
    Memorable Member

    Try this measure out 

    SelectedCount = 
    VAR SelectedID = SELECTEDVALUE(Table3[id])
    VAR FilteredCodes = 
        CALCULATETABLE(
            VALUES(Table2[code]),
            Table2[id] = SelectedID
        )
    RETURN
        CALCULATE(
            COUNTROWS(Table1),
            Table1[code] IN FilteredCodes
        )

     

    • Anonymous's avatar
      Anonymous
      Not applicable

      Thanks for a quick respond! When tried your solution it took loong time and got a message "Couldn't load the data for this visual". Table1 has more than 10 mln records and I have filters for visuals on the page. May be I need to add filters to the measure also? If you can add to your solution for table1 source_id = 1 and service_id = 2 ? Many thanks! 

      • aduguid's avatar
        aduguid
        Memorable Member

        I tried to refactor the DAX 

        SelectedCount = 
        VAR SelectedID = SELECTEDVALUE(Table3[id])
        RETURN
            CALCULATE(
                COUNTROWS(Table1),
                FILTER(
                    Table1,
                    Table1[code] IN 
                    CALCULATETABLE(
                        VALUES(Table2[code]),
                        Table2[id] = SelectedID
                    )
                )
            )