Forum Discussion
scaballerom
3 years agoHelper I
DAX optimization
Hi all, I have a table of about 2M records, with a column, task_starting_datetime (dd.mm.yyyy HH:mm:ss), which is my reference date. I need the specific time on the datetime, so it's hard to link...
scaballerom
3 years agoHelper I
tamerj1
3 years agoCommunity Champion
scaballerom
Hi Sara,
Not sure why you're filtering ALL( 'Table' ) then filtering for the SELECTEDVALUE('Fact Tasks'[task_key]). It seems to me that this way you will end up with the original table that was there in the original filter context. Am I missing something? Please try one of the following
MedianDurationTaskR3M =
VAR NumberOfDays = 91
VAR CurrentYear =
YEAR ( TODAY () )
VAR MaxDay =
MAX ( 'Fact Tasks'[task_starting_datetime] )
VAR MinDay = MaxDay - NumberOfDays
VAR FilterContext =
FILTER (
'Fact Tasks',
YEAR ( 'Fact Tasks'[task_starting_datetime] ) = CurrentYear
&& 'Fact Tasks'[task_status] = "Completed"
&& ISBLANK ( 'Fact Tasks'[task_starting_datetime] ) = FALSE
&& 'Fact Tasks'[task_starting_datetime] <= MaxDay
&& 'Fact Tasks'[task_starting_datetime] > MinDay
)
VAR Result =
CALCULATE ( MEDIAN ( 'Fact Tasks'[task_duration_min] ), FilterContext )
RETURN
ResultMedianDurationTaskR3M =
VAR NumberOfDays = 91
VAR CurrentYear =
YEAR ( TODAY () )
VAR MaxDay =
MAX ( 'Fact Tasks'[task_starting_datetime] )
VAR MinDay = MaxDay - NumberOfDays
VAR FilterContext =
FILTER (
CALCULATETABLE (
'Fact Tasks',
ALLEXCEPT ( 'Fact Tasks', 'Fact Tasks'[task_key] )
),
YEAR ( 'Fact Tasks'[task_starting_datetime] ) = CurrentYear
&& 'Fact Tasks'[task_status] = "Completed"
&& ISBLANK ( 'Fact Tasks'[task_starting_datetime] ) = FALSE
&& 'Fact Tasks'[task_starting_datetime] <= MaxDay
&& 'Fact Tasks'[task_starting_datetime] > MinDay
)
VAR Result =
CALCULATE ( MEDIAN ( 'Fact Tasks'[task_duration_min] ), FilterContext )
RETURN
Result