如何在 Biquery 中使用 param.key 值“action”和“label”在两个不同的列中创建报告

Posted

技术标签:

【中文标题】如何在 Biquery 中使用 param.key 值“action”和“label”在两个不同的列中创建报告【英文标题】:How to create a report in Biquery with param.key value “action” & “label” in two different columns 【发布时间】:2018-11-22 05:44:24 【问题描述】:

使用下面的查询通过大查询使用字符串值查询 param.key “action”并获取报告

选择 event_name,param.value.string_value 作为 action,count(*) 作为 eventcoun 来自<table>, UNNEST (event_params) 作为参数 其中 event_name = 'BotNav' and param.key='action' group by 1,2 order by eventcount desc

通过 bigquery 接收的输出

event_name 动作事件数

BotNav 主页 3575

BotNav 应用 1468

使用下面的查询通过大查询查询带有字符串值的 param.key “标签”并获取报告

选择 event_name,param.value.string_value 作为 action,count(*) 作为 eventcoun 来自<table>, UNNEST (event_params) 作为参数 其中 event_name = 'BotNav' 和 param.key='label' 按 eventcount desc 的 1,2 顺序分组

通过 bigquery 接收的输出 event_name 标签事件数

BotNav 点击 2341

BotNav 提交 1234

BotNav 点击 1234 BotNav 提交 234

如何在两个不同的列中创建包含 event.param .key “action” & “label” 的报告。我需要像这样在 Bigquery 中外出。请。在 bigquery 的预期输出下方找到

预期输出

event_name 动作标签 eventount

BotNav 主页点击 2341

BotNav首页提交1234

BotNav App点击1234

BotNav App 提交 234

请帮助获取两个不同列中的操作和标签字符串值。

【问题讨论】:

【参考方案1】:

下面试试

#standardSQL
select 
  event_name, 
  param1.value.string_value as action,
  param2.value.string_value as label,
  count(1) as eventcount
From `<table>`,
UNNEST(event_params) as param1,
UNNEST(event_params) as param2
where event_name = 'BotNav' 
and param1.key='action' 
and param2.key='label' 
group by 1, 2, 3 
order by eventcount desc   

显然假设每个 event_name 行的 event_params 中只有一个 'action' 和 'label' 键 - 根据相关示例中的计数,这应该是正确的

另一种选择是

#standardSQL
select 
  event_name, 
  (select value.string_value from UNNEST(event_params) where key='action') as action,
  (select value.string_value from UNNEST(event_params) where key='label') as label,
  count(1) as eventcount
From `<table>`
where event_name = 'BotNav' 
group by 1, 2, 3 
order by eventcount desc 

同样的假设

【讨论】:

米哈伊尔,感谢您的回复,但 bigquery 在第 4 行 param2.value.string_value 作为标签之前显示红色错误点,这是您先生提供的第一个选项。请。帮助 我正在写,所以有可能 - 给我秒 - 我会检查 感谢米哈伊尔的快速回复。非常好,先生 我刚刚检查了第二个查询,它也适用于我 - 所以给我你看到的确切错误! 是的,Mikhail 两个选项都工作正常。感谢您的大力支持。先生,我向您致敬

以上是关于如何在 Biquery 中使用 param.key 值“action”和“label”在两个不同的列中创建报告的主要内容,如果未能解决你的问题,请参考以下文章

将 Biquery 查询格式化为 ML 适当的 JSON 以通过 ML Predict

soapui测试 - 提取响应值并在平面文本中使用它

如何在 C# 中使用正则表达式解析重复的名称-值对

PHP如何动态为多维数组的子数组分别添加元素

js 关联数组

mybatis学习——参数处理