BigQuery में अभी तक ऐसा करने का कोई अच्छा तरीका नहीं है, लेकिन आप इसे नीचे दिए गए उपाय का पालन करके कर सकते हैं
चरण 1
क्वेरी के नीचे चलाएँ
SELECT 'SELECT [group], ' +
GROUP_CONCAT_UNQUOTED(
'SUM(IF([date] = "' + [date] + '", value, NULL)) as [d_' + REPLACE([date], '/', '_') + ']'
)
+ ' FROM YourTable GROUP BY [group] ORDER BY [group]'
FROM (
SELECT [date] FROM YourTable GROUP BY [date] ORDER BY [date]
)
परिणामस्वरूप - आपको नीचे की तरह स्ट्रिंग मिलेगी (इसे पठनीयता के लिए नीचे स्वरूपित किया गया है)
SELECT
[group],
SUM(IF([date] = "date1", value, NULL)) AS [d_date1],
SUM(IF([date] = "date2", value, NULL)) AS [d_date2]
FROM YourTable
GROUP BY [group]
ORDER BY [group]
चरण 2
बस कंपोज्ड क्वेरी के ऊपर दौड़ें
परिणाम नीचे जैसा होगा
group d_date1 d_date2
group1 15 30
नोट 1 :चरण 1 सहायक होता है यदि आपके पास बहुत अधिक मैन्युअल कार्य करने के लिए कई समूह हैं। इस मामले में - चरण 1 आपको अपनी क्वेरी उत्पन्न करने में मदद करता है
नोट 2 :ये चरण आपकी पसंद के किसी भी क्लाइंट में आसानी से लागू हो जाते हैं या आप उन्हें BigQuery वेब UI में चला सकते हैं
आप मेरी अन्य पोस्ट में पिवट करने के बारे में अधिक देख सकते हैं।
BigQuery में पिवोटिंग को कैसे स्केल करें?ए>
कृपया ध्यान दें - प्रति तालिका 10K कॉलम की सीमा है - इसलिए आप 10K संगठनों तक सीमित हैं।
आप नीचे सरलीकृत उदाहरणों के रूप में भी देख सकते हैं (यदि ऊपर एक बहुत जटिल/क्रिया है):
BigQuery/SQL में बड़ी मात्रा में डेटा वाले कॉलम में पंक्तियों को कैसे स्थानांतरित करें?
Google BigQuery में हज़ारों श्रेणियों के लिए डमी वैरिएबल कॉलम कैसे बनाएं?
ए>