使用两个自定义 Firebase 参数作为维度在 Data Studio 中创建图表
Create chart in Data Studio using two custom Firebase params as dimensions
我正在开发一个 iOS 应用程序,并被要求对其实施一些用户分析。我正在使用 Firebase,因为 Google Analytics Mobile 将不再受支持,这是推荐的替代方案。
在我的示例中,我有一个名为 "changed_tool" 的事件发送到 Firebase,其中包含两个自定义(字符串)参数:"source" 和 "tool"
我希望能够 know/see 有多少用户从侧面菜单中选择了 "ruler" 工具,以及有多少用户从我也有的径向菜单中选择了相同的工具。
据我所知,单独使用 Firebase 控制台是不可能的,我们决定将该数据导出到 BigQuery 并使用 Data Studio 对其进行可视化。
我的 BigQuery table 看起来像这样:
// omitted event metrics such as date or timestamp
"event_name": "changed_tool",
"event_params": [
{
"key": "source",
"value": {
"string_value": "radial",
"int_value": null,
"float_value": null,
"double_value": null
}
},{
"key": "tool",
"value": {
"string_value": "ruler",
"int_value": null,
"float_value": null,
"double_value": null
}
}
]
// omitted event metrics
从 BigQuery 导入时,Data Studio 自动可用的唯一可用维度是 "Event Name"、"Event Param Name" 和 "Event Param Value (String)"。
我如何在 Google Data Studio 中创建一个堆积柱形图,横坐标为我的工具类型 "dimension"(在本例中为标尺或量角器),纵坐标为 "Event Count" 公制,我的来源(径向或侧面)的列是 "split" "dimension" ?
到目前为止,我无法正确拆分我的数据以满足我的需要,在摆弄过滤器时发生事件,因为它们似乎是查询应用于数据的,而不是数据的显示方式。
我想通了。
解决方案是复制该查询的行为:
SELECT
tools.value.string_value AS tool,
sources.value.string_value AS source,
COUNT(event_name) as total
FROM
`analytics_123456789.events_*`,
UNNEST(event_params) AS tools,
UNNEST(event_params) AS sources
WHERE
event_name = 'changed_tool'
AND tools.key = 'tool'
AND sources.key = 'source'
GROUP BY
tool,
source
ORDER BY
total DESC
在数据工作室中,创建一个新的堆积柱形图,并作为数据源创建一个混合数据,其中混合了完全相同的数据源(在我的例子中,events_YYYYMMDD
)。
作为连接键,使用 Event time
维度。
Select Event Param Value (String)
作为两个数据源的维度,Event Count
作为指标。
然后,过滤每个数据源以在一种情况下仅显示 Event Param Name = tool
,在另一种情况下仅显示 Event Param Name = source
。在退出混合数据 window 之前,您可能需要用更有意义的名称重命名每个 Event Param Value (String)
(例如 Tools
和 Sources
)
保存混合数据,并使用新的 Tools
和 Sources
维度作为主要维度和细分维度,并使用 Event Count
作为指标、排序和次要排序。
无需再次指定过滤器,您的混合数据已处理好。
我正在开发一个 iOS 应用程序,并被要求对其实施一些用户分析。我正在使用 Firebase,因为 Google Analytics Mobile 将不再受支持,这是推荐的替代方案。
在我的示例中,我有一个名为 "changed_tool" 的事件发送到 Firebase,其中包含两个自定义(字符串)参数:"source" 和 "tool"
我希望能够 know/see 有多少用户从侧面菜单中选择了 "ruler" 工具,以及有多少用户从我也有的径向菜单中选择了相同的工具。
据我所知,单独使用 Firebase 控制台是不可能的,我们决定将该数据导出到 BigQuery 并使用 Data Studio 对其进行可视化。
我的 BigQuery table 看起来像这样:
// omitted event metrics such as date or timestamp
"event_name": "changed_tool",
"event_params": [
{
"key": "source",
"value": {
"string_value": "radial",
"int_value": null,
"float_value": null,
"double_value": null
}
},{
"key": "tool",
"value": {
"string_value": "ruler",
"int_value": null,
"float_value": null,
"double_value": null
}
}
]
// omitted event metrics
从 BigQuery 导入时,Data Studio 自动可用的唯一可用维度是 "Event Name"、"Event Param Name" 和 "Event Param Value (String)"。
我如何在 Google Data Studio 中创建一个堆积柱形图,横坐标为我的工具类型 "dimension"(在本例中为标尺或量角器),纵坐标为 "Event Count" 公制,我的来源(径向或侧面)的列是 "split" "dimension" ?
到目前为止,我无法正确拆分我的数据以满足我的需要,在摆弄过滤器时发生事件,因为它们似乎是查询应用于数据的,而不是数据的显示方式。
我想通了。
解决方案是复制该查询的行为:
SELECT
tools.value.string_value AS tool,
sources.value.string_value AS source,
COUNT(event_name) as total
FROM
`analytics_123456789.events_*`,
UNNEST(event_params) AS tools,
UNNEST(event_params) AS sources
WHERE
event_name = 'changed_tool'
AND tools.key = 'tool'
AND sources.key = 'source'
GROUP BY
tool,
source
ORDER BY
total DESC
在数据工作室中,创建一个新的堆积柱形图,并作为数据源创建一个混合数据,其中混合了完全相同的数据源(在我的例子中,events_YYYYMMDD
)。
作为连接键,使用 Event time
维度。
Select Event Param Value (String)
作为两个数据源的维度,Event Count
作为指标。
然后,过滤每个数据源以在一种情况下仅显示 Event Param Name = tool
,在另一种情况下仅显示 Event Param Name = source
。在退出混合数据 window 之前,您可能需要用更有意义的名称重命名每个 Event Param Value (String)
(例如 Tools
和 Sources
)
保存混合数据,并使用新的 Tools
和 Sources
维度作为主要维度和细分维度,并使用 Event Count
作为指标、排序和次要排序。
无需再次指定过滤器,您的混合数据已处理好。