Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
I have a difficult situation(to my limited DAX knowledge). Row Data tabel copied below.
I have a table like below. What I need is filter this tabel by maximum [Duration] (in this case Type = [Gri]). Then see other two lines( Type = [BL], [Cru] )[Start] and [End] falls within the [Start] and [Finish] of this item( Type =[Gri]). If the [Start] and [End] falls outside of item type = [Gri] then keep those one in the table otherwise exclude.
[Start] and [End] are times. Data is stored in a minute level granularity. I am putting type in the pivot table column. to get the [Start] and [End] I use MIN and MAX
Type Duration Start End
BL 6 13:13 13:18
Cru 5 13:00 13:04
Gri 18 13:13 13:30
So final table looks like below since Type [BL] falls within 13:13 and 13:30 time slot exclude that in the final result. I have explore using virtual tables since I only need the total duration of below two, which should be 23. Could you please assist me on this. Your help is much appriciated.
Type Duration Start End
Cru 5 13:00 13:04
Gri 18 13:13 13:30
Time | Type | Area | SubArea | Group |
13:13 | BL | A1 | SA1 | G1 |
13:14 | BL | A1 | SA1 | G1 |
13:15 | BL | A1 | SA1 | G1 |
13:16 | BL | A1 | SA1 | G1 |
13:17 | BL | A1 | SA1 | G1 |
13:18 | BL | A1 | SA1 | G1 |
13:13 | Gri | A1 | SA1 | G1 |
13:14 | Gri | A1 | SA1 | G1 |
13:15 | Gri | A1 | SA1 | G1 |
13:16 | Gri | A1 | SA1 | G1 |
13:17 | Gri | A1 | SA1 | G1 |
13:18 | Gri | A1 | SA1 | G1 |
13:19 | Gri | A1 | SA1 | G1 |
13:20 | Gri | A1 | SA1 | G1 |
13:21 | Gri | A1 | SA1 | G1 |
13:22 | Gri | A1 | SA1 | G1 |
13:23 | Gri | A1 | SA1 | G1 |
13:24 | Gri | A1 | SA1 | G1 |
13:25 | Gri | A1 | SA1 | G1 |
13:26 | Gri | A1 | SA1 | G1 |
13:27 | Gri | A1 | SA1 | G1 |
13:28 | Gri | A1 | SA1 | G1 |
13:29 | Gri | A1 | SA1 | G1 |
13:30 | Gri | A1 | SA1 | G1 |
13:00 | Gri | A1 | SA1 | G1 |
13:01 | Cru | A1 | SA1 | G1 |
13:02 | Cru | A1 | SA1 | G1 |
13:03 | Cru | A1 | SA1 | G1 |
13:04 | Cru | A1 | SA1 | G1 |
13:19 | Cru | A1 | SA1 | G1 |
Solved! Go to Solution.
Hi Jimmy,
Seems like this could work for me.
I have excluded some data in the miniute level granuality for the sake of simplicity.
My actual data looks like below. I need duration to calculate when only Avil column is '0'.
This is just a 30min sample only involving only 3 equips only. I have about 150 other type of equips.
What I am trying here is to get the total duration of area where Avil is '0' based on the orginal explenation. I am using Time Brush to change the time in the report.
I can email my PBIX file if you want to have a look.
You have been a great help so far.
Time | Equip | Avil | Area | SubArea | Group |
13:00 | BL | 1 | A1 | SA1 | G1 |
13:01 | BL | 1 | A1 | SA1 | G1 |
13:02 | BL | 1 | A1 | SA1 | G1 |
13:03 | BL | 1 | A1 | SA1 | G1 |
13:04 | BL | 1 | A1 | SA1 | G1 |
13:05 | BL | 1 | A1 | SA1 | G1 |
13:06 | BL | 1 | A1 | SA1 | G1 |
13:07 | BL | 1 | A1 | SA1 | G1 |
13:08 | BL | 1 | A1 | SA1 | G1 |
13:09 | BL | 1 | A1 | SA1 | G1 |
13:10 | BL | 1 | A1 | SA1 | G1 |
13:11 | BL | 1 | A1 | SA1 | G1 |
13:12 | BL | 1 | A1 | SA1 | G1 |
13:13 | BL | 0 | A1 | SA1 | G1 |
13:14 | BL | 0 | A1 | SA1 | G1 |
13:15 | BL | 0 | A1 | SA1 | G1 |
13:16 | BL | 0 | A1 | SA1 | G1 |
13:17 | BL | 0 | A1 | SA1 | G1 |
13:18 | BL | 0 | A1 | SA1 | G1 |
13:19 | BL | 1 | A1 | SA1 | G1 |
13:20 | BL | 1 | A1 | SA1 | G1 |
13:21 | BL | 1 | A1 | SA1 | G1 |
13:22 | BL | 1 | A1 | SA1 | G1 |
13:23 | BL | 1 | A1 | SA1 | G1 |
13:24 | BL | 1 | A1 | SA1 | G1 |
13:25 | BL | 1 | A1 | SA1 | G1 |
13:26 | BL | 1 | A1 | SA1 | G1 |
13:27 | BL | 1 | A1 | SA1 | G1 |
13:28 | BL | 1 | A1 | SA1 | G1 |
13:29 | BL | 1 | A1 | SA1 | G1 |
13:30 | BL | 1 | A1 | SA1 | G1 |
13:00 | Gri | 1 | A1 | SA1 | G1 |
13:01 | Gri | 1 | A1 | SA1 | G1 |
13:02 | Gri | 1 | A1 | SA1 | G1 |
13:03 | Gri | 1 | A1 | SA1 | G1 |
13:04 | Gri | 1 | A1 | SA1 | G1 |
13:05 | Gri | 1 | A1 | SA1 | G1 |
13:06 | Gri | 1 | A1 | SA1 | G1 |
13:07 | Gri | 1 | A1 | SA1 | G1 |
13:08 | Gri | 1 | A1 | SA1 | G1 |
13:09 | Gri | 1 | A1 | SA1 | G1 |
13:10 | Gri | 1 | A1 | SA1 | G1 |
13:11 | Gri | 1 | A1 | SA1 | G1 |
13:12 | Gri | 1 | A1 | SA1 | G1 |
13:13 | Gri | 0 | A1 | SA1 | G1 |
13:14 | Gri | 0 | A1 | SA1 | G1 |
13:15 | Gri | 0 | A1 | SA1 | G1 |
13:16 | Gri | 0 | A1 | SA1 | G1 |
13:17 | Gri | 0 | A1 | SA1 | G1 |
13:18 | Gri | 0 | A1 | SA1 | G1 |
13:19 | Gri | 0 | A1 | SA1 | G1 |
13:20 | Gri | 0 | A1 | SA1 | G1 |
13:21 | Gri | 0 | A1 | SA1 | G1 |
13:22 | Gri | 0 | A1 | SA1 | G1 |
13:23 | Gri | 0 | A1 | SA1 | G1 |
13:24 | Gri | 0 | A1 | SA1 | G1 |
13:25 | Gri | 0 | A1 | SA1 | G1 |
13:26 | Gri | 0 | A1 | SA1 | G1 |
13:27 | Gri | 0 | A1 | SA1 | G1 |
13:28 | Gri | 0 | A1 | SA1 | G1 |
13:29 | Gri | 0 | A1 | SA1 | G1 |
13:30 | Gri | 0 | A1 | SA1 | G1 |
13:00 | Cru | 0 | A1 | SA1 | G1 |
13:01 | Cru | 0 | A1 | SA1 | G1 |
13:02 | Cru | 0 | A1 | SA1 | G1 |
13:03 | Cru | 0 | A1 | SA1 | G1 |
13:04 | Cru | 0 | A1 | SA1 | G1 |
13:05 | Cru | 1 | A1 | SA1 | G1 |
13:06 | Cru | 1 | A1 | SA1 | G1 |
13:07 | Cru | 1 | A1 | SA1 | G1 |
13:08 | Cru | 1 | A1 | SA1 | G1 |
13:09 | Cru | 1 | A1 | SA1 | G1 |
13:10 | Cru | 1 | A1 | SA1 | G1 |
13:11 | Cru | 1 | A1 | SA1 | G1 |
13:12 | Cru | 1 | A1 | SA1 | G1 |
13:13 | Cru | 1 | A1 | SA1 | G1 |
13:14 | Cru | 1 | A1 | SA1 | G1 |
13:15 | Cru | 1 | A1 | SA1 | G1 |
13:16 | Cru | 1 | A1 | SA1 | G1 |
13:17 | Cru | 1 | A1 | SA1 | G1 |
13:18 | Cru | 1 | A1 | SA1 | G1 |
13:19 | Cru | 0 | A1 | SA1 | G1 |
13:20 | Cru | 1 | A1 | SA1 | G1 |
13:21 | Cru | 1 | A1 | SA1 | G1 |
13:22 | Cru | 1 | A1 | SA1 | G1 |
13:23 | Cru | 1 | A1 | SA1 | G1 |
13:24 | Cru | 1 | A1 | SA1 | G1 |
13:25 | Cru | 1 | A1 | SA1 | G1 |
13:26 | Cru | 1 | A1 | SA1 | G1 |
13:27 | Cru | 1 | A1 | SA1 | G1 |
13:28 | Cru | 1 | A1 | SA1 | G1 |
13:29 | Cru | 1 | A1 | SA1 | G1 |
13:30 | Cru | 1 | A1 | SA1 | G1 |
You just need to modify the dax of first table like below:
New Table = SUMMARIZE ( FILTER ( 'Table', 'Table'[Avil] = 0 ), 'Table'[Type], "Duration", CALCULATE ( COUNTROWS ( 'Table' ), ALLEXCEPT ( 'Table', 'Table'[Type] ) ), "Start", CALCULATE ( MIN ( 'Table'[Time] ), ALLEXCEPT ( 'Table', 'Table'[Type] ) ), "End", CALCULATE ( MAX ( 'Table'[Time] ), ALLEXCEPT ( 'Table', 'Table'[Type] ) ) )
Community Support Team _ Jimmy Tao
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
You can create two tables using DAX below:
New Table = SUMMARIZE ( 'Table', 'Table'[Type], "Duration", CALCULATE ( COUNTROWS ( 'Table' ), ALLEXCEPT ( 'Table', 'Table'[Type] ) ), "Start", CALCULATE ( MIN ( 'Table'[Time] ), ALLEXCEPT ( 'Table', 'Table'[Type] ) ), "End", CALCULATE ( MAX ( 'Table'[Time] ), ALLEXCEPT ( 'Table', 'Table'[Type] ) ) )
Result = VAR Gri_Start = CALCULATE(MIN('New Table'[Start]), FILTER('New Table', 'New Table'[Type] = "Gri")) VAR Gri_End = CALCULATE(MIN('New Table'[End]), FILTER('New Table', 'New Table'[Type] = "Gri")) RETURN FILTER('New Table', 'New Table'[Start] < Gri_Start || 'New Table'[End] > Gri_End)
Community Support Team _ Jimmy Tao
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi Jimmy,
Seems like this could work for me.
I have excluded some data in the miniute level granuality for the sake of simplicity.
My actual data looks like below. I need duration to calculate when only Avil column is '0'.
This is just a 30min sample only involving only 3 equips only. I have about 150 other type of equips.
What I am trying here is to get the total duration of area where Avil is '0' based on the orginal explenation. I am using Time Brush to change the time in the report.
I can email my PBIX file if you want to have a look.
You have been a great help so far.
Time | Equip | Avil | Area | SubArea | Group |
13:00 | BL | 1 | A1 | SA1 | G1 |
13:01 | BL | 1 | A1 | SA1 | G1 |
13:02 | BL | 1 | A1 | SA1 | G1 |
13:03 | BL | 1 | A1 | SA1 | G1 |
13:04 | BL | 1 | A1 | SA1 | G1 |
13:05 | BL | 1 | A1 | SA1 | G1 |
13:06 | BL | 1 | A1 | SA1 | G1 |
13:07 | BL | 1 | A1 | SA1 | G1 |
13:08 | BL | 1 | A1 | SA1 | G1 |
13:09 | BL | 1 | A1 | SA1 | G1 |
13:10 | BL | 1 | A1 | SA1 | G1 |
13:11 | BL | 1 | A1 | SA1 | G1 |
13:12 | BL | 1 | A1 | SA1 | G1 |
13:13 | BL | 0 | A1 | SA1 | G1 |
13:14 | BL | 0 | A1 | SA1 | G1 |
13:15 | BL | 0 | A1 | SA1 | G1 |
13:16 | BL | 0 | A1 | SA1 | G1 |
13:17 | BL | 0 | A1 | SA1 | G1 |
13:18 | BL | 0 | A1 | SA1 | G1 |
13:19 | BL | 1 | A1 | SA1 | G1 |
13:20 | BL | 1 | A1 | SA1 | G1 |
13:21 | BL | 1 | A1 | SA1 | G1 |
13:22 | BL | 1 | A1 | SA1 | G1 |
13:23 | BL | 1 | A1 | SA1 | G1 |
13:24 | BL | 1 | A1 | SA1 | G1 |
13:25 | BL | 1 | A1 | SA1 | G1 |
13:26 | BL | 1 | A1 | SA1 | G1 |
13:27 | BL | 1 | A1 | SA1 | G1 |
13:28 | BL | 1 | A1 | SA1 | G1 |
13:29 | BL | 1 | A1 | SA1 | G1 |
13:30 | BL | 1 | A1 | SA1 | G1 |
13:00 | Gri | 1 | A1 | SA1 | G1 |
13:01 | Gri | 1 | A1 | SA1 | G1 |
13:02 | Gri | 1 | A1 | SA1 | G1 |
13:03 | Gri | 1 | A1 | SA1 | G1 |
13:04 | Gri | 1 | A1 | SA1 | G1 |
13:05 | Gri | 1 | A1 | SA1 | G1 |
13:06 | Gri | 1 | A1 | SA1 | G1 |
13:07 | Gri | 1 | A1 | SA1 | G1 |
13:08 | Gri | 1 | A1 | SA1 | G1 |
13:09 | Gri | 1 | A1 | SA1 | G1 |
13:10 | Gri | 1 | A1 | SA1 | G1 |
13:11 | Gri | 1 | A1 | SA1 | G1 |
13:12 | Gri | 1 | A1 | SA1 | G1 |
13:13 | Gri | 0 | A1 | SA1 | G1 |
13:14 | Gri | 0 | A1 | SA1 | G1 |
13:15 | Gri | 0 | A1 | SA1 | G1 |
13:16 | Gri | 0 | A1 | SA1 | G1 |
13:17 | Gri | 0 | A1 | SA1 | G1 |
13:18 | Gri | 0 | A1 | SA1 | G1 |
13:19 | Gri | 0 | A1 | SA1 | G1 |
13:20 | Gri | 0 | A1 | SA1 | G1 |
13:21 | Gri | 0 | A1 | SA1 | G1 |
13:22 | Gri | 0 | A1 | SA1 | G1 |
13:23 | Gri | 0 | A1 | SA1 | G1 |
13:24 | Gri | 0 | A1 | SA1 | G1 |
13:25 | Gri | 0 | A1 | SA1 | G1 |
13:26 | Gri | 0 | A1 | SA1 | G1 |
13:27 | Gri | 0 | A1 | SA1 | G1 |
13:28 | Gri | 0 | A1 | SA1 | G1 |
13:29 | Gri | 0 | A1 | SA1 | G1 |
13:30 | Gri | 0 | A1 | SA1 | G1 |
13:00 | Cru | 0 | A1 | SA1 | G1 |
13:01 | Cru | 0 | A1 | SA1 | G1 |
13:02 | Cru | 0 | A1 | SA1 | G1 |
13:03 | Cru | 0 | A1 | SA1 | G1 |
13:04 | Cru | 0 | A1 | SA1 | G1 |
13:05 | Cru | 1 | A1 | SA1 | G1 |
13:06 | Cru | 1 | A1 | SA1 | G1 |
13:07 | Cru | 1 | A1 | SA1 | G1 |
13:08 | Cru | 1 | A1 | SA1 | G1 |
13:09 | Cru | 1 | A1 | SA1 | G1 |
13:10 | Cru | 1 | A1 | SA1 | G1 |
13:11 | Cru | 1 | A1 | SA1 | G1 |
13:12 | Cru | 1 | A1 | SA1 | G1 |
13:13 | Cru | 1 | A1 | SA1 | G1 |
13:14 | Cru | 1 | A1 | SA1 | G1 |
13:15 | Cru | 1 | A1 | SA1 | G1 |
13:16 | Cru | 1 | A1 | SA1 | G1 |
13:17 | Cru | 1 | A1 | SA1 | G1 |
13:18 | Cru | 1 | A1 | SA1 | G1 |
13:19 | Cru | 0 | A1 | SA1 | G1 |
13:20 | Cru | 1 | A1 | SA1 | G1 |
13:21 | Cru | 1 | A1 | SA1 | G1 |
13:22 | Cru | 1 | A1 | SA1 | G1 |
13:23 | Cru | 1 | A1 | SA1 | G1 |
13:24 | Cru | 1 | A1 | SA1 | G1 |
13:25 | Cru | 1 | A1 | SA1 | G1 |
13:26 | Cru | 1 | A1 | SA1 | G1 |
13:27 | Cru | 1 | A1 | SA1 | G1 |
13:28 | Cru | 1 | A1 | SA1 | G1 |
13:29 | Cru | 1 | A1 | SA1 | G1 |
13:30 | Cru | 1 | A1 | SA1 | G1 |
You just need to modify the dax of first table like below:
New Table = SUMMARIZE ( FILTER ( 'Table', 'Table'[Avil] = 0 ), 'Table'[Type], "Duration", CALCULATE ( COUNTROWS ( 'Table' ), ALLEXCEPT ( 'Table', 'Table'[Type] ) ), "Start", CALCULATE ( MIN ( 'Table'[Time] ), ALLEXCEPT ( 'Table', 'Table'[Type] ) ), "End", CALCULATE ( MAX ( 'Table'[Time] ), ALLEXCEPT ( 'Table', 'Table'[Type] ) ) )
Community Support Team _ Jimmy Tao
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
117 | |
104 | |
77 | |
73 | |
52 |
User | Count |
---|---|
145 | |
109 | |
109 | |
90 | |
64 |