如何在整个数据集中将值设置为 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 的功能。您有几个选择。
- 计算字段。你试过了,我同意,它有很多维度和措施,可能会很乏味。和别名一样,这会更麻烦。
- 更改生成数据的源系统的输出。如果是数据库,请创建一个视图来为您进行转换。
- 如果您使用的是数据提取,请使用 Tableau 提取 API 并编写一个包装程序,将值转换为 null。这可以很容易地通过循环完成并一次点击所有字段。
- 如果你有ETL工具比如Informatica或者Talend,运行源数据先通过它做数据转换。
- 如果是基于文件的数据源,请使用具有自动搜索和替换功能的程序。命令行 GREP 程序或 Notepad++ 可能可以解决问题。
我有一个数据集,其中未知、缺失或其他类似 NULL
的值被编码为 -9999999
。这是在尺寸和测量列中完成的。
如何指示 Tableau 在整个数据集中将 -9999999
视为 NULL
?
我有 .csv
、Excel 和 .shp
文件,但我正试图找到在 Tableau 中执行此操作的通用方法。
我尝试过的东西
创建计算列
我创建了一个计算列:
IFF([Column] == -9999999, NULL, [Column])
但是,这对于所有列来说太繁琐了。
创建别名
我试图创建别名,但是,这仅适用于维度,不适用于度量。
导出为 .csv
并编辑
我已将我的数据集导出为 .csv
文件,然后在文本编辑器中进行编辑(将所有出现的 -9999999
替换为 NULL
)并重新加载数据.csv
文件。这可行,但感觉不是最理想的。例如,.shp
个文件无法无损导出到 .csv
个文件。
Tableau 本身不具备处理数据集中所有匹配值并将它们转换为 NULL 的功能。您有几个选择。
- 计算字段。你试过了,我同意,它有很多维度和措施,可能会很乏味。和别名一样,这会更麻烦。
- 更改生成数据的源系统的输出。如果是数据库,请创建一个视图来为您进行转换。
- 如果您使用的是数据提取,请使用 Tableau 提取 API 并编写一个包装程序,将值转换为 null。这可以很容易地通过循环完成并一次点击所有字段。
- 如果你有ETL工具比如Informatica或者Talend,运行源数据先通过它做数据转换。
- 如果是基于文件的数据源,请使用具有自动搜索和替换功能的程序。命令行 GREP 程序或 Notepad++ 可能可以解决问题。