将过滤器应用于Power BI中的Google Analytics查询URI

时间:2017-09-26 22:05:11

标签: google-analytics powerbi

我正在使用power bi查询谷歌分析,以便与仪表板一起使用。我正在尝试查看特定页面的页面视图,但是power bi喜欢首先引入所有数据然后过滤。我知道可以编写谷歌分析查询URI来过滤我感兴趣的页面。我想知道:如何转换我的power bi查询以使用该过滤器?

我正在使用的power bi查询如下所示:

let
    Source = GoogleAnalytics.Accounts(),
    #"###" = Source{[Id="###"]}[Data],
    #"UA-###-10" = #"###"{[Id="UA-###-10"]}[Data],
    #"#####" = #"UA-###-10"{[Id="#####"]}[Data],
    #"Added Items" = Cube.Transform(#"#####",
        {
            {Cube.AddAndExpandDimensionColumn, "ga:pagePath", {"ga:pagePath"}, {"Page"}},
            {Cube.AddMeasureColumn, "Pageviews", "ga:pageviews"}
        })
in
    #"Added Items"

但这给了我所有页面,我只想要一个特定的页面。

Google Analytics分析URI查询如下所示:

https://www.googleapis.com/analytics/v3/data/ga?ids=ga%3A###&start-date=30daysAgo&end-date=yesterday&metrics=ga%3Apageviews&dimensions=ga%3ApagePath&sort=-ga%3Apageviews&filters=ga%3ApagePath%3D%40%2Fprofile%2Faccount

这给了我正确的结果,因为它在查询级别对我想要的网站进行过滤。

有关如何让URI末尾的&filters=...部分在power bi查询中正常工作的任何想法?

2 个答案:

答案 0 :(得分:0)

您可以使用Power BI的过滤器,无需担心太多。只需在查询编辑器中选择要过滤的页面即可。

filter

这是因为Power BI会尝试将查询中的步骤合并并简化为API请求,然后再将其发送到Google Analytics。在Power BI中刷新数据时,您可以使用Fiddler验证它:

api request

当然,您可以在高级编辑器中编写自己的代码,但它与上面的代码基本相同:

let
    Source = GoogleAnalytics.Accounts(),
    #"###" = Source{[Id="###"]}[Data],
    #"UA-###-10" = #"###"{[Id="UA-###-10"]}[Data],
    #"#####" = #"UA-###-10"{[Id="#####"]}[Data],
    #"Added Items" = Cube.Transform(#"#####",
        {
            {Cube.AddAndExpandDimensionColumn, "ga:pagePath", {"ga:pagePath"}, {"Page"}},
            {Cube.AddMeasureColumn, "Pageviews", "ga:pageviews"}
        }),
    #"Filtered Rows" = Table.SelectRows(#"Added Items", each ([Page] = "/Admin/?newCompany=true"))
in
    #"Filtered Rows"

答案 1 :(得分:0)

您是否尝试过在Google Analytics(分析)中设置过滤器?对于每个帐户,您将获得50个属性(不同的URL)。每个属性允许25个视图。这些视图使您可以设置过滤器。这样,您就可以在数据到达Power BI之前对其进行预过滤。