Forum Discussion

Giovani's avatar
Giovani
Icon for Helper I rankHelper I
5 years ago

Dynamic filter bases on two columns

I am struggling with something that may be simple to solve. I want to make a dynamic bar chart, by year and month, to present counts of distinct ID that fits the criteria based on columns Filter1 and Filter2. For simplicity, I am only using as an example a few lines from a large table assuming all are from the same year and month.

ID

Filter1

Filter2

ID1

A

D

ID1

B

D

ID2

A

F

ID2

B

E

ID3

A

D

ID3

B

F

ID4

B

D

ID4

C

D

ID5

B

D

ID5

C

E

ID6

A

D

ID6

B

D

ID6

C

D

 

An example of the questions I am trying to visualize is?

1-How many times A and B were concomitantly present in an ID? Answer = 4 (ID1;ID2;ID3;ID6). This would later answer a similar question to B and C, or for the three A, B, and C.

2- How many times A and B were concomitantly present in an ID and A had Filter2= D and B had Filter2=  D?

Answer= 2 (ID1; ID6)

2- How many times A and B were concomitantly present in an ID and A had Filter2=  D and B had Filter2=  E?

Answer= 0

 

Any help in how I could do this is welcome!

 

2 Replies

  • Giovani , First 2 should be possible using

    measure =
    var _cnt = countrows(selectedvalues(Table[Filter1]))
    return
    countx(filter(summarize(table,Table[ID],"_1" ,calculate(distinctCOUNT(Table[ID]))),[_1]=_cnt),[_1])

     

    Last on can not be dynamic unless you can cat two fields or try like


    measure =
    var _cnt = countrows(selectedvalues(Table[Filter1]))
    return
    countx(filter(summarize(table,Table[ID],"_1" ,calculate(distinctCOUNT(Table[ID]), filter(Table, (Table[Filter1] ="A" && Table[Filter2] ="D") || (Table[Filter1] ="B" && Table[Filter2] ="E" )))),[_1]=_cnt),[_1])

    • Giovani's avatar
      Giovani
      Icon for Helper I rankHelper I

      amitchandak  Thanks for the help. But I couldn`t make it work.

      Syntax error:

      The syntax for 'Table' is incorrect. (DAX(var _cnt = countrows(selectedvalue(Table[Filter1]))returncountx(filter(summarize(table,Table[ID],"_1" ,calculate(distinctCOUNT(Table[ID]))),[_1]=_cnt),[_1]))).