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! I have a quick question... I have two tables that are connected by a many to many relationship. I am trying to create some measures of hand calculations but I'm a bit stuck.
This is what I have right now.... Two tables: Downtime Report and OR Report
This table includes: Downtime Report[Date], Downtime Report[Plant and Line], OR Report [ Planned OR%], OR Report [Line Result], Downtime Report[ Total Assembly DT Min], Downtime Report[Line Stop Downtime - NAM Ops - Operations DT Mins], Downtime Report[% of DT Minutes]
I now need to create a complicated formula to create a new percentage, but it needs the percentages from the OR Report table, and the % of DT Minutes from the Downtime Report. Here is the formula that I'd need to create:
Adjusted OR:
= if(
if(( OR Report [Line Result] - OR Report [ Planned OR%]) < 0 , OR Report [Line Result] - (OR Report [Line Result]- OR Report [ Planned OR%]) * Downtime Report[% of DT Minutes] , OR Report [Line Result] + (OR Report [Line Result] - OR Report [ Planned OR%]) * Downtime Report[% of DT Minutes]) > 100%, 100%,
if (( OR Report [Line Result]- OR Report [ Planned OR%]) < 0, OR Report [Line Result]- (OR Report [Line Result]- OR Report [ Planned OR%]) * Downtime Report[% of DT Minutes], OR Report [Line Result]+ (OR Report [Line Result]- OR Report [ Planned OR%]) * Downtime Report[% of DT Minutes])
Is this possible??
Solved! Go to Solution.
You may try using SELECTEDVALUE function to get the distinct value of each percentage used in the calculation. As these percentages are from two tables, it would be better to use a measure.
For example (I only extract some part from your formula):
Adjusted OR =
IF (
SELECTEDVALUE ( 'OR Report'[Line Result] ) - SELECTEDVALUE ( 'OR Report'[ Planned OR%] ) < 0,
SELECTEDVALUE ( 'OR Report'[Line Result] ) - ( SELECTEDVALUE ( 'OR Report'[Line Result] ) - SELECTEDVALUE ( 'OR Report'[ Planned OR%] ) ) * SELECTEDVALUE ( 'Downtime Report'[% of DT Minutes] ),
SELECTEDVALUE ( 'OR Report'[Line Result] ) + ( SELECTEDVALUE ( 'OR Report'[Line Result] ) - SELECTEDVALUE ( 'OR Report'[ Planned OR%] ) ) * SELECTEDVALUE ( 'Downtime Report'[% of DT Minutes] )
)
or
Adjusted OR =
VAR vLineResult = SELECTEDVALUE ( 'OR Report'[Line Result] )
VAR vPlannedORPct = SELECTEDVALUE ( 'OR Report'[ Planned OR%] )
VAR vDTMinutesPct = SELECTEDVALUE ( 'Downtime Report'[% of DT Minutes] )
RETURN
IF (
vLineResult - vPlannedORPct < 0,
vLineResult - ( vLineResult - vPlannedORPct ) * vDTMinutesPct,
vLineResult + ( vLineResult - vPlannedORPct ) * vDTMinutesPct
)
Here are some docs for your reference:
SELECTEDVALUE function - DAX | Microsoft Learn
VAR keyword (DAX) - DAX | Microsoft Learn
Use variables to improve your DAX formulas - DAX | Microsoft Learn
Best Regards,
Jing
If this post helps, please Accept it as Solution to help other members find it. Appreciate your Kudos!
You may try using SELECTEDVALUE function to get the distinct value of each percentage used in the calculation. As these percentages are from two tables, it would be better to use a measure.
For example (I only extract some part from your formula):
Adjusted OR =
IF (
SELECTEDVALUE ( 'OR Report'[Line Result] ) - SELECTEDVALUE ( 'OR Report'[ Planned OR%] ) < 0,
SELECTEDVALUE ( 'OR Report'[Line Result] ) - ( SELECTEDVALUE ( 'OR Report'[Line Result] ) - SELECTEDVALUE ( 'OR Report'[ Planned OR%] ) ) * SELECTEDVALUE ( 'Downtime Report'[% of DT Minutes] ),
SELECTEDVALUE ( 'OR Report'[Line Result] ) + ( SELECTEDVALUE ( 'OR Report'[Line Result] ) - SELECTEDVALUE ( 'OR Report'[ Planned OR%] ) ) * SELECTEDVALUE ( 'Downtime Report'[% of DT Minutes] )
)
or
Adjusted OR =
VAR vLineResult = SELECTEDVALUE ( 'OR Report'[Line Result] )
VAR vPlannedORPct = SELECTEDVALUE ( 'OR Report'[ Planned OR%] )
VAR vDTMinutesPct = SELECTEDVALUE ( 'Downtime Report'[% of DT Minutes] )
RETURN
IF (
vLineResult - vPlannedORPct < 0,
vLineResult - ( vLineResult - vPlannedORPct ) * vDTMinutesPct,
vLineResult + ( vLineResult - vPlannedORPct ) * vDTMinutesPct
)
Here are some docs for your reference:
SELECTEDVALUE function - DAX | Microsoft Learn
VAR keyword (DAX) - DAX | Microsoft Learn
Use variables to improve your DAX formulas - DAX | Microsoft Learn
Best Regards,
Jing
If this post helps, please Accept it as Solution to help other members find it. Appreciate your Kudos!
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 | |
70 | |
48 | |
41 |
User | Count |
---|---|
139 | |
112 | |
72 | |
64 | |
62 |