The ultimate Microsoft Fabric, Power BI, Azure AI, and SQL learning event: Join us in Stockholm, September 24-27, 2024.
Save €200 with code MSCUST on top of early bird pricing!
Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started
Hello everybody,
I'm calculating a weighted average of a minimum price weighted by Sales on an article level.
There are however blanks in the list of minimum prices so I dont want to considers those articles at all in the calculation! As there is already "Keepfilters" used in the calculation, I cant apply another filter to exclude the blanks, any idea what to do?
Solved! Go to Solution.
Hi @lennardheyder,
You can use calculatetable() to adjust the VAR __CATEGORY_VALUES
VAR __CATEGORY_VALUES= CALCULATETABLE(VALUES('MatHier'[Article name]), ALLNOBLANKROW('MatHier'[minimum prices]))
If does not work, please try this code or share your pbix file without sensitive data.
or try this code:
Weighted Pricing Delta =
VAR _s =
SUMMARIZE (
'MatHier',
[Article name],
"avg", AVERAGE ( 'PREISBAND'[Δ Pricing letter[CUR / UOW]]] ),
"sum", SUM ( 'OH01 + OS01'[NES 3rd party (€)] )
)
VAR _1 =
SUMX ( FILTER ( _s, [avg] <> BLANK () ), [avg] * [sum] )
VAR _2 =
SUMX ( FILTER ( _s, [avg] <> BLANK () ), [sum] )
RETURN
DIVIDE ( _1, _2 )
Best Regards
Community Support Team _ chenwu zhu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi @lennardheyder,
You can use calculatetable() to adjust the VAR __CATEGORY_VALUES
VAR __CATEGORY_VALUES= CALCULATETABLE(VALUES('MatHier'[Article name]), ALLNOBLANKROW('MatHier'[minimum prices]))
If does not work, please try this code or share your pbix file without sensitive data.
or try this code:
Weighted Pricing Delta =
VAR _s =
SUMMARIZE (
'MatHier',
[Article name],
"avg", AVERAGE ( 'PREISBAND'[Δ Pricing letter[CUR / UOW]]] ),
"sum", SUM ( 'OH01 + OS01'[NES 3rd party (€)] )
)
VAR _1 =
SUMX ( FILTER ( _s, [avg] <> BLANK () ), [avg] * [sum] )
VAR _2 =
SUMX ( FILTER ( _s, [avg] <> BLANK () ), [sum] )
RETURN
DIVIDE ( _1, _2 )
Best Regards
Community Support Team _ chenwu zhu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
@lennardheyder , Try like
Weighted Pricing Delta =
VAR __CATEGORY_VALUES = VALUES('MatHier'[Article name])
RETURN
DIVIDE(
SUMX(
FILTERS(__CATEGORY_VALUES, not(isblank(AVERAGE('PREISBAND'[Δ Pricing letter[CUR / UOW]])))),
CALCULATE(
AVERAGE('PREISBAND'[Δ Pricing letter[CUR / UOW]])
* SUM('OH01 + OS01'[NES 3rd party (€)])
)
),
SUMX(
FILTERS(__CATEGORY_VALUES, not(isblank(AVERAGE('PREISBAND'[Δ Pricing letter[CUR / UOW]])))),
CALCULATE(SUM('OH01 + OS01'[NES 3rd party (€)]))
)
)
Formula does not work unfortunatley....
Seems that "Filters" does not work with the input of a variable
Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.
Check out the August 2024 Power BI update to learn about new features.
User | Count |
---|---|
111 | |
79 | |
71 | |
48 | |
41 |
User | Count |
---|---|
138 | |
108 | |
71 | |
64 | |
58 |