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

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
IwanVB
Frequent Visitor

If statement based multiply without new column

I need one line of powerquery code for the following

- On a record, i have a field called "2024" (numeric)
- I have another field called "Currency" (text)
- If the Currency value is "EUR", then multiply the 2024 field by 2 in any other cast by 50.

 

Yes, this can be done by adding a new column and later remove the old ones, but looking for a solution without doing so.

Tried the code below but unfortunate not working: 

= Table.TransformColumns(#"PreviousStep", {{"2024", each if [Currency] = "EUR" then _ * 2 else _ * 50, type number}})



1 REPLY 1
lbendlin
Super User
Super User

You can also use Table.ReplaceValue.  Same basic idea,

 

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjVQ0lFyDQ1SitWJVjIHcUKDXZRiYwE=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"2024" = _t, Currency = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"2024", Int64.Type}, {"Currency", type text}}),
    #"Replaced Value" = Table.ReplaceValue(#"Changed Type",each [2024],each if [Currency]="EUR" then [2024]*2 else [2024]* 50,Replacer.ReplaceValue,{"2024"})
in
    #"Replaced Value"

Helpful resources

Announcements
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

MayPowerBICarousel

Fabric Monthly Update - May 2024

Check out the May 2024 Fabric update to learn about new features.

LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.

Top Solution Authors
Top Kudoed Authors