2017-08-30 4 views
0

以下は実行されません。エラー "無効なテーブル名:tk.events_*"が表示されます。このテーブルはネストされていますが、使用しているカラムは1行あたり1つの値ではありません。BigQueryでRStudioを使用することに新しい - ネストされたテーブルが認識されない

次のクエリを別のネストされていないテーブルに置き換えると、期待どおりに実行されます。これに対処するために何らかの形式変更がありますか?

project <- "my-project-765" # put your project ID here 

sql <- paste(" 
      #standardSQL 

      select 
userID, 
cast(datetime(servertimestamp,'America/Vancouver') as date) as loginDate 
FROM `tk.events_*` 
where _table_suffix between '20170802' and '20180803' 
and (eventType like '%Viewed' or eventType ='LoginSucceeded') 
group by userId, loginDate 

       ", 
     sep ="") 

df <- query_exec(query=sql, project=project, destination_table = "reports.UserLoginTable_copy", write_disposition = "WRITE_APPEND" , max_pages = 1, useLegacySql = 'f') ## run query and store in dataframe 

編集:

書き直し上記はlegacySQLされるように、それは私のフォーマットで問題を指摘し実行します。

SELECT userID, 
     cast(DATE(DATE_ADD(serverTimestamp, -7, 'HOUR')) AS date) AS loginDate 
FROM TABLE_DATE_RANGE(tk.events_, TIMESTAMP(DATE_ADD(CURRENT_DATE(),-2,'DAY')), TIMESTAMP(CURRENT_DATE())) 
WHERE (eventType LIKE '%Viewed' 
     OR eventType ='LoginSucceeded') 
GROUP BY userId, 
     loginDate 
+0

ちょうどあなたが同じクエリを実行するとどうなるか、疑問に思ったが、テーブルとして 'tk.events_20170802'と?それは動作しますか? –

+0

残念ながら無効なテーブル名としてまだ列挙されています。 – user2930740

答えて

1

何らかの理由でスタンダードSQLがアクティブにならなかったと思います。

は、多分それは動作しますが、このコマンドを実行してみてください:

df <- query_exec(query=sql, project=project, destination_table = "reports.UserLoginTable_copy", write_disposition = "WRITE_APPEND" , max_pages = 1, use_legacy_sql = FALSE) 
+0

ありがとうございます - 私は "use_legacy_sql"の代わりに "useLegacySql"を使用し、あなたの例によるとブール値の代わりに文字列( 'false')に設定したようです。 – user2930740

関連する問題