週ごとに異なるユーザーを表示する必要があります。訪問日列とユーザー ID があります。これは 10 億行の大きなテーブルです。日付列を CSV から年、月、日の列に変更できます。しかし、クエリでそれから週を推測するにはどうすればよいですか。CSV から週を計算できますが、これは大きなプロセス ステップです。
また、日付タイプがないため、回避策を探して、毎日何人のユーザーが訪問するかを示す必要があります。
何か案は?
週ごとに異なるユーザーを表示する必要があります。訪問日列とユーザー ID があります。これは 10 億行の大きなテーブルです。日付列を CSV から年、月、日の列に変更できます。しかし、クエリでそれから週を推測するにはどうすればよいですか。CSV から週を計算できますが、これは大きなプロセス ステップです。
また、日付タイプがないため、回避策を探して、毎日何人のユーザーが訪問するかを示す必要があります。
何か案は?
日付をタイムスタンプ (エポックからのマイクロ秒) として持っている場合は、UTC_USEC_TO_DAY/UTC_USEC_TO_WEEK 関数を使用できます。別の方法として、等形式の日付文字列 (例: "2012/03/13 19:00:06 -0700") がある場合は、PARSE_UTC_USEC を呼び出して文字列をタイムスタンプに変換し、それを使用して週または日を取得できます。
例を見るには、次を試してください。
SELECT LEFT((format_utc_usec(day)),10) as day, cnt
FROM (
SELECT day, count(*) as cnt
FROM (
SELECT UTC_USEC_TO_DAY(PARSE_UTC_USEC(created_at)) as day
FROM [publicdata:samples.github_timeline])
GROUP BY day
ORDER BY cnt DESC)
週を表示するには、単に変更UTC_USEC_TO_DAY(...)
しUTC_USEC_TO_WEEK(..., 0)
ます (最後の 0 は、週が日曜日から始まることを示します)。詳細については、 https://developers.google.com/bigquery/docs/query-referenceにある上記の関数のドキュメントを参照して ください。