簡體   English   中英

BIG QUERY 中的 Pivot 為包含空格的行數據提供錯誤。 字段必須僅包含字母數字下划線以字母或下划線開頭

[英]Pivot in BIG QUERY giving error for row data having a space . Fields must contain only letters numbers underscores start with a letter or underscore

我正在嘗試使用以下查詢在大查詢中進行 PIVOTING

select * from
(SELECT desc,qty,RSN_DESC FROM `TABLE`)
  PIVOT(SUM(qty) FOR RSN_DESC IN ('Example1', 'Example2', 'Example3', 'Example 3','Example4','Example 5',''))

如果您仔細觀察“示例 3”和“示例 5”,我們在數據之間有一個空格,例如“Store Ops”(我的數據中的一個實際示例)。 Pivot 不適用於此類數據,它會給出如下錯誤

Invalid field name "Store Ops". Fields must contain only letters, numbers, and underscores, start with a letter or underscore, and be at most 300 characters long.

關於如何處理這種情況的任何建議?

改用下面

select * from
(SELECT `desc`,qty,RSN_DESC FROM `TABLE`)
PIVOT(SUM(qty) FOR replace(RSN_DESC, ' ', '_') IN ('Example1', 'Example2', 'Example3', 'Example_3','Example4','Example_5',''))    

在這種情況下,“Example3”、“Example_3”將是不同的列

或者

select * from
(SELECT `desc`,qty,RSN_DESC FROM `TABLE`)
PIVOT(SUM(qty) FOR replace(RSN_DESC, ' ', '') IN ('Example1', 'Example2', 'Example3', 'Example4','Example5',''))    

在這種情況下,“Example3”和“Example 3”將折疊成一列

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM