Forum Discussion
Summing Columns in a Table
- 4 years ago
Hi Anonymous ,
Scenario:
If you want to keep any columns other than "EBIT",
1. Reorder Column to move all "EBIT" column to the end:
Code: Table.ReorderColumns(#"Changed Type",List.Combine({List.Select(Table.ColumnNames(PreviousStep), each not Text.Contains(_,"EBIT",Comparer.OrdinalIgnoreCase)), List.Select(Table.ColumnNames(PreviousStep), each Text.Contains(_,"EBIT",Comparer.OrdinalIgnoreCase))}))
then,
2. Add a custom column and add sum lastN columns:
Code: List.Sum(List.LastN(Record.ToList(_),List.Count(List.Select(Table.ColumnNames(PreviousStep), each Text.Contains(_,"EBIT",Comparer.OrdinalIgnoreCase)))))
- Anonymous4 years ago
WOW that is Awesome. Not Intuative - I would never have figured this out
Two Fantastic Snippits of Code that I am Going to Use Over and Over Again
Hi Anonymous ,
Please see code below:
Replace {"Col1", "Col2" .....} with List.Select(Table.ColumnNames(PreviousStep), each Text.Contains(_, "Keyword"))
Regard
KT
Thanks for the Reply - You Code Does Select the Column names (actually Betterr than My Methd) but I does Rurtn the Vlaues that I Need to Pass to List.SUM - Which is what I an Strugling With
i.e the tableis
List is {"EBIT1","EBIT2,"EBIT3")
I need it to be {2,3,0} tso I can Pass it to List.Sum()
- KT_Bsmart2gethe4 years agoImpactful Individual
Hi Anonymous ,
Scenario:
If you want to keep any columns other than "EBIT",
1. Reorder Column to move all "EBIT" column to the end:
Code: Table.ReorderColumns(#"Changed Type",List.Combine({List.Select(Table.ColumnNames(PreviousStep), each not Text.Contains(_,"EBIT",Comparer.OrdinalIgnoreCase)), List.Select(Table.ColumnNames(PreviousStep), each Text.Contains(_,"EBIT",Comparer.OrdinalIgnoreCase))}))
then,
2. Add a custom column and add sum lastN columns:
Code: List.Sum(List.LastN(Record.ToList(_),List.Count(List.Select(Table.ColumnNames(PreviousStep), each Text.Contains(_,"EBIT",Comparer.OrdinalIgnoreCase)))))