雪花无法识别枢轴对象

Posted

技术标签:

【中文标题】雪花无法识别枢轴对象【英文标题】:Pivot object not being recognized by snowflake 【发布时间】:2019-11-19 23:12:04 【问题描述】:

我在雪花中编写了一个 SQL 代码来创建数据透视表。我在另一个查询中使用数据透视表的对象,但它没有被识别。

create or replace table "SCRATCH"."ASHISHKUMAR".pivoted2 as
SELECT * FROM
(SELECT
  sample_number,customer_sample_number, grower, farm, field, test_parameter,result, SYM, project_id
FROM
    "SCRATCH"."ASHISHKUMAR"."PIVOTED" test
)
PIVOT(
   avg (result)
   FOR test_parameter IN ('Falling Number',
'Damaged Kernels Total',
'Alpine Screen O/100',
'Width (W)',
'Area (135 min.)',
'Absorption',
'Peak',
'Tolerance (Stability)',
'Bread Score Total (100)',
'Weight',
'Ratio No. (Max) (135 min.)',
'Area (90 min.)',
'Ratio No. (R/E) (90 min.)',
'Resistance (90 min.)',
'Shrunken & Broken',
'Wheat of Other Classes',
'Alpine Screen O/45',
'Bake Absorption',
'Crumb Color (10)',
'Digital Image Analysis',
'Max. Resistance (135 min.)',
'0/9',
'Weight (Average)',
'Water',
'Dough Temp.',
'Volume 1',
'Top Grain Score',
'Extensibility (45 min.)',
'Resistance (45 min.)',
'Hardness (Std. Deviation)',
'Moisture (Std. Deviation)',
'Dry Gluten',
'T/9',
'Diameter (Std. Deviation)',
'Weight (Std. Deviation)',
'Contrasting Classes',
'Heat Damage',
'Alpine Screen O/140',
'Bake @ 425°',
'Mix 1 (straight dough)',
'Taste (10)',
'Uniformity (10)',
'Spread Factor (W/T)',
'Ratio No. (R/E) (45 min.)',
'Proof Time',
'Extensibility (90 min.)',
'Protein',
'Test Weight (kg/hl)',
'Total Defects',
'Alpine Screen T/325',
'Ash',
'Crust (10)',
'Symmetry (10)',
'B*',
'Extensibility (135 min.)',
'1000 Kernel Weight',
'Aroma (10)',
'Volume 2',
'L*',
'Ratio No. (Max) (90 min.)',
'Ratio No. (R/E) (135 min.)',
'0/7',
'Max. Resistance (45 min.)',
'Ochratoxin A (Elisa)',
'Yield (Experimental Milling)',
'Dockage',
'Grade',
'Alpine Screen O/200',
'Thickness (T)',
'Area (45 min.)',
'Max. Resistance (90 min.)',
'Lactic Acid',
'Starch Damage',
'M.T.I.',
'Wet Gluten',
'Gluten Index',
'Vomitoxin (Elisa)',
'Foreign Material',
'Test Weight (lb/bu)',
'Moisture',
'Alpine Screen O/325',
'Bread Score:',
'Grain (20)',
'Specific Volume',
'Texture (20)',
'Resistance (135 min.)',
'Moisture (Average)',
'Sucrose',
'Amylograph',
'Fermentation Time',
'Ratio No. (Max) (45 min.)',
'Diameter (Average)',
'Loaf Height',
'Sodium Carbonate',
'Hardness (Average)',
'A*'
)
) AS GPALPIVOT order by project_id;
select * from "PARTHENON"."AGRONOMY"."INDIGO_LOT_ALL" lots left join GPALPIVOT
  on lots.id ilike GPALPIVOT.customer_sample_number
left JOIN PARTHENON.ORACLE.WHEAT_HARVEST_2019_INVENTORY inv
   on GPALPIVOT.customer_sample_number = inv.subinv_description||'_'||split_part(inv.locator,'.',1)||'-'||split_part(inv.locator,'.',2);

我在尝试运行此程序时遇到错误。 PFB错误截图:

Link of the screenshot of the error

我已经尝试了一切,我现在不知道该怎么办。有人可以解释一下吗?

【问题讨论】:

您的 SQL 无效 感谢您的快速回复!我的 SQL 代码运行平稳,直到枢轴语句,之后它显示错误,因为它无法找到枢轴对象。它有什么问题? 在最后一次选择中将 GPALPIVOT 替换为 PIVOTED2 我也是这样做的。现在我收到此错误:SQL 编译错误:对象 'PIVOTED2' 不存在或未授权。 您需要使用创建表时使用的架构完全限定它。当您运行第二条语句时,您显然不在该模式中。 【参考方案1】:

GPALPIVOT 不是您创建的表的名称——它只是原始 SELECT 语句内部的别名,用于您在第一个查询中构建的表表达式。后续查询中要引用的表名应该是 "SCRATCH"."ASHISHKUMAR".pivoted2

【讨论】:

非常感谢斯图尔特!我终于可以毫无问题地运行代码了!

以上是关于雪花无法识别枢轴对象的主要内容,如果未能解决你的问题,请参考以下文章

由于数据中的“雪花问题”导致部分加载

Sencha Touch JsonP 回调无法识别 Ext 对象

无法通过UFT正确识别SAP对象

PyCharm无法识别Pyomo包中的对象

Android Button 背景无法识别/使用可绘制对象

SqlAdapter 无法识别我的表:异常“无效的对象名称”