Error or new behavior in BigQuery?

Starting two days ago (August 10, 2016), the query that was used to work (using the BQ Export tables for Google Analytics Premium) stops working. It returns the following error:

Error: Cannot create join tables: Incompatible types. 'hits.latencyTracking.userTimingVariable': TYPE_INT64 'hits.latencyTracking.userTimingVariable': TYPE_STRING

After some research, there seems to be a problem using IN in the WHERE clause when I query tables before and after August 10 (table ga_sessions_20160810).

I simplified my initial request to provide a dummy one that has the same basic structure. The following request is executed (data request from 2016-08-08 and 2016-08-09):

SELECT fullVisitorId, sum(totals.visits)
FROM (select * from TABLE_DATE_RANGE([XXXXXXXX.ga_sessions_],TIMESTAMP('2016-08-08'),TIMESTAMP('2016-08-09')))
WHERE fullVisitorId in(
    SELECT fullVisitorId
    FROM TABLE_DATE_RANGE([XXXXXXXX.ga_sessions_],TIMESTAMP('2016-08-08'),TIMESTAMP('2016-08-09'))
)
GROUP BY fullVisitorId

( , 2016-08-09 2016-08-10) :

SELECT fullVisitorId, sum(totals.visits)
FROM (select * from TABLE_DATE_RANGE([XXXXXXXX.ga_sessions_],TIMESTAMP('2016-08-09'),TIMESTAMP('2016-08-10')))
WHERE fullVisitorId in(
    SELECT fullVisitorId
    FROM TABLE_DATE_RANGE([XXXXXXXX.ga_sessions_],TIMESTAMP('2016-08-09'),TIMESTAMP('2016-08-10'))
)
GROUP BY fullVisitorId

, WHERE IN, , WHERE field IN (...). , 2016-08-10 . , , fullVisitorId, BQ.

, , , hits.latencyTracking.userTimingVariable. , , , . - ?

- ? BigQuery? ?

+4
2

* select, , , ( INT64 STRING).

1) , , * select

SELECT fullVisitorId, sum(totals.visits)
 FROM (select fullVisitorId,totals.visits from TABLE_DATE_RANGE([XXXXXXXX.ga_sessions_],TIMESTAMP('2016-08-09'),TIMESTAMP('2016-08-10')))
  WHERE fullVisitorId in(
   SELECT fullVisitorId
    FROM TABLE_DATE_RANGE([XXXXXXXX.ga_sessions_],TIMESTAMP('2016-08-09'),TIMESTAMP('2016-08-10'))
  ) GROUP BY fullVisitorId

2), . ( , )

SELECT fullVisitorId, sum(totals.visits)
 FROM [view.innertable2]
  WHERE fullVisitorId in(
    SELECT fullVisitorId from [view.innertable1] ) GROUP BY fullVisitorId

hits.latencyTracking.userTimingVariable, .

+2

, , , SQL Server ( SQL- Legacy, ). - :

SELECT fullVisitorId, sum(totals.visits) 
FROM `xxxxxxxx.ga_sessions_*`
WHERE _TABLE_SUFFIX BETWEEN '20160808' and '20160810'
GROUP BY fullVisitorId;
0

Source: https://habr.com/ru/post/1651070/


All Articles