Redshiftで異なるオブジェクトの累積数を時系列で取得しようとしています。単純なことは、COUNT(DISTINCT myfield)OVER(ORDER BY時間フィールドDESC ROWS UNBOUNDED PRECEDING)を使用することですが、Redshiftは「ウィンドウ定義はサポートされていません」というエラーを出します。Redshift SQLを使用して累積別個のエンティティを数えようとしています
たとえば、以下のコードでは、最初の週から現在までの週ごとの累積別ユーザーを検索しようとしています。しかし、私は、 "サポートされていないウィンドウ関数"エラーを取得します。
SELECT user_time.weeks_ago,
COUNT(distinct user_time.user_id) OVER
(ORDER BY weeks_ago desc ROWS UNBOUNDED PRECEDING) as count
FROM (SELECT FLOOR(EXTRACT(DAY FROM sysdate - ev.time)/7) AS weeks_ago,
ev.user_id as user_id
FROM events as ev
WHERE ev.action='some_user_action') as user_time
目的は、アクションを実行した一意のユーザーの累積時系列を作成することです。これを行う方法に関するアイデア?
私は動作しません同じリンクされている例を見ました。しかし、これは助けになりました。ありがとう。 – systemjack
'select *'ですべての行を返すことを望まないときはどうしますか? 1ヶ月の間に別個の顧客を数えたい場合がありますが、私がパーティションの 'customer_id'で注文すると、その月の最大値だけが必要であっても、返された集合はすべてのランク値を与えます。 – Merlin