使用两个自定义Firebase参数作为尺寸在Data Studio中创建图表

时间:2019-04-03 10:01:14

标签: google-bigquery firebase-analytics google-data-studio

我正在开发一个iOS应用,并被要求对其进行一些用户分析。我正在使用Firebase,因为将不再支持Google Analytics(分析)移动设备,这是推荐的替代方法。

在我的示例中,我有一个事件被发送到Firebase,名为“ changed_tool”,它带有两个自定义(字符串)参数:“源”和“工具”

我希望能够知道/看到有多少用户从侧面菜单中选择了“标尺”工具,以及有多少用户从径向菜单中选择了同一工具。

从我所见,仅使用Firebase控制台是不可能的,我们决定将数据导出到BigQuery并使用Data Studio对其进行可视化。

我的BigQuery表如下:

// 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仅自动可用的可用维度为“事件名称”,“事件参数名称”和“事件参数值(字符串)”。

如何在Google Data Studio中创建一个堆积的柱形图,其横坐标是我的工具类型“维度”(在这种情况下是标尺或量角器),纵坐标是“事件计数”指标,而纵列是“拆分”是根据我的来源(径向还是侧面)的“尺寸”?

到目前为止,我无法正确拆分数据以满足我的需求,在摆弄过滤器时会发生这种情况,因为它们似乎是查询了应用于数据的数据,而不是如何显示数据。

1 个答案:

答案 0 :(得分:0)

我知道了。

解决方案是复制该查询的行为:

SELECT
  tools.value.string_value AS tool,
  sources.value.string_value AS source,
  COUNT(event_name) as total
FROM
  `analytics_123456789.events_20190229`,
  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
  tools.value.string_value,
  sources.value.string_value
ORDER BY
  COUNT(event_name) DESC

在Data Studio中,创建一个新的Stacked柱形图,并作为混合了完全相同的数据源(在我的情况下为events_YYYYMMDD)中作为数据源的混合数据。

使用Event time作为连接键。 为这两个数据源选择Event Param Value (String)作为维度,并选择Event Count作为度量。

然后,过滤每个数据源以在一种情况下仅显示Event Param Name = tool,在另一种情况下显示Event Param Name = source。在退出混合数据窗口之前,您可能需要使用更有意义的名称(例如Event Param Value (String)Tools)重命名每个Sources

保存混合的数据,并将新的ToolsSources维度用作主要和细分维度,将Event Count用作度量,排序和次要排序。

无需再次指定过滤器,您的混合数据就可以解决这个问题。