Wir lieben BigQuery, es ist erstaunlich, und wir verwenden es sehr, aber wir haben ein Problem mit der Select-Anweisung, aus irgendeinem Grund, wenn Sie ein Select basierend auf Variablen erstellen, die Sie nicht funktioniert, aber wenn Sie den vollständigen Code der Variablen verwenden tut esBigQuery Problem mit Select bei Verwendung von AS
der Fehler ich erhalte die folgende -
Error: (L5:47): Expression 'RequestsPerSession' is not present in the GROUP BY list
vom Kurs wollen wir nicht auf der Grundlage dieser Variable aggregieren - da es keine in ist der Abschnitt GROUP BY.
funktioniert das nicht
SELECT
ch,
COUNT(Distinct(AC_SessionID),15000000) As UniqueSessions,
COUNT(IF(Action CONTAINS "request_data",1,NULL)) AS Requests,
ROUND(Requests/UniqueSessions,1) AS RequestsPerSession
Diese
funktioniertSELECT
ch,
COUNT(Distinct(AC_SessionID),15000000) As UniqueSessions,
COUNT(IF(Action CONTAINS "request_data",1,NULL)) AS Requests,
ROUND(COUNT(IF(Action CONTAINS "request_data",1,NULL))/UniqueSessions,1) AS RequestsPerSession
Irgendwelche Ideen auf, wie man es beheben?
Gibt es auch eine Möglichkeit, eine Variable innerhalb der Select-Funktion für Berechnungszwecke zu erstellen, aber nicht in den Endergebnissen erscheinen?
in einer abgeleiteten Tabelle einen Teil der Logik Put. – jarlh
Sie sollten eine Unterabfrage mit einer abgeleiteten Tabelle verwenden. Es wird zu kompliziert für Sie, und später werden Sie nicht finden, wo der Datenfehler herkommt. Haben Sie keine Angst, Unterabfragen zu verwenden, sie sind gut und überhaupt keine Leistung. – Pentium10