I have been trying to find a solution to the following problem. This is the scenario:
This table contains 3 requirements, one of which is being changed 3 times on consecutive days. I am now trying to calculate the number of ReqIDs cumulated per day, and split by state, using this measure:
# of ReqID = CALCULATE( DISTINCTCOUNTNOBLANK('Tabelle1'[ReqID]), FILTER ( ALLSELECTED('Tabelle1'), 'Tabelle1'[ModifiedDate] <= MAX ('Tabelle1'[ModifiedDate]) ))
This would be my expected result:
|total of ReqID||AGREED||PARTLY_AGREED||NOT_AGREED|
Unfortunately, this is the result:
Why am I getting a count of 2 for 3rd and 4th for the states? How can I avoid this?
Thanks a lot for your help!
Should be the ALLSELECTED, you can do like this
# of ReqID = CALCULATE(COUNTROWS(VALUES(Tabelle1[ReqID])), Tabelle1[ModifiedDate]<=MAX(Tabelle1[ModifiedDate]))
Thanks a lot for your answer, Vera.
There is still something missing though: now the sums in lines don't add up. For 3rd and 4th, there should be a 1 for AGREED, too.
(Sorry, I can't get the formatting nice on my "expected results" table.)
If the AGREED should have 1 as cumulative, then why the other two do not have? The total still doesn't add up...I had a another date table, did not use the date column in the same table.
You need to explain your logic
Thanks again for looking into my problem, Vera!
So, I got 3 requirements in total, but not from the first day onwards.
On 2nd, there is only 1.
On 3rd, another one is added (112233). Total count is 2. But 1 requirement is AGREED, the other new one is PARTLY_AGREED.
On 4th, the new one (112233) changes its state to NOT_AGREED. Total count is still 2, but now there is still the one from the beginning (AGREED) and now one in NOT_AGREED. So, a "1" is expected to appear twice.
On 5th, the requirement 112233 is finally agreed, total count is still 2 and therefore all 2 are AGREED.
On 6th another new requirement is added, therefore the total count is 3, and they are all AGREED (=3 in that column).
I am not sure how many scenarios you might have, say NOT_AGREED and PARTLY_AGREED will only appear once for each requirement? you need to go through all scenarios...here is one based on your sample only
# of ReqID = VAR CurDate=MAX(Dates[Date]) RETURN IF(SELECTEDVALUE('Tabelle1'[Status])="NOT_AGREED"||SELECTEDVALUE('Tabelle1'[Status])="PARTLY_AGREED", CALCULATE(COUNTROWS(VALUES(Tabelle1[ReqID])),Tabelle1[ModifiedDate]=CurDate), CALCULATE(COUNTROWS(VALUES(Tabelle1[ReqID])),Tabelle1[ModifiedDate]<=CurDate))
thanks again for your explanation. Unfortunately I'd like to have this a little bit more dynamic and do not want to explicitly describe every scenario, as you call it.
Can you explain, why my initial approach does not work? Your last solution is only a workaround to make my example work, but of course it would not work with my actual data, because I always need the cumulated data until the date of a line, and not only from that specific date.
So, why is my initial expression returning 2 for PARTLY_AGREED and NOT_AGREED on 3rd and 4th?
Check out the November 2023 Power BI update to learn about new features.
Read the latest Fabric Community announcements, including updates on Power BI, Synapse, Data Factory and Data Activator.
Join us for a free, hands-on Microsoft workshop led by women trainers for women where you will learn how to build a Dashboard in a Day!
130+ sessions, 130+ speakers, Product managers, MVPs, and experts. All about Power BI and Fabric. Attend online or watch the recordings.