Er is nog geen goede manier om dit in BigQuery te doen, maar je kunt het doen volgens onderstaand idee
Stap 1
Voer onderstaande zoekopdracht uit
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]
)
Als resultaat krijg je een string zoals hieronder (het is hieronder geformatteerd omwille van de leesbaarheid)
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]
Stap 2
Voer gewoon de samengestelde zoekopdracht uit
Het resultaat is zoals hieronder
group d_date1 d_date2
group1 15 30
Opmerking 1 :Stap 1 is handig als je veel groepen hebt om te draaien, dus teveel handmatig werk. In dit geval - Stap 1 helpt u bij het genereren van uw zoekopdracht
Opmerking 2 :deze stappen zijn eenvoudig te implementeren in elke client van uw keuze of u kunt ze gewoon uitvoeren in de BigQuery Web UI
Je kunt meer zien over draaien in mijn andere berichten.
Hoe kan ik draaien in BigQuery schalen?
Let op:er is een limiet van 10.000 kolommen per tabel - dus u bent beperkt tot 10.000 organisaties.
U kunt hieronder ook vereenvoudigde voorbeelden zien (als bovenstaande te complex/uitgebreid is):
Hoe transponeer ik rijen naar kolommen met een grote hoeveelheid gegevens in BigQuery/SQL?
Hoe maak je dummy variabele kolommen voor duizenden categorieën in Google BigQuery?
Herhaalde velden draaien in BigQuery