Forum Discussion

Attrywa's avatar
Attrywa
Frequent Visitor
2 years ago
Solved

Check if value exists in group

Hello everyone!
I need some help in case below:
There are two tables A and B:

And I would need to create an additional flag in dax (1/0) -  if the LogGroup from table B contains LogKey = 124 then mark whole group as 1 (and therefore whole customer as 1) otherwise mark as 0

The logic for this in SQL would be like: 
max( case when B.LogKey = 124 then 1 else 0 end ) OVER (PARTITION BY A.Customer) as Flag

 

 

 

THANK YOU ! 

  • Anonymous's avatar
    Anonymous
    2 years ago

    Hi Attrywa ,

     

    Please try:

     

    Create a calculated column in Table A:

    Flag =
    VAR CurrentGroup = 'Table A'[LogGroupKey]
    VAR LogKeyCheck = CALCULATE(
         MAXX(
             RELATEDTABLE('Table B'),
             IF('Table B'[LogKey] = 124, 1, 0)
         ),
         FILTER(
             'Table B',
             'Table B'[LogGroupKey] = CurrentGroup
         )
    )
    RETURN IF(LogKeyCheck = 1, 1, 0)

     

    The page effect is as follows:

     

    pbix file is attached.

     

    If you have any further questions please feel free to contact me.

     

    Best Regards,
    Yang
    Community Support Team

     

    If there is any post helps, then please consider Accept it as the solution  to help the other members find it more quickly.
    If I misunderstand your needs or you still have problems on it, please feel free to let us know. Thanks a lot!

  • Attrywa 

    you can create a column

    Column = if(ISBLANK( maxx(FILTER(TableB,TableB[LogKey]=124&&TableA[LogGroupKey]=TableB[LogGroupKey]),TableB[LogKey])),0,1)
     
    or a measure
    Measure =
    if(ISBLANK(maxx(FILTER(all(TableB),'TableB'[LogGroupKey]=max('TableA'[LogGroupKey])&&'TableB'[LogKey]=124),TableB[LogKey])),0,1)
     
     
    pls see the attachment below

2 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi Attrywa ,

     

    Please try:

     

    Create a calculated column in Table A:

    Flag =
    VAR CurrentGroup = 'Table A'[LogGroupKey]
    VAR LogKeyCheck = CALCULATE(
         MAXX(
             RELATEDTABLE('Table B'),
             IF('Table B'[LogKey] = 124, 1, 0)
         ),
         FILTER(
             'Table B',
             'Table B'[LogGroupKey] = CurrentGroup
         )
    )
    RETURN IF(LogKeyCheck = 1, 1, 0)

     

    The page effect is as follows:

     

    pbix file is attached.

     

    If you have any further questions please feel free to contact me.

     

    Best Regards,
    Yang
    Community Support Team

     

    If there is any post helps, then please consider Accept it as the solution  to help the other members find it more quickly.
    If I misunderstand your needs or you still have problems on it, please feel free to let us know. Thanks a lot!

  • Attrywa 

    you can create a column

    Column = if(ISBLANK( maxx(FILTER(TableB,TableB[LogKey]=124&&TableA[LogGroupKey]=TableB[LogGroupKey]),TableB[LogKey])),0,1)
     
    or a measure
    Measure =
    if(ISBLANK(maxx(FILTER(all(TableB),'TableB'[LogGroupKey]=max('TableA'[LogGroupKey])&&'TableB'[LogKey]=124),TableB[LogKey])),0,1)
     
     
    pls see the attachment below