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 August 31st. Request your voucher.
Hey Power BI Community! Please help me I am frustraded...
I just want the DoAs Divided by parts for example Okctober 2019 = (5 DoAs / 222 Parts)*100 = 2,25 %
These are my measures:
Solved! Go to Solution.
Hi @Anonymous
I think you want to calculate the percent by divide count of per month ID and sum of quantity rolling 6 month. I build three tables to have a test.
Table1:
Table2:
Build a calendar table and build relationships between Table1 and CalendarTable 's Date column.
calendar = ADDCOLUMNS(CALENDARAUTO(),"Year",YEAR([Date]),"Month",MONTH([Date]))
Build a measure to achieve your goal.
Rolling Average 6 Months =
VAR Dos =
CALCULATE (
COUNT ( Table2[ID] ),
FILTER (
Table2,
Table2[Year] = MAX ( 'calendar'[Year] )
&& Table2[Month] = MAX ( 'calendar'[Month] )
)
)
VAR Count_of_Parts =
CALCULATE (
SUM ( 'Table1'[Quantity] ),
DATESINPERIOD ( 'calendar'[Date], FIRSTDATE ( 'calendar'[Date] ), 6, MONTH )
)
RETURN
DIVIDE ( Dos, Count_of_Parts )
Result:
You can download the pbix file from this link: Divide Calculation - 6 month average wrong but why
Best Regards,
Rico Zhou
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi @Anonymous
Could you tell me if your problem has been solved? If it is, kindly Accept it as the solution. More people will benefit from it. Or you are still confused about it, please provide me with more details about your table and your problem or share me with your pbix file from your Onedrive for Business.
Best Regards,
Rico Zhou
Hi @Anonymous
I think you want to calculate the percent by divide count of per month ID and sum of quantity rolling 6 month. I build three tables to have a test.
Table1:
Table2:
Build a calendar table and build relationships between Table1 and CalendarTable 's Date column.
calendar = ADDCOLUMNS(CALENDARAUTO(),"Year",YEAR([Date]),"Month",MONTH([Date]))
Build a measure to achieve your goal.
Rolling Average 6 Months =
VAR Dos =
CALCULATE (
COUNT ( Table2[ID] ),
FILTER (
Table2,
Table2[Year] = MAX ( 'calendar'[Year] )
&& Table2[Month] = MAX ( 'calendar'[Month] )
)
)
VAR Count_of_Parts =
CALCULATE (
SUM ( 'Table1'[Quantity] ),
DATESINPERIOD ( 'calendar'[Date], FIRSTDATE ( 'calendar'[Date] ), 6, MONTH )
)
RETURN
DIVIDE ( Dos, Count_of_Parts )
Result:
You can download the pbix file from this link: Divide Calculation - 6 month average wrong but why
Best Regards,
Rico Zhou
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Thank you for your time! My target is to show data from october 2019 - to today/future
Copying DAX from this post? Click here for a hack to quickly replace it with your own table names
Has this post solved your problem? Please Accept as Solution so that others can find it quickly and to let the community know your problem has been solved.
If you found this post helpful, please give Kudos C
I work as a Microsoft trainer and consultant, specialising in Power BI and Power Query.
www.excelwithallison.com
Thank you for your answer!
Copying DAX from this post? Click here for a hack to quickly replace it with your own table names
Has this post solved your problem? Please Accept as Solution so that others can find it quickly and to let the community know your problem has been solved.
If you found this post helpful, please give Kudos C
I work as a Microsoft trainer and consultant, specialising in Power BI and Power Query.
www.excelwithallison.com
@Anonymous
First, let's format your measure to read it more easily:
Rolling Average 6 Months =
VAR result =
CALCULATE (
( DIVIDE ( 'Parts per Month'[DoAs]; [Count of Parts] ) ) * 100 + 0;
DATESINPERIOD ( Dates[Date]; MAX ( Dates[Date] ); -6; MONTH )
)
RETURN
IF (
result;
result;
IF ( MAX ( Dates[Date2] ) > DATE ( 2019; 9; 30 ); 0; BLANK () )
)
Here I don't understand why you have the first IF, so believe it can be simplified to the below, with no difference in result:
Rolling Average 6 Months =
VAR result =
CALCULATE (
( DIVIDE ( 'Parts per Month'[DoAs]; [Count of Parts] ) ) * 100 + 0;
DATESINPERIOD ( Dates[Date]; MAX ( Dates[Date] ); -6; MONTH )
)
RETURN
result
You never make it to this part of the formula because you don't actually have a true false statement in your first IF statement:
IF ( MAX ( Dates[Date2] ) > DATE ( 2019; 9; 30 ); 0; BLANK () )
For your question, I suspect this may be related to the fact that October is the first month, can you please also share what calculation you are using for [Count of Parts] and please tell us what is Dates[Date2] and why do you need to compare to 2019/9/30?
Copying DAX from this post? Click here for a hack to quickly replace it with your own table names
Has this post solved your problem? Please Accept as Solution so that others can find it quickly and to let the community know your problem has been solved.
If you found this post helpful, please give Kudos C
I work as a Microsoft trainer and consultant, specialising in Power BI and Power Query.
www.excelwithallison.com