Microsoft Fabric Community Conference 2025, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount.
Register nowThe Power BI DataViz World Championships are on! With four chances to enter, you could win a spot in the LIVE Grand Finale in Las Vegas. Show off your skills.
Hi everyone,
I am attempting to dynamically replace the headers of my table. My headers contain the string BLY, LY and CY which stand for "Before Last Year", "Last Year" and "Current Year", respectively.
My steps so far were as follows:
- Managed to modify Excel data file so it contains the rows with the desired replacement values (i.e. 2019, 2020 and 2021)
- Transposed my table (before setting the first row as my column headers) so that I have all my column headers listed in one row (see screenshot)
- Using the "Replace Values" button, I have created the formula
= Table.ReplaceValue(#"Transposed Table","BLY","2019",Replacer.ReplaceText,{"Column1"})
which successfully replaces all BLY to 2019
Now, as I would prefer to not change my hard coded replacement value each year when the corresponding years of BLY, LY and CY change, I would like to have my headers changed dynamically. I therefore attempted to modify the formula above with
= Table.ReplaceValue(#"Transposed Table","BLY",{32}[Column2],Replacer.ReplaceText,{"Column1"})
However, my result was as follows:
It seems that this is not a viable option. Can someone please help me find the correct formula in order to produce the desired result?
Solved! Go to Solution.
What is the error message?
If it's complaining that 2019 isn't text, then you can wrap #"Transposed Table"{30}[Column2] with Text.From.
The error is because it thinks you're trying to reference the Column2 field of the single element list { 32 }.
I think this is what you intended:
= Table.ReplaceValue(#"Transposed Table","BLY",#"Transposed Table"{30}[Column2],Replacer.ReplaceText,{"Column1"})
Hi @AlexisOlson ,
thank you for your reply. You are right, {32} was an error. Having applied your formula, however, I only get errors generated in column1.
Do you have any idea where the problem lies?
P.S.: = #"Transposed Table"{30}[Column2] is at least generating the right value (i.e. 2019)
What is the error message?
If it's complaining that 2019 isn't text, then you can wrap #"Transposed Table"{30}[Column2] with Text.From.
great, that was the final key! Thanks a lot for your help!
for others
the final formula should read
= Table.ReplaceValue(#"Transposed Table","BLY",Text.from(#"Transposed Table"{30}[Column2]),Replacer.ReplaceText,{"Column1"})