在 BigQuery 中将零转换为 Null 值时遇到问题

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

我目前在当地一家新闻台担任初级数据分析师,负责使用 BigQuery 分析天气趋势。在我的分析中,我遇到了数据清理过程的问题。最新的数据集尚未正确清理,导致缺失值被错误地输入为零。在继续分析之前,我需要将这些零转换为空值。但是,我用来执行此操作的代码返回错误消息,并且我不确定如何继续。

我尝试过的: 我尝试使用 BigQuery 中的 IF 和 CASE 函数将零转换为空值,但我不断收到错误消息。理想情况下,我希望代码运行时不会出现错误,并且零能够成功转换为空值。然而,我在实现这一结果方面遇到了困难。 最小可重复示例:

SELECT  IF(wind_speed = 0, NULL, wind_speed) AS cleaned_wind_speed FROM  weather_data WHERE  year = 2023;

google-bigquery data-cleaning targetnullvalue
1个回答
0
投票

您可以使用 case 语句有效地将 0 转换为 Null 尝试下面的查询,您应该能够处理它。

#sql

SELECT
  year,
  CASE WHEN wind_speed = 0 THEN NULL ELSE wind_speed END AS cleaned_wind_speed
FROM
  weather_data
WHERE
  year = 2023;
© www.soinside.com 2019 - 2024. All rights reserved.