gpt4 book ai didi

google-bigquery - 从 Google BigQuery 标准 SQL 中的数组生成随机值

转载 作者:行者123 更新时间:2023-12-03 08:54:22 24 4
gpt4 key购买 nike

我希望对一些营销数据进行匿名化以实现可视化目的。为此,我创建了多个数组,用匿名值替换现有的营销事件名称,例如营销事件 1、营销事件 2、营销事件 3 等...

我使用以下查询在 PostgreSQL 数据库中实现了此功能:

(ARRAY['Campaign 1'::text, 'Campaign 2'::text, 'Campaign 3'::text, 'Campaign 4'::text, 'Campaign 5'::text])[(floor(random() * 5::double precision) + 1::double precision)] AS campaign_name

这满足了我的需要,它为营销事件的每行数据随机分配数字 1-5。

我尝试在 BigQuery 中模仿这一点,但遇到了麻烦。我将随机切换为兰特,但这不起作用。有人以前做过类似的事情吗?

最佳答案

下面是 BigQuery Standrad SQL(众多选项之一)。只是生成的虚拟数据的一个示例

#standardSQL
WITH `project.dataset.dummy_data` AS (SELECT id FROM UNNEST(GENERATE_ARRAY(1, 100)) id)
SELECT id, campaigns[OFFSET(CAST(5 * RAND() - 0.5 AS INT64))] campaign_name
FROM `project.dataset.dummy_data`, (SELECT ['Campaign 1','Campaign 2','Campaign 3','Campaign 4','Campaign 5'] campaigns)

上面假设由于某种原因您希望设置该数组
下面的版本表明您可以完全避免它

#standardSQL
WITH `project.dataset.dummy_data` AS (SELECT id FROM UNNEST(GENERATE_ARRAY(1, 100)) id)
SELECT id, CONCAT('Campaign ', CAST(1 + CAST(5 * RAND() - 0.5 AS INT64) AS STRING)) campaign_name
FROM `project.dataset.dummy_data`

关于google-bigquery - 从 Google BigQuery 标准 SQL 中的数组生成随机值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56780571/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com