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
Anonymous
Not applicable

Create a Dynamic Column Based On Other Column Values

Hi Team,

 

We have a requirement wherein we need to create a new column using existing 3 columns from the same table.

Input Table-

DataSourceIndicationSKUDataSource_MappingAttributes
AX1AIndication
AX1ASKU
B 3BSKU
CY CIndication

 

Expected Result-

We want this to be dynamically calculated (not statically) using Attributes column values so that Indication & SKU Column values gets populated against the DataSource

DataSourceIndicationSKUDataSource_MappingAttributesCalculated Column
AX1AIndicationX
AX1ASKU1
B 3BSKU3
CY CIndicationY
1 ACCEPTED SOLUTION
Anonymous
Not applicable

Hi @Anonymous ,

Please apply the below codes for the main table in Power Query Editor and check if it can return your expected result...

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WclTSUYoAYkOlWJ1oJScgC4iMwRxnICsSJBAbCwA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [DataSource = _t, Indication = _t, SKU = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"DataSource", type text}, {"Indication", type text}, {"SKU", Int64.Type}}),
    #"Unpivoted Only Selected Columns" = Table.Unpivot(#"Changed Type", {"Indication", "SKU"}, "Attribute", "Value"),
    #"Filtered Rows" = Table.SelectRows(#"Unpivoted Only Selected Columns", each ([Value] <> ""))
in
    #"Filtered Rows"

vyiruanmsft_0-1714033387548.png

Best Regards

View solution in original post

5 REPLIES 5
Uzi2019
Super User
Super User

Hi @Anonymous 

Try below dax for  calculated column 

Uzi2019_0-1712305421125.png

 

 

Final = IF(AttributeDS[Attributes]="Indication",AttributeDS[Indication],""&AttributeDS[SKU])
 
Dont take measure.
 
I hope I answered your question!
 
Don't forget to give thumbs up and accept this as a solution if it helped you!!!
Anonymous
Not applicable

Thanks @Uzi2019 

We didn't want indication column to be hard-coded. 

Anonymous
Not applicable

@Uzi2019 Thanks for your contribution on this thread.

 

Hi @Anonymous ,

The formula supplied by @Uzi2019 was intended to facilitate the attainment of the expected outcome, however, it appears that it has not met the objective. Could you please provide additional clarification on the below sentence? It would be greatly appreciated if you could supplement your explanation with more sample data and expound on the underlying logic.


We didn't want indication column to be hard-coded. 


Best Regards

Anonymous
Not applicable

hi @Anonymous ,

Clarifying on the requirement below.

We have a main table with below three columns-

DataSourceIndicationSKU
AX1
B 3
CY 

 

Now we have got a mapping table, in which Attribite columns consists of column names from main table (shared above) which we need to map against data source

 

DataSourceAttribute
AIndication
ASKU
BSKU
CIndication

 

Expected Result-

We are trying to calculate a new column in the main table, where we are using Attribute column from the mapping table to get the correspondig values in the new column dynamically against the respective DataSource from the column names mentioned in the Attribute column of mapping table.

 

DataSourceIndicationSKUCalculatedColumn
AX1X
AX11
B 33
CY Y

 

I hope I was able to explain you the situation.

Let me know incase any further clarification is required.

 

@Greg_Deckler @Ritaf1983 Can you please take a look and help me out here.

 

 

 

Anonymous
Not applicable

Hi @Anonymous ,

Please apply the below codes for the main table in Power Query Editor and check if it can return your expected result...

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WclTSUYoAYkOlWJ1oJScgC4iMwRxnICsSJBAbCwA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [DataSource = _t, Indication = _t, SKU = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"DataSource", type text}, {"Indication", type text}, {"SKU", Int64.Type}}),
    #"Unpivoted Only Selected Columns" = Table.Unpivot(#"Changed Type", {"Indication", "SKU"}, "Attribute", "Value"),
    #"Filtered Rows" = Table.SelectRows(#"Unpivoted Only Selected Columns", each ([Value] <> ""))
in
    #"Filtered Rows"

vyiruanmsft_0-1714033387548.png

Best Regards

Helpful resources

Announcements
Power BI DataViz World Championships

Power BI Dataviz World Championships

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

December 2025 Power BI Update Carousel

Power BI Monthly Update - December 2025

Check out the December 2025 Power BI Holiday Recap!

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.