【问题标题】:Tableau ERROR: column reference "datasource" is ambiguous; Error while executing the query Unable to create extractTableau 错误:列引用“数据源”不明确;执行查询时出错 无法创建数据提取
【发布时间】:2016-10-01 00:29:47
【问题描述】:

我正在尝试从实时数据源创建一个 tde 文件。我在 postgres 中连接到多个物化视图,因此数据源是自定义 sql 查询。工作簿中的所有内容在运行时都运行良好,但是当我尝试提取数据时,我收到错误:

ERROR: column reference "datasource" is ambiguous; Error while executing the query Unable to create extract

我确实有多个具有相同字段名称的表,因此我在自定义查询中相应地为每个字段设置了别名。似乎当 Tableau 创建他们的提取查询时,别名无法识别。非常感谢任何帮助。

SELECT
 i.trx_line_id
,i.datasource
,ie.category_type
,ss.trx_line_id
,ss.datasource
,pl.pl_cd


FROM   invoice i

LEFT   JOIN sales_structure ss ON i.trx_line_id = ss.trx_line_id
LEFT   JOIN invoice_ext ie ON i.trx_line_id = ie.trx_line_id
LEFT   JOIN product_level pl ON i.pl_cd = pl.pl_cd

WHERE  ss.sales_team_rpt IN ('a','b')

【问题讨论】:

  • `TableName`.`field` 工作吗?
  • 当我用 TableName 替换别名时,我收到此错误:ERROR: invalid reference to FROM-clause entry for table "TableName"; Error while executing the query 当我尝试退出自定义查询时。
  • 您可以发布您的查询吗?
  • 您的查询未显示名为“字段”的字段。您是否更改了错误消息或者这是正确的查询?
  • 我修改了它。已更正。

标签: tableau-api


【解决方案1】:

您将向 Tableau 返回一组数据,其中字段(datasourcetrx_line_id)具有相同的名称。一个简单的解决方法是为这些字段设置别名:

SELECT
    i.trx_line_id AS invoice_line_id, -- Aliased
    i.datasource AS invoice_datasource, -- Aliased
    ie.category_type,
    ss.trx_line_id AS sales_structure_line_id, -- Aliased
    ss.datasource AS sales_structure_datasource, -- Aliased
    pl.pl_cd
FROM
    invoice i
LEFT JOIN
    sales_structure ss ON i.trx_line_id = ss.trx_line_id
LEFT JOIN
    invoice_ext ie ON i.trx_line_id = ie.trx_line_id
LEFT JOIN
    product_level pl ON i.pl_cd = pl.pl_cd
WHERE
    ss.sales_team_rpt IN ('a','b');

【讨论】:

  • 我给表格起了别名,但没有考虑各个字段。谢谢!
  • 这当然意味着不能使用 SELECT * -- 我被难住了好久,谢谢你的帮助!
猜你喜欢
  • 2021-05-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-28
相关资源
最近更新 更多