Forum Discussion
Dynamic Column Count Based on Date Slicer Selection
- 9 years ago
Here's my thought on how to tackle this. I created your table in Excel and imported it into PBI, then did the following:
- Created a date table
DateTable = Calendar(Minx(table1,Table1[Date]),Now())
- To the date table I added 3 calculated columns, purpose being to count how many claims have been opened, reopened, and closed all time as of that date:
AllTimeOpened = CALCULATE( COUNTROWS(Table1), FILTER(Table1, DateTable[Date] >= Table1[Date] && Table1[Status] = "Open") )AllTimeReopened = CALCULATE( COUNTROWS(Table1), FILTER(Table1, DateTable[Date] >= Table1[Date] && Table1[Status] = "Reopened") )AllTimeClosed = CALCULATE( COUNTROWS(Table1), FILTER(Table1, DateTable[Date] >= Table1[Date] && Table1[Status] = "Closed") )- Then to the date table, I added another calculated column called "Open Cases"
Open Cases = CALCULATE( VALUES(DateTable[AllTimeOpened]) + VALUES(DateTable[AllTimeReopened]) - VALUES(DateTable[AllTimeClosed] ) )
The result of all this is that I have a count in my date table of how many actively open cases there are on any given day. I can chart this out, but if I try to make a card/slicer it gives me inaccurate data because it sums up my column. Instead I probably want to make it a calculated measure instead. The measure will only be meaningful if a date slicer is used, so I wrote it as such:
Open Measure = IFERROR( CALCULATE( VALUES(DateTable[AllTimeOpened]) + VALUES(DateTable[AllTimeReopened]) - VALUES(DateTable[AllTimeClosed] ) ), "Use Slicer")Might be a better way to do that.
Anyway, here are the visual results:
Is this on the right path of what you're looking for?
Dan
- Created a date table
danrmcallister I'm running into an error with trying to create the measure - it's telling me that the syntax is incorrect. Any ideas on why I might be getting that error?
My Measure in the Date Table:
Open Measure = CALCULATE(
VALUES(Date[AllTimeOpened])+
VALUES('Date'[AllTimeReopened]) -
VALUES('Date'[AllTimeClosed]))
ERROR:
The syntax for '[AllTimeOpened]' is incorrect. (DAX(CALCULATE( VALUES(Date[AllTimeOpened])+ VALUES('Date'[AllTimeReopened]) - VALUES('Date'[AllTimeClosed])))).
The "AllTimeOpened", "AllTimeReopened", and "AllTimeClosed" fields you see below were calculated columns I created against my date table. Did you complete that step first?
- MoreDataPlease9 years agoFrequent Visitor
danrmcallister I created all three of the calculated columns, and I just realized the VERY basic obvious reason why I was getting a syntax error. I didn't have Date in quotes for the first VALUES in my measure. I have now fixed that and my error is gone. I can now officially test the code. Thank you again for your time!
- MoreDataPlease9 years agoFrequent Visitor
danrmcallister The good news - I was able to get this to work, and the logic works for filtering by date. The problem I'm realizing is that I can't have the counts in the Date table because if the user wants to filter the data by anything else (additional fields that I didn't show but are common for the user to bring into the Data table like cause of loss) they won't be able to filter by any additional fields. Thank you for all of your time.
- danrmcallister9 years agoResolver II
Did you try creating a relationship between your date table and your fact table based on the date? It should work!