1
我試圖從第一張表中獲取一些信息,然後將其鏈接到我擁有的一些人口統計信息。無法在bigquery中正確加入
SELECT
colA,
colB,
DATE(serverTimeStamp) AS newDate,
eventType,
pgSource,
COUNT(*) FROM (
SELECT
*,
MAX(IF(LOWER(parameters.name)="pagesource", parameters.value, NULL)) WITHIN RECORD AS pgSource
FROM
TABLE_DATE_RANGE(mytableA, TIMESTAMP('2016-02-02 00:00:00'), TIMESTAMP('2016-02-02 23:59:59')))
WHERE
LOWER(parameters.name)="Allison"
GROUP BY
parameters.name,
parameters.value,
newDate,
eventType,
pgSource
但是,添加新表會更改我的結果(計數應該相同)。這是第一張有合適數據的結果。
SELECT
colA,
colB
DATE(serverTimeStamp) AS newDate,
eventType,
UD.gender,
UD.locationKey
pgSource,
COUNT(distinct instanceId) FROM (
SELECT
*,
MAX(IF(LOWER(parameters.name)="Allison", parameters.value, NULL)) WITHIN RECORD AS pgSource
FROM
TABLE_DATE_RANGE(myTableA, TIMESTAMP('2016-02-02 00:00:00'), TIMESTAMP('2016-02-02 23:59:59'))) EV
join each
replicated.UserDimension AS UD
ON
UD.userId = EV.userId
WHERE
LOWER(parameters.name)="isfirstcontact"
GROUP EACH BY
colA,
colB,
newDate,
eventType,
pgSource,
UD.gender,
UD.locationKey
有關如何處理此問題的任何提示?
** 米哈伊爾已善意地提醒我說,第一臺具有多用戶id會甩開我的計數。我如何調整這個事實?
感謝米哈伊爾的源泉!我有重複的用戶ID - 有什麼辦法來調整這個事實時,計數? – TKL
老實說,如果沒有第一張桌子上的細節和不理解你試圖做什麼的細節,很難提出更多建議。我建議檢查我的答案的第一部分 –
我剛剛意識到 - 你的兩個查詢是完全不同的!查看帶有parameters.name的條件的行!你期望在這裏有匹配的計數? –