如何在整个数据集中将值设置为 NULL?

How to set a value to NULL across the whole dataset?

我有一个数据集,其中未知、缺失或其他类似 NULL 的值被编码为 -9999999。这是在尺寸和测量列中完成的。

如何指示 Tableau 在整个数据集中将 -9999999 视为 NULL

我有 .csv、Excel 和 .shp 文件,但我正试图找到在 Tableau 中执行此操作的通用方法。

我尝试过的东西

创建计算列

我创建了一个计算列:

IFF([Column] == -9999999, NULL, [Column])

但是,这对于所有列来说太繁琐了。

创建别名

我试图创建别名,但是,这仅适用于维度,不适用于度量。

导出为 .csv 并编辑

我已将我的数据集导出为 .csv 文件,然后在文本编辑器中进行编辑(将所有出现的 -9999999 替换为 NULL)并重新加载数据.csv 文件。这可行,但感觉不是最理想的。例如,.shp 个文件无法无损导出到 .csv 个文件。

Tableau 本身不具备处理数据集中所有匹配值并将它们转换为 NULL 的功能。您有几个选择。

  1. 计算字段。你试过了,我同意,它有很多维度和措施,可能会很乏味。和别名一样,这会更麻烦。
  2. 更改生成数据的源系统的输出。如果是数据库,请创建一个视图来为您进行转换。
  3. 如果您使用的是数据提取,请使用 Tableau 提取 API 并编写一个包装程序,将值转换为 null。这可以很容易地通过循环完成并一次点击所有字段。
  4. 如果你有ETL工具比如Informatica或者Talend,运行源数据先通过它做数据转换。
  5. 如果是基于文件的数据源,请使用具有自动搜索和替换功能的程序。命令行 GREP 程序或 Notepad++ 可能可以解决问题。