Get certified for free when you join Fabric Data Days 2026 and dive into Fabric, Power BI, SQL, AI, and other essential data skills.
Join nowData Days is here! Join us now for 60+ days of learning, challenges, and connection. Learn more
Hi,
I have a dataset that looks like this. I want to flag the first instance for every day, for various locations (Facility & Room). The results should look like the last column.
Would this be better to execute in Power Query or via the Table View using DAX?
Should I sort the table first?
Much appreciated in advance for the advice!
| Facility | Room | Event Date-Time | First Instance |
| GHJ | 1 | 06/01/2023 8:00:00 AM | 1 |
| GHJ | 1 | 06/01/2023 10:00:00 AM | 0 |
| GHJ | 1 | 06/01/2023 12:00:00 PM | 0 |
| GHJ | 2 | 06/01/2023 7:00:00 AM | 1 |
| GHJ | 2 | 06/01/2023 8:00:00 AM | 0 |
| GHJ | 2 | 06/01/2023 10:00:00 AM | 0 |
| GHJ | 2 | 06/01/2023 11:00:00 AM | 0 |
| KPK | 1 | 06/01/2023 8:00:00 AM | 1 |
| KPK | 1 | 06/01/2023 10:00:00 AM | 0 |
| KPK | 1 | 06/01/2023 11:00:00 AM | 0 |
| KPK | 2 | 06/01/2023 10:00:00 AM | 1 |
| KPK | 2 | 06/01/2023 11:00:00 AM | 0 |
| KPK | 3 | 06/01/2023 7:00:00 AM | 1 |
| KPK | 3 | 06/01/2023 9:00:00 AM | 0 |
Solved! Go to Solution.
DAX:
CalculatedColumn=IF(COUNTROWS(FILTER(Table,Table[Facility]=EARLIER(Table[Facility])&&Table[Room]=EARLIER(Table[Room])&&Table[Event Date-Time]<EARLIER(Table[Event Date-Time]))),0,1)
Measure=IF(CACULATE(COUNTROWS(Table),Table[Event Date-Time]<MIN(Table[Event Date-Time])),0,1)
Power Query code:
NewStep=let a=Table.Group(Table,{"Facility","Room"},{"MinTime",each List.Min([#"Event Date-Time"]}) in Table.AddColumn(Table,"First Instance",each if a{[Facility=[Facility],Room=[Room]]}[MinTime]=[#"Event Date-Time"] then 1 else 0)
Hi @elendil5259, it is also possible in Power Query.
Result
v1
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WcvfwUtJRMgRiAzN9A0N9IwMjYwULKwMDIFJw9FWK1cGhxtCAGEVGUEUByIqMUBWZYzPIiAgXGRHjInRFhqiKvAO8Cfofqxp027ArwmobAXdjV4TVJGO8IQlUo4CpyBJJUSwA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Facility = _t, Room = _t, #"Event Date-Time" = _t]),
GroupedRows = Table.Group(Source, {"Facility", "Room"}, {{"All", each _, type table}}),
Ad_FirstInstance = Table.AddColumn(GroupedRows, "First Instance", each
[ a = {1} & List.Repeat({0}, Table.RowCount([All]) -1),
b = Table.FromColumns(Table.ToColumns([All]) & {a}, Table.ColumnNames([All]) & {"First Instance"})
][b], Int64.Type),
CombinedFirstInstance = Table.Combine(Ad_FirstInstance[First Instance])
in
CombinedFirstInstancev2
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WcvfwUtJRMgRiAzN9A0N9IwMjYwULKwMDIFJw9FWK1cGhxtCAGEVGUEUByIqMUBWZYzPIiAgXGRHjInRFhqiKvAO8Cfofqxp027ArwmobAXdjV4TVJGO8IQlUo4CpyBJJUSwA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Facility = _t, Room = _t, #"Event Date-Time" = _t]),
GroupedRows = Table.Group(Source, {"Facility", "Room"}, {{"All", each _, type table}}),
Ad_FirstInstance = Table.Combine(List.Transform(GroupedRows[All], each Table.FromColumns(Table.ToColumns(_) & { {1} & List.Repeat({0}, Table.RowCount(_) -1) }, Table.ColumnNames(GroupedRows{0}[All]) & {"First Instance"} )))
in
Ad_FirstInstance
In dax, create a calculated column, this is the formula:
DAX:
CalculatedColumn=IF(COUNTROWS(FILTER(Table,Table[Facility]=EARLIER(Table[Facility])&&Table[Room]=EARLIER(Table[Room])&&Table[Event Date-Time]<EARLIER(Table[Event Date-Time]))),0,1)
Measure=IF(CACULATE(COUNTROWS(Table),Table[Event Date-Time]<MIN(Table[Event Date-Time])),0,1)
Power Query code:
NewStep=let a=Table.Group(Table,{"Facility","Room"},{"MinTime",each List.Min([#"Event Date-Time"]}) in Table.AddColumn(Table,"First Instance",each if a{[Facility=[Facility],Room=[Room]]}[MinTime]=[#"Event Date-Time"] then 1 else 0)
Don't miss out on Data Days, June 15 through August 7. Learn Fabric, Power BI, SQL, AI and more.
Check out the May 2026 Power BI update to learn about new features.
| User | Count |
|---|---|
| 4 | |
| 4 | |
| 2 | |
| 2 | |
| 1 |
| User | Count |
|---|---|
| 11 | |
| 11 | |
| 5 | |
| 4 | |
| 4 |