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
donaldo
Helper III
Helper III

DAX to replace value with another in same column depending on 2nd column

Hey all,

 

I have a curious problem due to the way data I am using is stored.

 

I have the table below .5to4.PNGAnd I need to replace the ID (column a) of all the rows where Level is = 5, with the ID of the same Idea (column b) where the level is = 4. So the unique ID of Ideas at Level 4 is linked to some data I also need for Level 5.

 

I've tried creating a new column to use for this purpose with the DAX below; but it gives me "A table of multiple values was supplied where a single value was expected". I've tried wrapping it all in FIRSTNONBLANK with same result. 

 

IL5 to IL4 = 
 FIRSTNONBLANK(ImplementationLevel[ID]; IF(
    VALUE(ImplementationLevel[Level]) = 1;
    LOOKUPVALUE(ImplementationLevel[ID];ImplementationLevel[Idea];ImplementationLevel[Idea];ImplementationLevel[Level];"1");
    IF(VALUE(ImplementationLevel[Level]) = 2;
    LOOKUPVALUE(ImplementationLevel[ID];ImplementationLevel[Idea];ImplementationLevel[Idea];ImplementationLevel[Level];"2");
    IF(VALUE(ImplementationLevel[Level]) = 3;
    LOOKUPVALUE(ImplementationLevel[ID];ImplementationLevel[Idea];ImplementationLevel[Idea];ImplementationLevel[Level];"3");
    IF(VALUE(ImplementationLevel[Level]) = 4;
    LOOKUPVALUE(ImplementationLevel[ID];ImplementationLevel[Idea];ImplementationLevel[Idea];ImplementationLevel[Level];"4");
    IF(VALUE(ImplementationLevel[Level]) = 5;
    LOOKUPVALUE(ImplementationLevel[ID];ImplementationLevel[Idea];ImplementationLevel[Idea];ImplementationLevel[Level];"4"))
    )))))

 

1 ACCEPTED SOLUTION

@donaldo Could you please check and confirm... whether the data contains same idea (duplicates) at same level (in this case it is 4). Even though it has a different ID.





Did I answer your question? Mark my post as a solution!

Proud to be a PBI Community Champion




View solution in original post

3 REPLIES 3
PattemManohar
Community Champion
Community Champion

@donaldo Please try this as a New Column

 

NewID = 
VAR _CurrentIdea = Test178CondReplace[Idea]
VAR _Level4ID = LOOKUPVALUE(Test178CondReplace[ID],Test178CondReplace[Idea],_CurrentIdea,Test178CondReplace[Level],4)
RETURN IF(Test178CondReplace[Level]=5,_Level4ID,Test178CondReplace[ID])

image.png





Did I answer your question? Mark my post as a solution!

Proud to be a PBI Community Champion




Hey @PattemManohar

 

Thanks for the suggestion. I'm getting the same error. 

pbi help.PNG

 

 

NewID = 
VAR _CurrentIdea = ImplementationLevel[Idea]
VAR _Level4ID = LOOKUPVALUE(ImplementationLevel[ID];ImplementationLevel[Idea];_CurrentIdea;ImplementationLevel[Level];"4")
RETURN IF(ImplementationLevel[Level]="5";_Level4ID;ImplementationLevel[ID])

I've put the Levels in "" as they are formatted as Text (elsewhere I don't want them to be treated as numbers).

 

Why does it return multiple values? ID column is unique values.

@donaldo Could you please check and confirm... whether the data contains same idea (duplicates) at same level (in this case it is 4). Even though it has a different ID.





Did I answer your question? Mark my post as a solution!

Proud to be a PBI Community Champion




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.