The ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM.
Get registeredEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends September 15. Request your voucher.
Hi all! I have a very simple model with 2 tables - one fact with cases and history and one date dimension in SSAS. I need a measure to count open cases at the start of each contextualized period. So for example:
Date | Open cases start of day |
01-01-2021 | 13400 |
02-02-2021 | 13230 |
03-02-2021 | 13300 |
Now, I can achieve this PER day in MSSQL with the following query:
DECLARE @FilterDate AS DATE;
SET @FilterDate = '2021-01-01'
Select COUNT(*)
FROM FactTable
WHERE TaskCompleted IS NULL
AND IsDeleted = 0
AND DW_ValidFrom < @FilterDate
AND DW_ValidTo >= @FilterDate
In SQL I can create a function that reiterates all of the dates needed for my date variable so I would get the table above. In my tabular model I have a 1:* relationship from DimDate to FactCases on DateKey to DW_ValidFrom
Could someone help me translate this seemingly easy query to a DAX statement?
Solved! Go to Solution.
@johnsmith92 , if you do not have an active join between two tables then you do not need a crossfilter. Make both join inactive
Hi @johnsmith92 ,
Try:
Count=
var _date=IF(SELECTEDVALUE('Date'[date])=BLANK(),DATE(2021,1,1),SELECTEDVALUE('Date'[date]))
Return
CALCULATE(COUNTROWS('FactTable'),FILTER(ALL('FactTable'),'FactTable'[TaskCompleted]=BLANK()&&'FactTable'[IsDeleted]=0&& 'FactTable'[DW_ValidFrom]<_date && 'FactTable'[DW_ValidTo]>=_date))
Best Regards,
Kelly
Did I answer your question? Mark my reply as a solution!
Hi @amitchandak. Thanks for your prompt reply! Unfortunately we are running SQL Server 2014, so I cannot use the CROSSFILTER function. Is there another way to write it?
@johnsmith92 , if you do not have an active join between two tables then you do not need a crossfilter. Make both join inactive
I did as you suggested, but now I'm getting some wild results that are not expected.
Hi @johnsmith92 ,
Is your issue solved now?
Best Regards,
Kelly
Did I answer your question? Mark my reply as a solution!
Yes, using inactive relations between tables does the trick. 🙂
Hi @johnsmith92 ,
Great!
Best Regards,
Kelly
Did I answer your question? Mark my reply as a solution!
User | Count |
---|---|
69 | |
69 | |
66 | |
55 | |
28 |
User | Count |
---|---|
112 | |
82 | |
66 | |
48 | |
43 |