Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Enhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.

Reply
a-rychen
New Member

How to use Contains with condition in Summarize

Hi guys,

 

I am new to power BI, and got a DAX problem.

 

I Have Historic data as below

 

[Historic Table]

 

GUID      |  Date  |  DeviceID  |   Alert

----------------------------------------------------

AAAAA   | 3/27   |        a           |      1

BBBBB    | 3/27   |        a           |      0

CCCCC   | 3/27   |        b           |      0

DDDDD  | 3/26   |        a           |      1

EEEEEE    | 3/26   |        a           |      0

FFFFFF    | 3/26   |        b           |      1

-----------------------------------------------------

 

And I want to create a new table called Device Summary which summarized the device ID and latest date , and Alert (If any is 1 in the same date , than 1)  from the historic Data.

 

Just like the table below.

 

[Device Summary]

 

DeviceID   | MAX Date        |   Alert

----------------------------------------------------

a                |      3/27              |        True  

b                |      3/27              |        False     

-----------------------------------------------------

 

So I use below DAX to create table,

 

DeviceSummary = ( 

  SUMMARIZE(

    Historic, Historic[DeviceID],

    "MAX Date", MAX('Historic[Date]),

    "Alert",IF(

      CONTAINS('Historic','Historic[Alert],1),"True","False"

    )

  )

)

 

But I got the wrong result as below

 

DeviceID   | MAX Date        |   Alert

----------------------------------------------------

a                |      3/27              |        True  

b                |      3/27              |        True

-----------------------------------------------------

 

Looks like "CONTAINS" operator search all the data row in Historic Table, how can I use "Contains" with condition which just find data in latest date.

1 ACCEPTED SOLUTION
Anonymous
Not applicable

Hi @a-rychen ,

Please use following calculate table formula to create summary table:

Summary table =
ADDCOLUMNS (
    SUMMARIZE ( Table1, [DeviceID], "L Date", MAX ( Table1[Date] ) ),
    "Alert", COUNTROWS (
        FILTER (
            ALL ( table1 ),
            [DeviceID] = EARLIER ( [DeviceID] )
                && [Date] = EARLIER ( [L Date] )
                && [Alert] = 1
        )
    ) > 0
)

Regards,

Xiaoxin Sheng

View solution in original post

2 REPLIES 2
Anonymous
Not applicable

Hi @a-rychen ,

Please use following calculate table formula to create summary table:

Summary table =
ADDCOLUMNS (
    SUMMARIZE ( Table1, [DeviceID], "L Date", MAX ( Table1[Date] ) ),
    "Alert", COUNTROWS (
        FILTER (
            ALL ( table1 ),
            [DeviceID] = EARLIER ( [DeviceID] )
                && [Date] = EARLIER ( [L Date] )
                && [Alert] = 1
        )
    ) > 0
)

Regards,

Xiaoxin Sheng

Hi, @Anonymous 

It perfectly resolve my problem, Thank you.

Helpful resources

Announcements
July PBI25 Carousel

Power BI Monthly Update - July 2025

Check out the July 2025 Power BI update to learn about new features.

Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.

June 2025 community update carousel

Fabric Community Update - June 2025

Find out what's new and trending in the Fabric community.