计算字段在数据源预览中变为无效

Calculated field turns invalid in Data Source Preview

我有一个包含多个 table 的 Access DB 文件。 为了创建一个包含正则表达式匹配的计算字段,我创建了一个包含数据提取的 Tableau 工作簿。

我所做的是尝试匹配包含有效 URL 的 [Web Location] 中的顶级域,并将其保存在 TopLvlDomain 字段中:

REGEXP_EXTRACT([Web Location],'(?:\.([a-z]{2,6})(?:\/|$))' )

效果很好,给了我想要的东西:

但是,如果我转到 Tableau 中的“预览数据源”选项卡,它会告诉我字段计算无效:

为什么会这样,我该如何解决?

重要的原因是我有另一个 table 里面有国家代码,我想加入它以获得完整的国家名称。我知道它并不完全可靠(想想 com、org 等域),但就目的而言它足够准确。

您的计算是正确的,这将适用于 Excel(或支持 Tableau 的 REGEX 的任何其他数据源)。但是,Access 不支持这些 Tableau REGEX 函数。

See docs:

REGEXP_EXTRACT(string, pattern) Returns the portion of the string that matches the regular expression pattern. This function is available for Text File, Hadoop Hive, Google BigQuery, PostgreSQL, Tableau Data Extract, Microsoft Excel, Salesforce, and Oracle data sources.

一个选项,这似乎是您所做的,是创建 Access DB 的提取物,然后将其用于 运行 REGEX。您可以刷新提取以使其与 Access DB 中的数据保持同步。