Google Analytics
总结
项目 | 说明 |
---|---|
发布状态 | 正式版 |
产品 | Power BI(语义模型) Power BI(数据流) Fabric(数据流 Gen2) Power Apps(数据流) Customer Insights(数据流) |
支持的身份验证类型 | Google 帐户 |
功能参考文档 | GoogleAnalytics.Accounts |
注意
由于部署计划和特定于主机的功能,某些功能可能只存在于一个产品中。
注意
自 2023 年 7 月起,Google 已弃用 Google Analytics API。 有关详细信息,请参阅 Google 公告。 Power Query Google Analytics 连接器使用 Implementation = "1.0"
设置,通过现已弃用的 Universal Analytics API V4 支持旧版 Universal Analytics 场景。 该连接器还使用现在默认的 Implementation = "2.0"
设置,通过 Google Analytics Data API V1支持 Google Analytics 4 场景。
注意
自 2021 年 7 月起,Google 停止支持从嵌入式浏览器框架登录到 Google 帐户。 由于此更改,需要将 Power BI Desktop 版本更新到 2021 年 6 月或更高版本,才能支持登录到 Google。
先决条件
登录到 Google Analytics 之前,必须先具有 Google Analytics 帐户(用户名/密码)。
支持的功能
- 导入
- Google Analytics 4 (Data API)
- Google Universal Analytics(已弃用)
从 Power Query Desktop 连接到 Google Analytics 数据
要连接到 Google Analytics 数据:
在 Power BI Desktop 的主页功能区中,选择获取数据。 从左侧的类别中选择 Online Services,然后选择 Google Analytics。 然后选择连接。
如果这是首次通过 Google Analytics 连接器获取数据,则会显示第三方通知。 如果不希望再次显示此消息,请选择不要再次向我发送有关此连接器的警告。 然后选择继续。
要通过旧版“Universal Analytics”API 连接到 Google Analytics 数据,请选择“实现 1.0”。 要通过支持 Google Analytics 4 的新 Google Analytics Data API 连接到 Google Analytics 数据,请选择“实现 2.0(Beta 版)”。
要登录到 Google Analytics 帐户,请选择登录。
在显示的使用 Google 登录窗口中,提供用于登录到 Google Analytics 帐户的凭据。 可以提供电子邮件地址或电话号码。 然后选择下一步。
输入 Google Analytics 密码,然后选择下一步。
当系统询问是否希望 Power BI Desktop 访问 Google 帐户时,选择允许。
成功登录后,选择连接。
建立连接后,将看到您有权访问的帐户列表。 钻取帐户、属性和视图,以查看一系列在显示文件夹中分类的值。
可以加载所选表,从而将整个表引入 Power BI Desktop,也可选择转换数据以编辑查询,从而打开 Power Query 编辑器。 然后,可以筛选和优化要使用的数据集,接着将优化后的数据集加载到 Power BI Desktop 中。
从 Power Query Online 连接到 Google Analytics 数据
要连接到 Google Analytics 数据:
从 Power Query - 选择数据源页面中,选择 Google Analytics。
在连接页面中,输入连接名称,并在必要时选择本地数据网关。
选择登录,以登录到 Google 帐户。
在显示的使用 Google 登录窗口中,提供用于登录到 Google Analytics 帐户的凭据。 可以提供电子邮件地址或电话号码。 然后,选择“下一步”。
注意
目前,Google Analytics 登录对话框指示您正在登录到 Power Query Desktop。 将来将更改此措辞。
输入 Google Analytics 密码,然后选择下一步。
当系统询问是否希望 Power BI Desktop 访问 Google 帐户时,选择允许。
成功登录后,选择下一步。
建立连接后,将看到您有权访问的帐户列表。 钻取帐户、属性和视图,以查看一系列在显示文件夹中分类的值。
选择转换数据以在 Power Query 编辑器中编辑查询。 然后,可以筛选和优化要使用的数据集,接着将优化后的数据集加载到 Power Apps 中。
限制和问题
应注意以下与访问 Google Analytics 数据相关的限制和问题。
Power BI 的 Google Analytics 配额限制
Google Analytics AP 请求的标准限制和配额在 API 请求的限制和配额中介绍。 但是,Power BI Desktop 和 Power BI 服务允许使用以下增强的查询数量。
- 每日查询次数:1,500,000
- 每 100 秒查询次数:4,000
故障排除
验证意外数据
当日期范围非常大时,Google Analytics 将仅返回值的子集。 可以使用本节中所述的过程来了解正在检索的日期,并手动编辑日期。 如果需要更多数据,可以追加多个具有不同日期范围的查询。 如果不确定要返回以查看的数据,还可以使用数据事件探查快速了解要返回的内容。
要确保看到的数据与从 Google Analytics 获取的数据相同,可以在 Google 的交互式工具中自行执行查询。 要了解 Power Query 正在检索的数据,可以使用查询诊断来了解要发送到 Google Analytics 的查询参数。
如果按照“查询诊断”的说明对任何已添加项运行诊断步骤,可以在诊断数据源查询列中查看生成的结果。 建议在与 Google Analytics 的初始连接的基础上,尽可能少地运行此操作,以确保不会在 Power Query 转换中丢失数据,而不是从 Google Analytics 检索数据。
根据查询的不同,包含对 Google Analytics 发出的 API 调用的行可能不在同一位置。 但是,对于简单的纯 Google Analytics 查询,通常会将其视为包含该列中内容的最后一行。
在数据源查询列中,将找到具有以下模式的记录:
Request:
GET https://www.googleapis.com/analytics/v3/data/ga?ids=ga:<GA Id>&metrics=ga:users&dimensions=ga:source&start-date=2009-03-12&end-date=2020-08-11&start-index=1&max-results=1000"aUser=<User>%40gmail.com HTTP/1.1
<Content placeholder>
Response:
HTTP/1.1 200 OK
Content-Length: -1
<Content placeholder>
在此记录中,可以看到分析视图(配置文件)ID、指标列表(在本例中只是ga:users
)、维度列表(在本例中,仅引荐源)、开始日期和结束日期、起始索引、最大结果数(对于此编辑器,默认设置为 1000)和 quotaUser。
可以将这些值复制到 Google Analytics 查询资源管理器中,以验证查询返回的相同数据是否也由 API 返回。
如果是日期范围错误,可以轻松修复此错误。 转到高级编辑器。 您将看到一个如下所示的 M 查询(至少可能有其他转换)。
let
Source = GoogleAnalytics.Accounts(),
#"<ID>" = Source{[Id="<ID>"]}[Data],
#"UA-<ID>-1" = #"<ID>"{[Id="UA-<ID>-1"]}[Data],
#"<View ID>" = #"UA-<ID>-1"{[Id="<View ID>"]}[Data],
#"Added Items" = Cube.Transform(#"<View ID>",
{
{Cube.AddAndExpandDimensionColumn, "ga:source", {"ga:source"}, {"Source"}},
{Cube.AddMeasureColumn, "Users", "ga:users"}
})
in
#"Added Items"
可以执行以下两项操作中的一项。 如果有日期列,则可以按日期筛选。 这是较为简单的选项。 如果不在乎按日期分解,则可以之后进行分组。
如果没有日期列,则可以在高级编辑器中手动操作查询,以添加一个并据以进行筛选。 例如:
let
Source = GoogleAnalytics.Accounts(),
#"<ID>" = Source{[Id="<ID>"]}[Data],
#"UA-<ID>-1" = #"<ID>"{[Id="UA-<ID>-1"]}[Data],
#"<View ID>" = #"UA-<ID>-1"{[Id="<View ID>"]}[Data],
#"Added Items" = Cube.Transform(#"<View ID>",
{
{Cube.AddAndExpandDimensionColumn, "ga:date", {"ga:date"}, {"Date"}},
{Cube.AddAndExpandDimensionColumn, "ga:source", {"ga:source"}, {"Source"}},
{Cube.AddMeasureColumn, "Organic Searches", "ga:organicSearches"}
}),
#"Filtered Rows" = Table.SelectRows(#"Added Items", each [Date] >= #date(2019, 9, 1) and [Date] <= #date(2019, 9, 30))
in
#"Filtered Rows"