March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early bird discount ends December 31.
Register NowBe one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now
Hello everyone!
Recently I have created a report based on an excel which has few calculations. The calculations in the excel are as below:
Sales Rep | Expected Return Date | Act Return Date | Act Return Date with Today's date | Days | Correct Return | Late Return | % of late return |
Ja | 29-09-2022 00:00 | 20-10-2022 | 21 | 0 | 1 | ||
Ja | 29-09-2022 00:00 | 27-09-2022 00:00 | 27-09-2022 | -2 | 1 | 0 | |
Ja | 01-10-2022 00:00 | 20-10-2022 | 19 | 0 | 1 | ||
Ja | 02-10-2022 00:00 | 20-10-2022 | 18 | 0 | 1 | ||
Ja | 02-10-2022 00:00 | 26-09-2022 00:00 | 26-09-2022 | -6 | 1 | 0 | |
Ja | 03-10-2022 00:00 | 20-10-2022 | 17 | 0 | 1 | ||
Ja | 05-10-2022 00:00 | 20-10-2022 | 15 | 0 | 1 | ||
Ja | 05-10-2022 00:00 | 26-09-2022 00:00 | 26-09-2022 | -9 | 1 | 0 | |
Ja | 07-10-2022 00:00 | 20-10-2022 | 13 | 0 | 1 | ||
86 | 3 | 6 | 67% |
Expected return date and Act return date are data's already available. In Act return date if it is blank it should take Today's date, difference of Expected Return Date and Act Return Date with Today's date is Days.
If Days is less than 0 then Correct Return is 1 else its 0, vice versa is for Late return where if Days is more than 0 then it is 1 else its 0.
% of late return calculation = Late Return/(Correct Return+Late Return), in above case that would be 6/(3+6)=0.667 and its percentage will be 67%.
Similarly I tried in power bi and these are the calculated columns created:
In power bi it comes this way
It does not sum up the totals and if i try to sum up the total it doubles and shows as below:
c
It seems something very simple that i moght be missing, is there a way to see these values in power bi report simila
Solved! Go to Solution.
Add the Request ID field to the visual and you will see why the values are "different "
Proud to be a Super User!
Paul on Linkedin.
Try with the following measures:
CORRECT Return Temp =
VAR _ReturnDate =
IF (
ISBLANK ( MAX ( fTable[Act Return Date] ) ),
TODAY (),
MAX ( fTable[Act Return Date] )
)
VAR _Diff =
DATEDIFF ( MAX ( fTable[Expected Return Date] ), _ReturnDate, DAY )
RETURN
SWITCH (
TRUE (),
ISBLANK ( MAX ( fTable[Expected Return Date] ) ), BLANK (),
_Diff < 0, 1,
0
)
Correct return =
SUMX(fTable, [CORRECT Return Temp])
LATE Return Temp =
VAR _ReturnDate =
IF (
ISBLANK ( MAX ( fTable[Act Return Date] ) ),
TODAY (),
MAX ( fTable[Act Return Date] )
)
VAR _Diff =
DATEDIFF ( MAX ( fTable[Expected Return Date] ), _ReturnDate, DAY )
RETURN
SWITCH (
TRUE (),
ISBLANK ( MAX ( fTable[Expected Return Date] ) ), BLANK (),
_Diff > 0, 1,
0
)
Late return =
SUMX(fTable, [LATE Return Temp])
% Late returns =
IF (
ISINSCOPE ( fTable[Sales Rep] ),
BLANK (),
DIVIDE ( [Late return], [Correct return] + [Late return] )
)
Proud to be a Super User!
Paul on Linkedin.
@PaulDBrown, it works only in few cases and doesn't work in most of the cases, one example is below
I
It should ne showing 60% but it shows 35.71%, can you suggest something else because i am unable to understand what is the error.
What is the code for the % Late returns measure?
Proud to be a Super User!
Paul on Linkedin.
@PaulDBrown Its same what you had shared
Can you change the last two measures in the image to the SUMX measures and post the screenshot?
Also, which table is the Sales Rep field in the visual coming from and which field are you using in the SUMX measures?
Proud to be a Super User!
Paul on Linkedin.
All the measures will be as below:
@PaulDBrown, i didn't follow, where are you asking me to use sumx.Are they for these measures:-
The measures you have posted are to then calculate the correct totals using SUMX:
Correct return =
SUMX(fTable, [CORRECT Return Temp])
Late return =
SUMX(fTable, [LATE Return Temp])
and finally
% Late returns =
IF (
ISINSCOPE ( fTable[Sales Rep] ),
BLANK (),
DIVIDE ( [Late return], [Correct return] + [Late return] )
)
If you have a Sales Rep Dimension table, you should be using it in the visual (it's more efficient). If so, you need to reference this dimension table in the SUMX measures.
Proud to be a Super User!
Paul on Linkedin.
@PaulDBrown, this is exactly how we did, sales rep is the created name from the same table Case Order Fact, all the columns in measure are from same table. So am I missing something?
Why is it then not giving the right value?
Can you post a depiction of the visual with the Correct Return and Late return measures?
It would really help if you could provide a link to a sample PBIX file (you can change any confidential information). It's hard to see the problem otherwise. (since in my test it works...)
Proud to be a Super User!
Paul on Linkedin.
@PaulDBrown, if i pull only those 2 columns and create the measures it seems to work fine but if i pulll all the columns in that view in a table and try the measure it doen't seem to work. I will share the test report from another account.
@PaulDBrown , this is the test report and here those measures does not seem to work. I am unable to undertand why it is so? Can you please help?
They do work. In your example, if you look at the detail of the rows in the dataset for the filtered sample, you will see why the SUMX returns a higher value.
The temp measure only looks at the dates in the filter context; the SUMX computes the date calculation row by row and then adds up the result of each row. There are two rows for each Expected Return Date and the Request ID field makes each of the rows unique. So there are 4 rows over which the SUMX calculation is carried out:
Edit to add: @Avivek
Proud to be a Super User!
Paul on Linkedin.
@PaulDBrown,I do not follow exactly what you are trying to say.
Certain places it shows me the correct value and certain places it shows differences in the values.
There are 2 issues to be seen here, firstly late return shows a different value from late return temp and on calculation this should be around 71%.
Firstly the late return is probably summing up the late return and secondly the late % value is also not showing the right value
Add the Request ID field to the visual and you will see why the values are "different "
Proud to be a Super User!
Paul on Linkedin.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
User | Count |
---|---|
93 | |
91 | |
90 | |
80 | |
49 |
User | Count |
---|---|
161 | |
145 | |
103 | |
72 | |
55 |