google-bigquery - Google Big Query - 如何将列中空值的特定百分比分配给特定类别?
问题描述
我正在研究一个数据集,我正在分析生产和开发进口之间的比率。该表如下所示:
Date Team_id Outcome
2020-10-07 1 Production
2020-10-09 1 Development
2020-10-11 1 Development
2020-10-13 1 Production
2020-10-15 1 Development
2020-10-17 1 Production
...
...
...
2020-06-19 1 NULL
2020-04-21 1 NULL
2020-03-23 1 NULL
2020-01-25 1 NULL
作为一家年轻的公司,我们最近才开始收集这些信息。因此,对于在我们开始收集有关导入是在生产环境还是开发环境中完成的数据之前发生的日期,此结果列中的所有值都是 Null。
对于所有空值,我想假设 75% 的导入是在开发中完成的,25% 的导入是在生产中完成的。(百分比是随机的以适合上面的示例表)因此,我的目标是将所有 Null 值的 75% 转换为 Developemt 类别,并将 Null 值的 25% 转换为 Production 类别。Null 值的顺序分配什么值无关紧要,重要的是它们中的 75% 变为开发,其中 25% 变为生产。考虑到这一点,我希望上面的表格看起来像下面的表格:
Date Team_id Outcome
2020-10-07 1 Production
2020-10-09 1 Development
2020-10-11 1 Development
2020-10-13 1 Production
2020-10-15 1 Development
2020-10-17 1 Production
...
...
...
2020-06-19 1 Development
2020-04-21 1 Production
2020-03-23 1 Development
2020-01-25 1 Development
同样,根据我的目标表,哪些为空的值变为开发或生产并不重要,重要的是 75% 的空值变为开发,25% 的空值变为生产。
以我目前的技能,我知道如何通过 CASE 语句将空值分配给特定值。我不知道如何将百分比值分配给空值以将所需的空值百分比转换为特定类别,例如生产/开发
提前感谢您的帮助!
解决方案
数一数你有多少nulls
。
选择空值的 75% 位置,例如:前一个项目占 75% 和后来 25% 的那一天。
然后发出两个更新语句,一个where date<T1
和另一个where date>=T1
相应地更新。
推荐阅读
- javascript - converting date from one given format to another
- cordova - Functional need : annotate PDF/PNG/JPEG. (Ionic 3 cordova 8)
- javascript - How to Hide the Boostrap menu when click on nav links in mobile version
- javascript - 控制台中的左手分配错误无效
- php - SFTP 服务器的配置文件
- c++ - 为什么即使定义了“标识符未定义错误”?
- jquery - 在下拉列表中选择一个选项后,一个值将显示在输入中。Jquery 与 Ajax
- ruby-on-rails - 无法将未经许可的参数转换为哈希轨
- c# - 如何解决或跳过 SQLXMLBulkLoad 的共享问题(事务模式)
- android - how to create horizontal list inside vertical scroll in react native for IOS and android