Запланированный запрос не добавляет ни одной строки - PullRequest
0 голосов
/ 15 июня 2019

У меня запланированный запрос для обновления существующей таблицы BQ.BQ сообщает, что задание выполняется, и подтверждает время его завершения.

Однако строки фактически никогда не добавляются.

Никаких ошибок или каких-либо действий не происходит.

В таблице даже сказано, что он был последний раз изменен в то же время, когда выполняется запланированный запрос.

Тип записи - запись и добавление.

Кто-нибудь сталкивался с этой проблемой?Спасибо

select event_date,event_timestamp,user_id,event_name,value,
row_number() over (order by event_timestamp,event_date,event_name) as index
from 
(
select *,row_number() over (order by event_timestamp,event_date,event_name) as id
from (select  event_date,event_timestamp,
(select params.value.string_value from unnest(event_params) as params where params.key="user_id") as user_id,
case when event_name= "UAccountBalanceUpdated" 
and params1.key="account_type" and params1.value.string_value="Gems"  
and params2.key="product" and params2.value.string_value="GEM_PACK" then "GemsBought" 

when event_name= "UAccountBalanceUpdated" 
and params1.key="account_type" and params1.value.string_value="Gems"  
and params2.key="product" and params2.value.string_value="Room ticket" then "RoomJoined"  


-- when event_name= "UAccountBalanceUpdated" 
-- and params1.key="account_type" and params1.value.string_value="winnings"  
-- and params2.key="product" and params2.value.string_value="GAME_WINNINGS" then "RoomWon"  

when event_name= "UAccountBalanceUpdated" 
and params1.key="account_type" and params1.value.string_value="Gems"  
and params2.key="product" and params2.value.string_value="ROOM_CANCEL_REFUND" then "RoomCancelledRefund" 


when event_name= "UAccountBalanceUpdated" 
and params1.key="account_type" and params1.value.string_value="Gems"  
and params2.key="category" and params2.value.string_value="Bonus" then "WelcomeGemsOffered" 

when event_name= "UPaymentTransactionUpdate" 
and params1.key="reason" and params1.value.string_value="Purchase"  
and params2.key="status" and params2.value.string_value="Success" then "Cashin" 

when event_name= "UPaymentTransactionUpdate" 
and params1.key="reason" and params1.value.string_value="Withdrawal"  
and params2.key="status" and params2.value.string_value="Success" then "Cashout" 

when event_name= "URoomRegistered" 
and params1.key="entry_fee_currency" and params1.value.string_value="Gem"  
and params2.key="is_success" and params2.value.int_value=1 then "RoomJoined" 


when event_name= "UWon" 
and params1.key="entry_fee_currency" and params1.value.string_value="GEM"
and params2.key="rank" and params2.value.int_value>-1 
then "RoomWon"

when event_name= "ULoggedIn" 
and params1.key="event_source" and params1.value.string_value="Server"
and params2.key="is_new_user" and params2.value.int_value>-1 
then "Loggedin" 

when event_name= "RoomConcluded" 
and params1.key="rewards_config_name" and params1.value.string_value="REFUND"  
and params2.key="entry_fee_currency" and params2.value.string_value="GEM" then "RoomCancelled"  


when event_name= "RoomConcluded" 
and params1.key="rewards_config_name" and params1.value.string_value<>"REFUND"  
and params2.key="entry_fee_currency" and params2.value.string_value="GEM" then "RoomConcluded"  



when event_name= "UPlayedGame" 
and params1.key="entry_fee_currency" and params1.value.string_value="GEM"
and params2.key="prize_currency" and params2.value.string_value="INR" 
then "UserPlayerGame"  


else Null end  as event_name,




case 
when event_name= "UAccountBalanceUpdated" 
and params1.key="account_type" and params1.value.string_value="Gems"  
and params2.key="product" and params2.value.string_value="GEM_PACK" 
then (select params.value.float_value from unnest(event_params) as params where params.key="amount") 



when event_name= "UAccountBalanceUpdated" 
and params1.key="account_type" and params1.value.string_value="Gems"  
and params2.key="product" and params2.value.string_value="Room ticket" then 
(select params.value.float_value from unnest(event_params) as params where params.key="amount") 



-- when event_name= "UAccountBalanceUpdated" 
-- and params1.key="account_type" and params1.value.string_value="winnings"  
-- and params2.key="product" and params2.value.string_value="GAME_WINNINGS" then 
-- (select params.value.float_value from unnest(event_params) as params where params.key="amount") 


when event_name= "UAccountBalanceUpdated" 
and params1.key="account_type" and params1.value.string_value="Gems"  
and params2.key="product" and params2.value.string_value="ROOM_CANCEL_REFUND" then 
(select params.value.float_value from unnest(event_params) as params where params.key="amount") 

when event_name= "UAccountBalanceUpdated" 
and params1.key="account_type" and params1.value.string_value="Gems"  
and params2.key="category" and params2.value.string_value="Bonus" then 
(select params.value.float_value from unnest(event_params) as params where params.key="amount") 

when event_name= "UPaymentTransactionUpdate" 
and params1.key="reason" and params1.value.string_value="Purchase"  
and params2.key="status" and params2.value.string_value="Success" then 
(select params.value.float_value from unnest(event_params) as params where params.key="amount") 

when event_name= "UPaymentTransactionUpdate" 
and params1.key="reason" and params1.value.string_value="Withdrawal"  
and params2.key="status" and params2.value.string_value="Success" then 
(select params.value.float_value from unnest(event_params) as params where params.key="amount") 


when event_name= "URoomRegistered" 
and params1.key="entry_fee_currency" and params2.value.string_value="Gem"  
and params2.key="is_success" and params2.value.int_value=1
then 
(select params.value.float_value from unnest(event_params) as params where params.key="entry_fee") 


when event_name= "UWon" 
and params1.key="entry_fee_currency" and params1.value.string_value="GEM"
and params2.key="rank" and params2.value.int_value>-1 
then 
(select params.value.float_value from unnest(event_params) as params where params.key="prize_amount") 


when event_name= "ULoggedIn" 
and params1.key="event_source" and params1.value.string_value="Server"
and params2.key="is_new_user" and params2.value.int_value>-1 
then 
(select params.value.int_value from unnest(event_params) as params where params.key="is_new_user") 

when event_name= "RoomConcluded" 
and params1.key="rewards_config_name" and params1.value.string_value="REFUND"  
and params2.key="entry_fee_currency" and params2.value.string_value="GEM" then 
(select params.value.float_value from unnest(event_params) as params where params.key="min_players") 



when event_name= "RoomConcluded" 
and params1.key="rewards_config_name" and params1.value.string_value<>"REFUND"  
and params2.key="entry_fee_currency" and params2.value.string_value="GEM" then 
(select params.value.int_value from unnest(event_params) as params where params.key="players_count") 



when event_name= "UPlayedGame" 
and params1.key="entry_fee_currency" and params1.value.string_value="GEM"
and params2.key="prize_currency" and params2.value.string_value="INR" 
then (select params.value.int_value from unnest(event_params) as params where params.key="game_score") 


else Null end  as value

FROM `analytics_193614062.server_events` ,
UNNEST(event_params) as params1,
UNNEST(event_params) as params2) where event_name is not null
and PARSE_DATE('%Y%m%d',  event_date)= DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)    


UNION ALL

select *,row_number() over (order by event_timestamp,event_date,event_name) as id
from (select  event_date,event_timestamp, user_id,

case 
when event_name= "user_engagement" 
and params.key="firebase_event_origin" and params.value.string_value="auto"  
then "user_engagement" 

when event_name= "RankFetched" 
and params.key="is_success" and params.value.int_value=1
then "RankFetched" 

when event_name= "BuyGemsInitiated" 
and params.key="gems_entry_type" and params.value.string_value="GEM_PACK"
then "BuyGemsInitiated" 


when event_name= "app_remove" 
and params.key="firebase_event_origin" and params.value.string_value="auto"
then "app_remove" 


when event_name= "first_open" 
and params.key="firebase_event_origin" and params.value.string_value="auto"
then "first_open" 

when event_name= "FTUECompleted" 
and params.key="event_source" and params.value.string_value="Client"
then "FTUECompleted"

else Null end  as event_name,

case 
when event_name= "user_engagement" 
and params.key="firebase_event_origin" and params.value.string_value="auto"  
then (select params.value.int_value from unnest(event_params) as params where params.key="engagement_time_msec") 


when event_name= "RankFetched" 
and params.key="is_success" and params.value.int_value=1
then (select params.value.int_value from unnest(event_params) as params where params.key="current_score") 

when event_name= "BuyGemsInitiated" 
and params.key="gems_entry_type" and params.value.string_value="GEM_PACK"
then (select params.value.int_value from unnest(event_params) as params where params.key="gem_balance") 


when event_name= "app_remove" 
and params.key="firebase_event_origin" and params.value.string_value="auto"
then (select params.value.int_value from unnest(event_params) as params where params.key="ga_session_number") 


when event_name= "first_open" 
and params.key="firebase_event_origin" and params.value.string_value="auto"
then (select params.value.int_value from unnest(event_params) as params where params.key="previous_first_open_count") 

when event_name= "FTUECompleted" 
and params.key="event_source" and params.value.string_value="Client"
then (select params.value.int_value from unnest(event_params) as params where params.key="score") 

else Null end  as value


FROM `analytics_193614062.events_*` ,
UNNEST(event_params) as params
where _TABLE_SUFFIX =FORMAT_DATE("%Y%m%d", DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY))

) 
where event_name is not null

) order by event_date

1 Ответ

1 голос
/ 20 июня 2019

Просто добавьте проект к ссылке на таблицу - project.dataset.table

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...