Power BI is turning 10! Tune in for a special live episode on July 24 with behind-the-scenes stories, product evolution highlights, and a sneak peek at what’s in store for the future.
Save the dateEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
Hello Team,
i have the below table in power BI, so i need to calculate the below formula by using the below table. much appreciated if you could help on the below.
i need to substract with previous row (C2-B2) if satisfies thn it will call (C3-(C2-B2))/C2,C3/C2).
=IF((C2-B2)>0,(C3-(C2-B2))/C2,C3/C2)
Data refers in excel file as below;
C2 = 133
B2 = 128
C3 = 10 ( New Hired Column)
Month | Total Payroll | New Hired | Total temporary |
202106 | 128 | 11 | 11 |
202107 | 133 | 10 | 15 |
202108 | 135 | 12 | 13 |
202109 | 140 | 14 | 10 |
Solved! Go to Solution.
Hi @naveen_85
You can first add an Index column which starts at 0 (this column will be used like row number in the following step). Then add a custom column with below code. "Added Index" is the previous step name. Modify it according to your transformation steps.
let
previousTotal = #"Added Index"{[Index]-1}[Total Payroll],
diffTotal = [Total Payroll] - previousTotal
in
if diffTotal > 0 then ([New Hired]-diffTotal)/[Total temporary] else [New Hired]/[Total Payroll]
There is an error in the first row because it doesn't have a previous row. You can replace error value with Replace Errors feature under Transform tab > Replace Values. You can format the numbers in the custom column per your need.
Regards,
Community Support Team _ Jing
If this post helps, please Accept it as the solution to help other members find it.
Hi @naveen_85
You can first add an Index column which starts at 0 (this column will be used like row number in the following step). Then add a custom column with below code. "Added Index" is the previous step name. Modify it according to your transformation steps.
let
previousTotal = #"Added Index"{[Index]-1}[Total Payroll],
diffTotal = [Total Payroll] - previousTotal
in
if diffTotal > 0 then ([New Hired]-diffTotal)/[Total temporary] else [New Hired]/[Total Payroll]
There is an error in the first row because it doesn't have a previous row. You can replace error value with Replace Errors feature under Transform tab > Replace Values. You can format the numbers in the custom column per your need.
Regards,
Community Support Team _ Jing
If this post helps, please Accept it as the solution to help other members find it.
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjIwMjQwU9JRMjSyAJGGECJWByplDuIbG4NIAxBhipACqzc2BesFMxFSliC+CViDCURrbCwA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Month = _t, #"Total Payroll" = _t, #"New Hired" = _t, #"Total temporary" = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Total Payroll", Int64.Type}, {"New Hired", Int64.Type}, {"Total temporary", Int64.Type}}),
#"Added Index" = Table.AddIndexColumn(#"Changed Type", "Index", 0, 1, Int64.Type),
#"Added Custom" = Table.AddColumn(#"Added Index", "Custom", each if [Total Payroll]-#"Changed Type"[Total Payroll]{[Index]-1} > 0 then [New Hired]-[Total Payroll]+#"Changed Type"[Total Payroll]{[Index]-1} else [New Hired]/[Total Payroll])
in
#"Added Custom"
Note: your teminology is unusual. Usually rows have numbers and columns have letters.