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

Get Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Request now

Reply
mvgust
Helper III
Helper III

Conditional Fill Down

I'm working with a WBS structure that does not have parent entity/child entity columns. I still need to break down the WBS structure by Levels (00.00=Level 2, 00.00.00=Level 3, 00.00.00.00=Level 4) WITH it's title. I've gotten as far as the below table. 

Now, I need to fill down the values in each Level - 1,2,3,4,5 BUT where this breaks down is the record that null is the aqua color in Level 3. The value above 000.01.01 - Analytical Services by Company - shouldn't be in that record with the aqua color that should remain empty because you can see in the record to the left, it's an entirely different WBS structure. You'll see that as you move along deeper into the WBS structure, this becomes a re-occurring problem. 

I've looked up multiple videos on conditional fill down and nothing seems to fit this scenario, or at least I can't get it to work. 

 

Any help would be appreciated. 

WBS TitleWBS - CopyLevel 1Level 2Level 3Level 4Level 5
000 - Example Services000000 - Example Servicesnullnullnullnull
000.01 - Analytical Services000.01null000.01 - Analytical Servicesnullnullnull
000.01.01 -Analytical Services by Company000.01.01nullnull000.01.01 - Analytical Services by Companynullnull
000.01.01.01 - Base Operations000.01.01.01nullnullnull000.01.01.01 - Base Operationsnull
000.01.01.01.01 - Compliant Operations000.01.01.01.01nullnullnullnull000.01.01.01.01 - Compliant Operations
000.01.01.01.02 - Reliability000.01.01.01.02nullnullnullnull000.01.01.01.02 - Reliability
000.01.01.01.03 -  Sample Analysis000.01.01.01.03nullnullnullnull000.01.01.01.03 - Sample Analysis
000.01.01.01.04 - Analytical Support000.01.01.01.04nullnullnullnull000.01.01.01.04 - Analytical Support
000.01.01.01.05 - Laboratory Engineering000.01.01.01.05nullnullnullnull000.01.01.01.05 - Laboratory Engineering
000.01.01.01.06 - Laboratory Maintenance000.01.01.01.06nullnullnullnull000.01.01.01.06 - Laboratory Maintenance
000.01.01.03 - Transition000.01.01.03nullnullnull000.01.01.03 - Transitionnull
000.01.01.03.01 - Compliant Operations000.01.01.03.01nullnullnullnull000.01.01.03.01 - Compliant Operations
000.01.01.03.02 - Reliability000.01.01.03.02nullnullnullnull000.01.01.03.02 - Reliability
000.01.01.03.04 -  Analytical Support000.01.01.03.04nullnullnullnull000.01.01.03.04 -  Analytical Support
000.01.01.03.05 -Lab Engineering000.01.01.03.05nullnullnullnull000.01.01.03.05 -Lab Engineering
000.02 - External Review000.02null000.02 - Review and Supportnullnullnull
000.02.01 - External Review and Support A000.02.01nullnull000.02.01 - External Review and Support Anullnull
000.02.01.01 - External Review and Support B000.02.01.01nullnullnull000.02.01.01 -External Review and Support Bnull
000.02.01.01.01 - External Review and Support ABCD000.02.01.01.01nullnullnullnull000.02.01.01.01 - External Review and Support ABCD
000.03 - Training 000.03null000.03 - Trainingnullnullnull
000.03.01 - Training & Review000.03.01nullnull000.03.01 - Training & Reviewnullnull
000.03.01.01 - Training  A000.03.01.01nullnullnull000.03.01.01 - Training  Anull
000.03.01.01.01 - Training Delivery000.03.01.01.01nullnullnullnull000.03.01.01.01 - Training Delivery
000.03.01.01.02 - Course Development000.03.01.01.02nullnullnullnull000.03.01.01.02 - Course Development
1 ACCEPTED SOLUTION
mvgust
Helper III
Helper III

Thank you for your suggestion, however fill down doesn't work as it would associate a record of 000.01.01 to 000.02 in the Level 3 column. I figured out a solution, although it does require more steps and feels like more of a hack than anything else but it works. I added a custom column with the below formula:

let level3num = Text.BeforeDelimiter([Level 3],".",1),
level2num = Text.BeforeDelimiter([Level 2]," "),
compare = if Value.Compare(level3num,level2num)=0 then [Level 3] else null

in compare


I then created the heirarchy.

View solution in original post

2 REPLIES 2
mvgust
Helper III
Helper III

Thank you for your suggestion, however fill down doesn't work as it would associate a record of 000.01.01 to 000.02 in the Level 3 column. I figured out a solution, although it does require more steps and feels like more of a hack than anything else but it works. I added a custom column with the below formula:

let level3num = Text.BeforeDelimiter([Level 3],".",1),
level2num = Text.BeforeDelimiter([Level 2]," "),
compare = if Value.Compare(level3num,level2num)=0 then [Level 3] else null

in compare


I then created the heirarchy.

Anonymous
Not applicable

HI @mvgust,

I think you can enter to query editor to use the 'fill down' feature to fill and replace these null values, then you can use these fields to create a hierarchy structure and use on your visuals.
Fill values in a column - Power Query | Microsoft Docs

Create Hierarchy in Power BI (tutorialgateway.org)
Regards,

Xiaoxin Sheng

Helpful resources

Announcements
November Power BI Update Carousel

Power BI Monthly Update - November 2025

Check out the November 2025 Power BI update to learn about new features.

Fabric Data Days Carousel

Fabric Data Days

Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Top Solution Authors
Top Kudoed Authors