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
I'm probably asking or searching wrong, but have been struggling to solve this issue for about a week at this point.
I am using a DirectQuery on a published report, and therefore I cannot unpivot the data in Power Query. I need to find a measure solution (I believe)
My data table looks like this:
Part Num | Location | Qty
AB123 | ALOC1 | 10
AB123 | WAREHS | 2
ACD34 | BLOC1 | 3
DWH10 | WAREHS | 4
I need a solution that looks at all the Part Num values and if "WAREHS" is one of the Locations, then ="Both".
If "WAREHS" is Only Location = "Only WARE" and if WAREHS is not a Location then = "Loc Only".
End result desired:
Part Num | Sort Loc | Qty
AB123 | Both | 12
ACD34 | Loc Only | 2
DWH10 | Only WARE | 4
The main trouble I'm having is if I apply a filter to another category and that filters the Part Num field in any way, this evaluation stops working as now the Locations do not apply. I need the evaluation to always check for WAREHS and not filter the Part Num field at all.
Thanks
Jessica
Solved! Go to Solution.
@JessieF Try:
Sort Loc Measure =
VAR __CountWareHS = COUNTROWS(FILTER('Table',[Location]="WAREHS"))
VAR __CountLoc = COUNTROWS(SUMMARIZE('Table',[Location]))
RETURN
SWITCH(TRUE(),
__CountWareHS >= 1 && __CountLoc = 1,"Only WARE",
__CountWareHS >= 1 && __CountLoc > 1,"Both",
"Loc Only"
)
Hi, @JessieF
You can try the following methods.
Sort Loc =
IF (
[Part Num]
= CALCULATE (
MAX ( 'Table'[Part Num] ),
FILTER ( 'Table', [Location] <> "WAREHS" )
),
"Loc Only",
IF (
[Part Num]
= CALCULATE (
MAX ( 'Table'[Part Num] ),
FILTER ( 'Table', [Location] = "WAREHS" )
),
"WAREHS",
IF (
[Part Num]
= CALCULATE (
MIN ( 'Table'[Part Num] ),
FILTER ( 'Table', [Location] = "WAREHS" )
),
"Both",
BLANK ()
)
)
)
Measure =
IF (
MAX ( 'Table'[Part Num] )
= CALCULATE (
MAX ( 'Table'[Part Num] ),
FILTER ( ALL ( 'Table' ), [Location] <> "WAREHS" )
),
"Loc Only",
IF (
MAX ( 'Table'[Part Num] )
= CALCULATE (
MAX ( 'Table'[Part Num] ),
FILTER ( ALL ( 'Table' ), [Location] = "WAREHS" )
),
"WAREHS",
IF (
MAX ( 'Table'[Part Num] )
= CALCULATE (
MIN ( 'Table'[Part Num] ),
FILTER ( ALL ( 'Table' ), [Location] = "WAREHS" )
),
"Both",
BLANK ()
)
)
)
Best Regards,
Community Support Team _Charlotte
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
This was similar to solutions I was trying and unable to get it to work properly. I think there is a data type issue, but since I cannot change transform the data, I am having difficulty. I appreciate your time to answer my inquiry.
@JessieF Try:
Sort Loc Measure =
VAR __CountWareHS = COUNTROWS(FILTER('Table',[Location]="WAREHS"))
VAR __CountLoc = COUNTROWS(SUMMARIZE('Table',[Location]))
RETURN
SWITCH(TRUE(),
__CountWareHS >= 1 && __CountLoc = 1,"Only WARE",
__CountWareHS >= 1 && __CountLoc > 1,"Both",
"Loc Only"
)
@Greg_Deckler Thank you so much for the assistance. This worked with my dataset. I appreciate the help very much.
Jessie.
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.
Learn from experts, get hands-on experience, and win awesome prizes.
User | Count |
---|---|
115 | |
82 | |
77 | |
48 | |
39 |
User | Count |
---|---|
150 | |
117 | |
67 | |
64 | |
56 |