Hello everyone, I want to know how can I dynamically Delete all columns that come Before a specific column (Column name)
What code should I write!
is it even possible?
Thank you.
Solved! Go to Solution.
For between dynamic deletion (Here, I have removed all columns between Age and Salary)
Table.RemoveColumns(Source,List.Range(Table.ColumnNames(Source),List.Min({List.PositionOf(Table.ColumnNames(Source),"Age"),List.PositionOf(Table.ColumnNames(Source),"Salary")})+1,Number.Abs(List.PositionOf(Table.ColumnNames(Source),"Age")-List.PositionOf(Table.ColumnNames(Source),"Salary"))-1))
Use below code where Source is table name and City is the column name before which all column needs to be deleted. Hence, you will need to replace only these two - Source with your table name and City with the column name
= Table.RemoveColumns(Source,List.FirstN(Table.ColumnNames(Source),List.PositionOf(Table.ColumnNames(Source),"City")))
Thank you for your answer, But what if I want to remove columns that came between two other columns.
For between dynamic deletion (Here, I have removed all columns between Age and Salary)
Table.RemoveColumns(Source,List.Range(Table.ColumnNames(Source),List.Min({List.PositionOf(Table.ColumnNames(Source),"Age"),List.PositionOf(Table.ColumnNames(Source),"Salary")})+1,Number.Abs(List.PositionOf(Table.ColumnNames(Source),"Age")-List.PositionOf(Table.ColumnNames(Source),"Salary"))-1))
@rimah You can use this syntax to get the column number and you should then be able to use similar syntax to remove columns greater than that number.
Table.ColumnNames(MyTable){n}