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.
Essentially I want to do this but 5 years ago when this was asked it was not possible and I was wondering if anything has changed:
want to fetch data from Google Analytics With M (PowerQuery/PowerBI), but want to filter the dimension values on the fily, Let's Say my dimension is "Page" and I want "Pageviews" and "Unique Pageviews" measures, provided that the "Page" is following a regex filter (ex. ga:pagePath=~^.*?([0-9]{6,7}|mpg[0-9]{1,3}){1}\.html[/]?[^ ]*)
I could use "Table.SelectRows", but as M doesn't support regex, this filter should be passed to GA api directly. Here is what M generated for me:
let Source = GoogleAnalytics.Accounts(), #"1234567" = Source{[Id="1234567"]}[Data], #"UA-987654-1" = #"1234567"{[Id="UA-52004541-1"]}[Data], #"11111" = #"UA-987654-1"{[Id="1234567"]}[Data], #"Added Items" = Cube.Transform(#"11111", {{Cube.AddAndExpandDimensionColumn, "ga:pagePath", {"ga:pagePath"}, {"Page"}}, {Cube.AddMeasureColumn, "Pageviews", "ga:pageviews"}, {Cube.AddMeasureColumn, "Unique Pageviews", "ga:uniquePageviews"}}), #"Filtered Rows" = Table.SelectRows(#"Added Items", each Text.Contains([Page], "html")) in #"Filtered Rows"
You need to use R or Python in your query to do this.
Using Regular Expressions(RegEx) in Power BI | by Shivam Shukla | Medium
Or with javascript like shown here.
RegEx in Power BI and Power Query in Excel with Java Script – The BIccountant
Pat
To learn more about Power BI, follow me on Twitter or subscribe on YouTube.
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 |
---|---|
17 | |
10 | |
8 | |
8 | |
7 |