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

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more

Reply
crUzo
New Member

replace null values with distinct values from channel using DAX only

INPUT-
 
| channel | code
|----------|----------|
| SMS | Sent |
| SMS | Del |
| WA | Sent |
| WA | Del |
| Email | Sent |
| Email | Del |
|(null) | UEF |
 
OUTPUT-
 
| channel | code
|----------|----------|
| SMS | Sent |
| SMS | Del |
| WA | Sent |
| WA | Del |
| Email | Sent |
| Email | Del |
|SMS | UEF |
|WA | UEF |
|Email | UEF |
1 ACCEPTED SOLUTION
v-sshirivolu
Community Support
Community Support

Hi @crUzo ,
Thanks for reaching out to the Microsoft fabric community forum.

I’ve gone ahead and reproduced your scenario in Power BI, and I’m glad to confirm that the output matches exactly as per your expected result. The logic successfully replaces the null values in the channel column by generating new rows with all distinct non-null channel values for the given code.

For your reference, below is the DAX I used to create the final output table:

daxCopyEditFinalTable =
VAR __channels =
    FILTER( DISTINCT( 'Table'[channel] ), [channel] <> BLANK() )
VAR __nullCodes =
    DISTINCT( SELECTCOLUMNS( FILTER( 'Table', [channel] = BLANK() ), "code", [code] ) )
VAR __BaseTable =
    FILTER( 'Table', [channel] <> BLANK() )
VAR __AddTable =
    SELECTCOLUMNS(
        GENERATE( __channels, __nullCodes ),
        "channel", [channel],
        "code", [code]
    )
VAR __Result =
    UNION( __BaseTable, __AddTable )
RETURN
    __Result

 

I've also attached the .pbix file for your reference so you can check and test the setup directly in your environment.

If the response has addressed your query, please Accept it as a solution and give a 'Kudos' so other members can easily find it

Best Regards,
Sreeteja
Community Support Team.

View solution in original post

7 REPLIES 7
v-sshirivolu
Community Support
Community Support

Hi @crUzo ,
Thanks for reaching out to the Microsoft fabric community forum.

I’ve gone ahead and reproduced your scenario in Power BI, and I’m glad to confirm that the output matches exactly as per your expected result. The logic successfully replaces the null values in the channel column by generating new rows with all distinct non-null channel values for the given code.

For your reference, below is the DAX I used to create the final output table:

daxCopyEditFinalTable =
VAR __channels =
    FILTER( DISTINCT( 'Table'[channel] ), [channel] <> BLANK() )
VAR __nullCodes =
    DISTINCT( SELECTCOLUMNS( FILTER( 'Table', [channel] = BLANK() ), "code", [code] ) )
VAR __BaseTable =
    FILTER( 'Table', [channel] <> BLANK() )
VAR __AddTable =
    SELECTCOLUMNS(
        GENERATE( __channels, __nullCodes ),
        "channel", [channel],
        "code", [code]
    )
VAR __Result =
    UNION( __BaseTable, __AddTable )
RETURN
    __Result

 

I've also attached the .pbix file for your reference so you can check and test the setup directly in your environment.

If the response has addressed your query, please Accept it as a solution and give a 'Kudos' so other members can easily find it

Best Regards,
Sreeteja
Community Support Team.

Hi @crUzo ,

Just wanted to check if you had the opportunity to review the suggestion provided?

If the response has addressed your query, please Accept it as a solution and give a 'Kudos' so other members can easily find it.

 

Thank you.

 

Hi @crUzo ,
Just wanted to check if you had the opportunity to review the suggestion provided? If so, please mark the helpful reply and Accept it as the solution . This will be helpful for other community members who have similar problems to solve it faster.

Hi @crUzo ,
I hope the information provided above assists you in resolving the issue. If you have any additional questions or concerns, please do not hesitate to contact us. We are here to support you and will be happy to help with any further assistance you may need.

Greg_Deckler
Community Champion
Community Champion

@crUzo Maybe:

Table1 = 
  VAR __Channels = FILTER( DISTINCT( 'Table'[channel] ), [channel] <> BLANK() )
  VAR __nullCodes = DISTINCT( SELECTCOLUMNS( FILTER( 'Table', [channel] = BLANK() ), "code", [code] ) )
  VAR __BaseTable = FILTER( 'Table', [channel] <> BLANK() )
  VAR __AddTable = SELECTCOLUMNS( GENERATE( __Channels, __nullCodes ), "channel", [channel], "code", [code] )
  VAR __Result = UNION( __BaseTable, __AddTable )
RETURN
  __Result


Follow on LinkedIn
@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
DAX For Humans

DAX is easy, CALCULATE makes DAX hard...
ajaybabuinturi
Memorable Member
Memorable Member

Hi @crUzo

Could you please provide more details about your request so that it's easy to understand. The provided deatails are not enough to address. 

I want to replace null values from channed to SMS, WA and EMAIL in front for UEF in code

 

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.