メイン コンテンツをスキップする 補完的コンテンツへスキップ

week - スクリプトおよびチャート関数

この関数は、ISO 8601 に従って、週番号を表す整数を返します。週番号は標準的な数値の解釈に従って、数式の日付の解釈により計算されます。

構文:  

week(timestamp [, first_week_day [, broken_weeks [, reference_day]]])

週が分離された week() 関数の例の図

week 関数が年の最初の月の日付を分割し、既定の分離週システムが適用される様子を示した図。

週数のカウントは 1 月 1 日に始まります (これは、Qlik Sense が既定で分離週を使用するよう設定されているため)。最初の週は、その週に何日あるかに関わらず、FirstWeekDay システム変数より前の日に終了します。FirstWeekDay システム変数は、first_week_day 引数によって week() 関数内で優先されます。

分離されていない週と ReferenceDay=0 を持つ week() 関数の例の図

分離週システムが適用せずに、week 関数が年の最初の月の日付を分離される様子を示した図。

week() 関数は、broken_weeks 引数を使って、分離または非分離の週のどちらを使用するかを指定する機能も提供します。分離された週の機能が採用された場合、第 1 週は ReferenceDay システム変数によって定義された 1 月の特定の日数を含むことになります。そのため、第 1 週は 12 月に開始するか、あるいは週 52 または 53 は 1 月まで続行する可能性があります。最後に、reference_day 引数を使用すると、変数が ReferenceDay システム変数を上書きすることができます。

weekname() 関数と異なり、week() 関数は年の値も返しません。これにより、複数年の週を比較した集計を行うことができます。

この関数内では 4 つの引数を使用できます。

これは、タイムスタンプまたは計算結果がタイムスタンプになる数式として評価して変換する日付です (例: 2012-10-12)。

first_week_day が指定されていない場合、変数 FirstWeekDay の値が週の初日として使用されます。

週の初日として別の曜日を指定する場合は、first_week_day を次のように設定します。

  • 0 - 月曜日
  • 1 - 火曜日
  • 2 - 水曜日
  • 3 - 木曜日
  • 4 - 金曜日
  • 5 - 土曜日
  • 6 - 日曜日

これで、関数から返された整数は、first_week_dayで指定した週の初日を使用するようになります。

FirstWeekDay

broken_weeks が指定されていない場合は、変数 BrokenWeeks の値を使用して、週が分離しているかどうかを定義します。

デフォルトでは、Qlik Sense関数は分離していない週を使用します。つまり、

  • 第 1 週が 12 月から始まる年もあれば、第 52 週や第 53 週が 1 月に渡る年もあります。
  • 通常第 1 週には、少なくとも 1 月の 4 日間が含まれます。

分離した週を使用するオプションもあります。

  • 第 52 週や第 53 週は 1 月へと続きません。
  • 第 1 週は 1 月 1 日から始まり、多くの場合は完全な 1 週間ではありません。

次の値を使用できます。

  • 0 (= 分離しない週を使用)
  • 1 (= 分離した週を使用)

BrokenWeeks

reference_day が指定されていない場合は、変数 ReferenceDay の値を使用して、第 1 週を定義する参照日として設定する 1 月の日を定義します。デフォルトでは、Qlik Sense 関数は 4 を参照日として使用します。これは、第 1 週に必ず 1 月 4 日が含まれる、または第 1 週に少なくとも 1 月の 4 日間が常に含まれることを意味します。

次の値は異なる参照日の設定に使用可能です。

  • 1 (= 1 月 1 日)
  • 2 (= 1 月 2 日)
  • 3 (= 1 月 3 日)
  • 4 (= 1 月 4 日)
  • 5 (= 1 月 5 日)
  • 6 (= 1 月 6 日)
  • 7 (= 1 月 7 日)

ReferenceDay

使用に適しているケース

The week() 関数は、集計を週単位で比較する場合に便利です。例えば、製品の総売上高を週ごとに表示する場合などに使用できます。week() 関数は、ユーザーがアプリケーションの BrokenWeeksFirstWeekDay、または ReferenceDay システム変数を必ずしも使用せずに計算を行いたい場合に、weekname() よりも優先して選択されます。

さらに、複数年にわたって比較を行いたい場合には week() 関数が選択されます。week() 関数を使用することにより、ユーザーは関数使用時に使用するこれらの変数の独自の組み合わせを作成することができます。

これらの軸は、関数を使用してマスター カレンダー テーブルに項目を作成することにより、ロード スクリプトで作成することも、計算軸としてチャートで直接使用することもできます。

関数の例
結果

week( '10/12/2012')

41 を返します。

week( '35648') 32 を返します (35648 = 08/06/1997 のため)
week('10/12/2012', 0, 1) 42 を返します。

地域の設定

特に指定のない限り、このトピックの例では次の日付書式を使用しています: MM/DD/YYYY。日付書式は、データ ロード スクリプトの SET DateFormat ステートメントで指定されています。既定の日付書式は、地域の設定やその他の要因により、システムによって異なる場合があります。以下の例の書式は、要件に合わせて変更できます。または、これらの例に一致するようにロード スクリプトの書式を変更できます。

App の既定の地域設定は、Qlik Sense がインストールされているコンピューターまたはサーバーの地域システム設定に基づいています。アクセスしている Qlik Sense サーバーがスウェーデンに設定されてい場合、データ ロード エディターは、日付、時間、および通貨にスウェーデンの地域設定を使用します。これらの地域の書式設定は、Qlik Sense ユーザー インターフェースに表示される言語とは関係ありません。Qlik Sense は使用しているブラウザと同じ言語で表示されます。

例 1 - 既定システムの変数

例 2 – first_week_day

例 3 – unbroken_weeks

例 4 – reference_day

例 5 – Chart object example

例 6 – シナリオ

このページは役に立ちましたか?

このページまたはコンテンツに、タイポ、ステップの省略、技術的エラーなどの問題が見つかった場合は、お知らせください。改善に役立たせていただきます。