Starting December 3, join live sessions with database experts and the Microsoft product team to learn just how easy it is to get started
Learn moreGet certified in Microsoft Fabric—for free! For a limited time, get a free DP-600 exam voucher to use by the end of 2024. Register now
I have a table as follows. I want to get a count of names between start and end date. the result is a table like figure 2. I have a datetable related to this table. When I do the measure, it is just giving me a count based on start date. So, if I have two that started on 1.3 then it shows a 2. Which is not what I want.
The Measure I tried is this:
Name Start_Date End_Date
Abby | Tuesday, January 1, 2019 | Thursday, January 3, 2019 |
Bill | Wednesday, January 2, 2019 | Wednesday, January 2, 2019 |
Chris | Thursday, January 3, 2019 | Saturday, January 5, 2019 |
Dave | Thursday, January 3, 2019 | Friday, January 4, 2019 |
Elliot | Friday, January 4, 2019 | Wednesday, January 9, 2019 |
Frank | Saturday, January 5, 2019 | Monday, January 7, 2019 |
DESIRED RESULT SET
Date | Employee Count |
1/1/2019 | 1 |
1/2/2019 | 2 |
1/3/2019 | 3 |
1/4/2019 | 3 |
1/5/2019 | 3 |
1/6/2019 | 2 |
1/7/2019 | 2 |
1/8/2019 | 1 |
1/9/2019 | 1 |
Solved! Go to Solution.
Hi @joshcomputer1 ,
Your measure is correct however your datetable needs to be disconnected from your Test Table.
Since you have a relationship on the Start Date your data is filtered by the start date only so give you 6 as a result and not the expect outcome.
Check the image below and PBIX file attach:
Regards,
MFelix
Regards
Miguel Félix
Proud to be a Super User!
Check out my blog: Power BI em PortuguêsHi @joshcomputer1 ,
Your measure is correct however your datetable needs to be disconnected from your Test Table.
Since you have a relationship on the Start Date your data is filtered by the start date only so give you 6 as a result and not the expect outcome.
Check the image below and PBIX file attach:
Regards,
MFelix
Regards
Miguel Félix
Proud to be a Super User!
Check out my blog: Power BI em PortuguêsHi, @MFelix
I've tried this solution when having csv of excel files as a dataset which seems to work fine. However when I'm working with an online database using direct query it doesn't. I'm trying to count the number of id's between the start date and end date, but with direct query it's only counting the id on the start date or not whatsoever.
Any ideas why this method doesn't work while working with online datasets?
I appreciate any input!
Hi @Anonymous ,
If you are using direct query then the calculation needs to be different since you are not abble to create disconnected table.
Try the following code:
DateSlicer = CALCULATE(
COUNTROWS(contractid),
FILTER(ALL(Table1),
DateTable[Date] >= [startdate] &&
DateTable[Date] <= [Enddate])
Regards
Miguel Félix
Proud to be a Super User!
Check out my blog: Power BI em PortuguêsFelix, I'm facing a similar challenge on this subject and came across this post.
I'm trying to use a direct query model to report historical monthly count of individuals between their respective start and end dates. For example, in February, an individual with Start_Date Jan 20 and End_Date Mar 20 counts as 1.
Fact_Table:
Person_ID | Start_Date | End_Date
Date_Table:
Date Dt | Date_ID | Many other columns
Trying to build the measure that you included above doesn't allow me to reference the Dim_Date table in the filter section. It allows me to pull Start and End date into the calculate statement, but not the Date Dt column from the Date Table. Anonymous seemed to have a similar issue. Do you have an idea on how to implement the Date >= Start Date and Date <= End Date?
Hi @Paws ,
Do you have any relationship between the tables? What is the syntax you are using?
Regards
Miguel Félix
Proud to be a Super User!
Check out my blog: Power BI em PortuguêsHi @MFelix ,
thanks for your quick response. Not sure what you mean though. With the COUNTROWS statement I have to refer to a table and not a column and I also can't refer to the date table in this measure.
Hope you can help me
Cheers,
Marco
Hi @Anonymous ,
You need to reference the table that you want to filter, the column is reference on the filter statement.
Regards
Miguel Félix
Proud to be a Super User!
Check out my blog: Power BI em PortuguêsHi @MFelix ,
I know this is a few years old but super helpful. Thank you.
Using your example I was able to make it for my use case. However, if I put the data in a bar chart with calendar as X and the measure as Y it and a slicer with the calendar it works great. However, since it's a discconnected table I am not able to click on the chart to filter a table. Is that possible?
for example:
I'm tracking staff on trips with a start and end date. Each trip has a unique ID. I want to be able to see on a chart the number of trips that are occuring at any given month and when i click that month it will filter my table to show me who is traveling. Your example shows the correct data on the chart but it doesn't filter back the table. Wondering how one would tackle that with it being disconnected.
Thanks for taking the time to answer a question from 2019..
Hi @RoofTopNomad ,
In this case just try to add the metric on the table visualization filters and set the filter to is not blank. This should give you the expected result that is filtering the records based on the metric selection.
Regards
Miguel Félix
Proud to be a Super User!
Check out my blog: Power BI em PortuguêsOf course! What an obvious solution! Thanks
here is my suggestion to tackle this :
first Make a new date table.
DateTable = Calendar(Minx(table1,Table1[Date]),Now())
Now add a new calculated column:
DateSlicer = CALCULATE( COUNTROWS(contractid), FILTER(Table1, DateTable[Date] >= [startdate] && DateTable[Date] <= [Enddate])
Hope this will help.
Starting December 3, join live sessions with database experts and the Fabric product team to learn just how easy it is to get started.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early Bird pricing ends December 9th.
User | Count |
---|---|
86 | |
85 | |
84 | |
67 | |
49 |
User | Count |
---|---|
131 | |
111 | |
97 | |
71 | |
67 |