【问题标题】:Datastudio Column Name not found未找到 Datastudio 列名
【发布时间】:2018-07-27 12:12:04
【问题描述】:

我不得不转移我的一些 Google BigQuery 表,现在一些 datastudio 仪表板不再工作了。我检查了 Datastudio 运行的查询。它这样做:

SELECT t0.column, SUM(t0.value) AS t0_qt_weezwy5dnb FROM 
(SELECT * FROM `table_*` WHERE _TABLE_SUFFIX BETWEEN '20180726' AND '20180726')
 AS t0 GROUP BY t0.column ORDER BY t0.column DESC;

但它给了我错误“在 t0 内找不到名称列”。在查询中的这一日期中,我肯定有该列。还有其他日期较早的表没有该列。但是,当我只查看那个日期时,这不应该影响结果。在我重命名表之前,它曾经可以工作。

任何人知道如何解决它,所以再次有效?

【问题讨论】:

    标签: google-bigquery google-data-studio


    【解决方案1】:

    BigQuery 使用与通配符匹配的最近创建表的架构作为通配符表的架构。
    注意:在此之后应用 WHERE 子句,因此您的情况下的架构不是来自 WHERE 子句中日期的表 - 根本不是

    解决这个问题 - 您可以使用匹配的表名和您期望的架构创建新的空表。当然,这将一直有效,直到您使用缺少该列的架构创建新表

    因此,最好的方法是在此类表的“系列”中保持一致的架构 - 您希望使用 _TABLE_SUFFIX 以这种方式查询的具有相似名称的表

    【讨论】:

    • 感谢一百万!原来是这样的!只需使用新模式添加一个新表,它就可以像以前一样工作了!太棒了!
    【解决方案2】:

    这是您使用_TABLE_SUFFIX 时的常见问题。所有表都必须具有相同的架构。查询需要编译。

    所以早期的表也必须有“名称”。您可以修补这些表并向其添加“名称”。您甚至可以修补任何自动导出工具为您创建的表:分析、firebase、计费导出。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-15
      • 2018-11-14
      • 2018-12-07
      • 2021-10-24
      • 2018-03-27
      • 1970-01-01
      • 1970-01-01
      • 2016-01-26
      相关资源
      最近更新 更多