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

问题描述 投票:1回答:1

我正在开发一个iOS应用程序,并被要求实现一些用户分析。我正在使用Firebase,因为将不再支持Google Analytics移动版,因此建议使用此选项。

在我的示例中,我有一个事件被发送到名为“changed_tool”的Firebase,其中包含两个自定义(String)参数:“source”和“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中创建一个堆积柱形图,其中包含作为横坐标的工具类型“尺寸”(在本例中为标尺或量角器)以及纵向“事件计数”指标,其中列由我“拆分”源(径向或侧面)“尺寸”?

到目前为止,我无法正确分割我的数据以满足我的需求,当摆弄过滤器时,事件似乎是查询应用于数据,而不是数据的显示方式。

google-bigquery firebase-analytics google-data-studio
1个回答
1
投票

我想到了。

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

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

在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)(如ToolsSources

保存混合数据,并使用新的ToolsSources维度作为主要维度和细分维度,并将Event Count用作指标,排序和辅助排序。

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

© www.soinside.com 2019 - 2024. All rights reserved.