今年のファイルと比較するクエリを作成しています。このコマンドをBigQueryで使用していますstring((year(current_date())))
。
(d.month) = String(Month((order.order_timestamp)))
のために" ON clause must be AND of = comparisons of one field name from each table, with all field names prefixed with table name. ."
というエラーが発生しています。タイムスタンプの月を使用しているのではなく、テーブルの列を比較していないためです。回避策はありますか?BigQueryのstandardsqlモードでの年機能
#standardSQL
SELECT
INTEGER(SUM(order2.demand_amount_usd)),
order2.quarter_name,
order2.year
FROM (
SELECT
order1.demand_amount_usd,
order1.order_timestamp,
d1.quarter_name,
d1.year
FROM
[datamart.order_item_lifecycle] AS order1
INNER JOIN EACH [datamart.date_dim] AS d
ON
(d.month) = STRING(MONTH((order.order_timestamp)))) AS order2
INNER JOIN EACH [datamart.date_dim] AS d2
ON
d2.year = INTEGER(YEAR(order2.order_timestamp))
WHERE
order2.year = STRING(YEAR(CURRENT_DATE()))
GROUP BY
order2.year,
order2.quarter_name;