[英]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.