【问题标题】:Tableau - Common Table Expression (CTE) SQL ServerTableau - 公用表表达式 (CTE) SQL Server
【发布时间】:2019-07-31 17:39:52
【问题描述】:

我正在将 Tableau 与 SQL Server 连接,并尝试使用 T-SQL 查询。 我只想知道,Tableau 支持 CTE(通用表表达式)吗?

我看到这篇文章,它说 CTE 是可能的:http://kb.tableau.com/articles/howto/using-common-table-expressions

这是我的查询:

WITH Test (Store) AS 
(
    SELECT 
        Store
    FROM
        FiscalReporting.dbo.LBR_STR_ORG
)
SELECT
    Store
FROM
    Test

当我运行此查询时,我收到一条错误消息。如果我做错了什么,请告诉我。

我的大部分 SQL 查询都是用 CTE 构建的。因此,如果我得到任何帮助,将不胜感激。另外,我是 Tableau 新手。

谢谢!

【问题讨论】:

  • 删除(存储)并将“WITH Test (Store) AS”勾选为“WITH Test AS”
  • WHAT 您遇到了什么错误?请记住:我们无法阅读您的屏幕,也无法阅读您的思想 - 您必须向我们展示!
  • 我删除(存储)它不起作用。这是我收到的错误消息; [Microsoft][SQL Server Native Client 11.0][SQL Server]关键字“WITH”附近的语法不正确。 [Microsoft][SQL Server Native Client 11.0][SQL Server]关键字“with”附近的语法不正确。如果此语句是公用表表达式、xmlnamespaces 子句或更改跟踪上下文子句,则前面的语句必须以分号结束。 [Microsoft][SQL Server Native Client 11.0][SQL Server]')' 附近的语法不正确。
  • 抱歉,Tableau 不支持在自定义 SQL 中使用 CTE。有人发布了一个解决方法,基本上是在服务器上创建一个表,然后使用 select 语句来访问数据。我最终创建了一个视图(您可以在创建视图语句中使用 CTE),但如果 Tableau 仅支持任何有效查询会更好。 Link to reason tableau errors out on CTE usage
  • 但这是我最近从 Tableau 得到的答案,它说它支持 CTE,kb.tableau.com/articles/howto/using-common-table-expressions。也许我做错了什么

标签: sql-server tableau-api common-table-expression


【解决方案1】:

Tableau 不支持“自定义 SQL”中的 CTE 表达式。但它在“初始 SQL”中确实如此。

这里有两个例子,如何使用它:

https://kb.tableau.com/articles/howto/using-common-table-expressions

https://dabblingwithdata.wordpress.com/2016/12/10/actually-you-can-use-variables-ctes-and-other-fancy-sql-with-tableau-after-all/

解决方案涉及使用“初始 SQL”,您可以在其中创建临时表(以 # 开头的 SQL Server),然后在“自定义 SQL”中引用此临时表

【讨论】:

    猜你喜欢
    • 2010-09-23
    • 1970-01-01
    • 1970-01-01
    • 2017-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-25
    相关资源
    最近更新 更多