Power BI is turning 10, and we’re marking the occasion with a special community challenge. Use your creativity to tell a story, uncover trends, or highlight something unexpected.
Get startedJoin us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.
Hi all,
I would like to count a specific character (or letter) in a string in power query:
For example:
I have a column call Functional Location and contains a string value with one or more than one hypen ("-")
I would like to count the number of hypen in each of the row string.
Hence, if "AU-GOV-DEFN-DBS-EW-PEA-ARRF". the correct result will give me 6
if "AU-GOV", the correct result will give me 1.
I try the following by creating a custom column but I get error:
* Text.PositionOfAny([Functional Location], "-", Occurrence.All)
Even if the above function is correct, it will not give me the whole number because it will give me a list of the position of hypen.. as there is no Count function in Text.
Appreciate your help.
Regards,
Tuff
Solved! Go to Solution.
Test.PositionOfAny expects a list of characters as the second parameter. But because you are just looking for a single character you could just use Text.PositionOf then count the list of returned positions
List.Count(Text.PositionOf([Functional Location],"-",Occurrence.All ))
Or you could turn the "-" parameter into a list by enclosing it in curly braces
eg.
List.Count(Text.PositionOfAny([Functional Location],{"-"},Occurrence.All ))
Note, clicking on the Error will show you a more detailed error message
The solution is simple 🙂
Text.Length([ColumnName]) - Text.Length(Text.Replace([ColumnName], "-", ""))
Test.PositionOfAny expects a list of characters as the second parameter. But because you are just looking for a single character you could just use Text.PositionOf then count the list of returned positions
List.Count(Text.PositionOf([Functional Location],"-",Occurrence.All ))
Or you could turn the "-" parameter into a list by enclosing it in curly braces
eg.
List.Count(Text.PositionOfAny([Functional Location],{"-"},Occurrence.All ))
Note, clicking on the Error will show you a more detailed error message
It's 2025 and this post help me.
This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.
Check out the June 2025 Power BI update to learn about new features.
User | Count |
---|---|
77 | |
74 | |
57 | |
38 | |
33 |
User | Count |
---|---|
70 | |
63 | |
55 | |
48 | |
46 |