This is best Fabric, Power BI, SQL and AI community event. How do we know? The last event sold out! Save €200 with code FABCMTY200.
Register nowA new Data Days event is coming soon! This time we’re going bigger than ever. Fabric, Power BI, SQL, AI and more. Don't miss out.
Hello - I have 50+ columns that I need to calculate the difference after every 2 columns. Currently I appended my tables in Power Query and it looks like this:
| DRAFT | ACTUAL | DRAFT | ACTUAL |
| 10 | 15 | 20 | 10 |
| 5 | 4 | 30 | 100 |
| 1 | 2 | 40 | 50 |
I need it to do this:
| DRAFT | ACTUAL | DIFF | DRAFT | ACTUAL | DIFF |
| 10 | 15 | (5) | 20 | 10 | 10 |
| 5 | 4 | 1 | 30 | 100 | (70) |
| 1 | 2 | (1) | 40 | 50 | (10) |
I can add a custom column in Power query but it shows up at the end of the table and then I have to move it. Also, it is very manual and I have to do this for 50+ columns on 50+ files.
Solved! Go to Solution.
Hi ,
Please refer to this:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("JYqxDQAwCMN+ydyhQOkziP/fKEkXK5FdBdtYsBy4lmCDCPQq0Bzeb8lU7dIsnYkEcVjfi+4H", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [DRAFT = _t, ACTUAL = _t, DRAFT.1 = _t, ACTUAL.1 = _t, DRAFT.2 = _t, ACTUAL.2 = _t]),
ColumnNames = Table.ColumnNames(Source),
ChangeType = Table.TransformColumnTypes(Source, List.Transform(ColumnNames, each {_, type number})),
AddDiffColumns = List.Accumulate(
List.Zip({{0..List.Count(ColumnNames)-1}, ColumnNames}),
ChangeType,
(state, current) =>
if Number.Mod(current{0}, 2) = 1 then
let
diffColumnName = "DIFF" & Text.From(Number.IntegerDivide(current{0}, 2) + 1),
draftColumnName = ColumnNames{current{0}-1},
actualColumnName = current{1},
addedDiffColumn = Table.AddColumn(state, diffColumnName, each Record.Field(_, draftColumnName) - Record.Field(_, actualColumnName), type number)
in
addedDiffColumn
else
state
)
in
AddDiffColumns
Best Regards,
Gao
Community Support Team
If there is any post helps, then please consider Accept it as the solution to help the other members find it more quickly.
If I misunderstand your needs or you still have problems on it, please feel free to let us know. Thanks a lot!
How to get your questions answered quickly -- How to provide sample data in the Power BI Forum
I should add that each of my files has a different number of columns as well. So if I can automate to add this difference column for any number of iterations as there is data, that is what I want to do.
Hi ,
Please refer to this:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("JYqxDQAwCMN+ydyhQOkziP/fKEkXK5FdBdtYsBy4lmCDCPQq0Bzeb8lU7dIsnYkEcVjfi+4H", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [DRAFT = _t, ACTUAL = _t, DRAFT.1 = _t, ACTUAL.1 = _t, DRAFT.2 = _t, ACTUAL.2 = _t]),
ColumnNames = Table.ColumnNames(Source),
ChangeType = Table.TransformColumnTypes(Source, List.Transform(ColumnNames, each {_, type number})),
AddDiffColumns = List.Accumulate(
List.Zip({{0..List.Count(ColumnNames)-1}, ColumnNames}),
ChangeType,
(state, current) =>
if Number.Mod(current{0}, 2) = 1 then
let
diffColumnName = "DIFF" & Text.From(Number.IntegerDivide(current{0}, 2) + 1),
draftColumnName = ColumnNames{current{0}-1},
actualColumnName = current{1},
addedDiffColumn = Table.AddColumn(state, diffColumnName, each Record.Field(_, draftColumnName) - Record.Field(_, actualColumnName), type number)
in
addedDiffColumn
else
state
)
in
AddDiffColumns
Best Regards,
Gao
Community Support Team
If there is any post helps, then please consider Accept it as the solution to help the other members find it more quickly.
If I misunderstand your needs or you still have problems on it, please feel free to let us know. Thanks a lot!
How to get your questions answered quickly -- How to provide sample data in the Power BI Forum
Check out the May 2026 Power BI update to learn about new features.
Sign up to receive a private message when registration opens and key events begin.
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.
| User | Count |
|---|---|
| 7 | |
| 6 | |
| 6 | |
| 5 | |
| 4 |