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 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}
Check out the July 2025 Power BI update to learn about new features.