Forum Discussion
DAX: SELECTEDVALUE with Dates
- 7 years ago
Giavo I am just looking for sample data not actual data, but anyway I guess you are looking for this..
Test122Count =
VAR _SelectedYear = SELECTEDVALUE(_DimDate[Year])
VAR _Temp = FILTER(Test122,
((YEAR(Test122[Date1])<=_SelectedYear || YEAR(Test122[Date2])<=_SelectedYear) && (YEAR(Test122[Date3])>=_SelectedYear || YEAR(Test122[Date4])>=_SelectedYear)))
VAR _Temp1 = IF(COUNTROWS(_Temp)>0,1,0)
RETURN SUMX(_Temp,_Temp1) - 7 years ago
Hi Giavo,
I think the following formula should do what you expect, essentially it will count the rows on the 'Project Milestones' table where the conditions are met based on the selected value
Active in X = VAR SelectedYear=SELECTEDVALUE('Calendar'[Year]) RETURN Calculate(CountRows('Project Milestones'), FILTER('Project Milestones', (YEAR(Date 1)<=SelectedYear || YEAR(Date 2)<=SelectedYear) && (YEAR(Date 3)>= SelectedYear || YEAR(Date 4)>=SelectedYear)))
Giavo I am just looking for sample data not actual data, but anyway I guess you are looking for this..
Test122Count =
VAR _SelectedYear = SELECTEDVALUE(_DimDate[Year])
VAR _Temp = FILTER(Test122,
((YEAR(Test122[Date1])<=_SelectedYear || YEAR(Test122[Date2])<=_SelectedYear) && (YEAR(Test122[Date3])>=_SelectedYear || YEAR(Test122[Date4])>=_SelectedYear)))
VAR _Temp1 = IF(COUNTROWS(_Temp)>0,1,0)
RETURN SUMX(_Temp,_Temp1)
What if I wanted to select a date range instead of passing the year in the Selectedvalue function. In my case, I have created a measure to get the Active employee count when I select the date as mentioned below
Active emp =
VAR _currdate =
SELECTEDVALUE ( 'edw DateDimension_Vw'[Date_Dt] )
var _firstStartdate = MIN('edw EmployeeHistoryDimension_Vw'[EffectiveStartDate])
VAR _employees =
CALCULATE (
COUNTROWS (
FILTER (
'edw EmployeeHistoryDimension_Vw',
'edw EmployeeHistoryDimension_Vw'[EffectiveEndDate] >= _currdate
&& 'edw EmployeeHistoryDimension_Vw'[EffectiveStartDate] <= _currdate
)
),
'edw EmployeeHistoryDimension_Vw'[StatusDescr] = "Active"
)
RETURN
IF ( ISBLANK ( _employees ), 0, _employees )
Now I would like to select a date range where(from date>hire date and to date between the effective start date and effective end date) how can I achieve this requirement?