6

大きなクエリでキャプチャされた訪問開始時刻変数を、読み取り可能な日付またはできればタイムスタンプに変換しようとしています。

標準SQLを使用しています。

sec_to_timestamp を使用してみましたが、これは BQ 内のレガシー SQL でのみ機能すると思います。

Google のドキュメントでは、日付式と文字列式からタイムスタンプへの変換について説明していますが、訪問の開始時刻は整数です。

https://cloud.google.com/bigquery/docs/reference/standard-sql/functions-and-operators

次のリンクを見て、このコードを試してみましたが、「関数が見つかりません:整数」というエラーが表示されます

Big Query - Google アナリティクス - 最初の訪問から購入までの時間差

BQ によってキャプチャされた日時に関するその他のアドバイスは、大いに歓迎されます。

ありがとうございました

4

2 に答える 2

12

開始時刻が Unix エポックからの相対秒数であると仮定すると、 を使用TIMESTAMP_SECONDSしてそれをタイムスタンプに変換できます。例えば:

#standardSQL
SELECT
  TIMESTAMP_SECONDS(start_time_sec) AS timestamp
FROM (
  SELECT 1488303123 AS start_time_sec
);

EXTRACTタイムスタンプを日付に変換する場合は、オプションのタイムゾーンを使用できます。

#standardSQL
SELECT
  EXTRACT(DATE FROM TIMESTAMP_SECONDS(start_time_sec)
          AT TIME ZONE 'America/Los_Angeles') AS date
FROM (
  SELECT 1488303123 AS start_time_sec
);
于 2017-02-28T17:34:17.290 に答える