1
カレンダーの次元の一部として、iso_week_start_date、iso_week_end_date、およびiso_week_numberを設定する必要があります。これらのフィールド以外のカレンダーディメンションを作成できました。ありがとう。日付ディメンションのiso_week_start_dateとiso_week_end_dateの計算方法は?
カレンダーの次元の一部として、iso_week_start_date、iso_week_end_date、およびiso_week_numberを設定する必要があります。これらのフィールド以外のカレンダーディメンションを作成できました。ありがとう。日付ディメンションのiso_week_start_dateとiso_week_end_dateの計算方法は?
スノーフレークはDATE_TRUNC(WEEK, ..)
を提供していますので、ISO週の初日を取得できます。その後6日を追加すると、最後の日が与えられます。そしてDATE_EXTRACT(WEEK, ..)
(または単にWEEK(..)
)もあります
例えば:
select extract(week, '2017-10-10'::date), date_trunc(week, '2017-10-10'::date), dateadd(day, 6, date_trunc(week, '2017-10-10'::date));
-----------------------------------+--------------------------------------+-------------------------------------------------------+
EXTRACT(WEEK, '2017-10-10'::DATE) | DATE_TRUNC(WEEK, '2017-10-10'::DATE) | DATEADD(DAY, 6, DATE_TRUNC(WEEK, '2017-10-10'::DATE)) |
-----------------------------------+--------------------------------------+-------------------------------------------------------+
41 | 2017-10-09 | 2017-10-15 |
-----------------------------------+--------------------------------------+-------------------------------------------------------+
は詳細についてはマニュアルを参照して、ISOの週は少し変な意味を持っていることを忘れないでください。
ありがとうMarcin。これは非常に役に立ちます。これは、SnowflakeにISOの日付のネイティブサポートがあることを意味しますか?それでは、特定の日付からどのようにして定期的な週番号(ISOではなく)を取得できますか?そこには別の機能がありますか? SFのドキュメンテーション「dayofweek_iso」には1つの関数があります。あなたは他のそのような機能を知っていますか?私はドキュメンテーションでそのようなことを見つけることができませんでした。 – Mohit
今日、Snowflakeは主にISOベースの曜日機能を提供しています.WEEKはたとえばISO weekを返します。また、Snowflakeではすぐに追加の週関連機能が提供されます。うまくいけば今四半期。これはあなたの要求に対応する必要があります。 –
Btw、あなたが見たいと思う正確な種類の機能を提供できるなら、できるだけ詳しくコメントを付けてください。たとえば、12月31日は常にその年の週(たとえば52または53)に属しているか、翌年の第1週に属することができますか?フォローアップありがとうございます。 –