Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
sdsfive
Frequent Visitor

Show Different Text Values Depending on Hierarchy Level in Matrix Report

I have a matrix report that has a calculated column text value for the lowest hierarchy level called "Line Status"

 

When I roll up to higher levels I need to have a specific status for the higher level depending on the statuses of the items in the lower level. In the screenshot below, there are two lines with different statuses, and the parent level inherits one of the statsuses, which is not the desired behavior since it is not accurate for the purpose of the report. In this specific case, I need that level to show "Open", not "In Stock" like one of the lower level statuses.

 

2020-05-29_12-30-43.png

 

 

 

Calculated column formula for determining line status:

 

Line Status =

IF(AND('SoftView'[Missing Material Quantity] = 0, 'SoftView'[Allocatable Quantity 2] = 0), "Fully Allocated",

IF('SoftView'[Material] <> "", "In Stock",

IF('SoftView'[Date Available 2] = DATE(2500,1,1), "On Order - No EDA",

IF(AND('SoftView'[Date Available] <> TODAY(), 'SoftView'[Date Available] <> DATE(2500,1,1)), "On Order"))))

 

2 ACCEPTED SOLUTIONS
Anonymous
Not applicable

@sdsfive: I would suggest assigning a numeric value for each status, i.e. 0 = instock all the way to 3 = On-Order NO EDA.

 

Then at the parent level, you take a MAX([status]), and apply the same logic. So whatever the highest status is, that is the status for the parent item.

View solution in original post

That worked very well, thank you! Added an additional measure to use the calculated column numerical values.

 

Line Status Calc =
IF(AND('SoftView'[Missing Material Quantity] = 0, 'SoftView'[Allocatable Quantity 2] = 0), 0,
IF('SoftView'[Material] <> "", 1,
IF('SoftView'[Date Available 2] = DATE(2500,1,1), 3,
IF(AND('SoftView'[Date Available] <> TODAY(), 'SoftView'[Date Available] <> DATE(2500,1,1)), 2))))
 
 
Status =
IF(MAX('Softview'[Line Status Calc]) = 0, "Fully Allocated",
IF(MAX('Softview'[Line Status Calc]) = 1, "In Stock",
IF(MAX('Softview'[Line Status Calc]) = 2, "On Order",
IF(MAX('Softview'[Line Status Calc]) = 3, "On Order - No EDA"))))

View solution in original post

4 REPLIES 4
amitchandak
Super User
Super User
Anonymous
Not applicable

@sdsfive: I would suggest assigning a numeric value for each status, i.e. 0 = instock all the way to 3 = On-Order NO EDA.

 

Then at the parent level, you take a MAX([status]), and apply the same logic. So whatever the highest status is, that is the status for the parent item.

That worked very well, thank you! Added an additional measure to use the calculated column numerical values.

 

Line Status Calc =
IF(AND('SoftView'[Missing Material Quantity] = 0, 'SoftView'[Allocatable Quantity 2] = 0), 0,
IF('SoftView'[Material] <> "", 1,
IF('SoftView'[Date Available 2] = DATE(2500,1,1), 3,
IF(AND('SoftView'[Date Available] <> TODAY(), 'SoftView'[Date Available] <> DATE(2500,1,1)), 2))))
 
 
Status =
IF(MAX('Softview'[Line Status Calc]) = 0, "Fully Allocated",
IF(MAX('Softview'[Line Status Calc]) = 1, "In Stock",
IF(MAX('Softview'[Line Status Calc]) = 2, "On Order",
IF(MAX('Softview'[Line Status Calc]) = 3, "On Order - No EDA"))))
Anonymous
Not applicable

you nailed it. nice job.

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.