メインコンテンツまでスキップ

logoCorrectSize.png

Workday Adaptive Planning Knowledge Center

レガシーカレンダーとカスタムカレンダーのDay(this)

レガシーカレンダーとカスタムカレンダーのday(this)の違い

Release 2017.2において柔軟な時間モデリングを導入した状態で、day(this)を数式内で使用すると、インスタンスがレガシーカレンダーまたはカスタムカレンダーを有しているか否かによって異なる形で解釈されます。レガシーカレンダーは、時間管理内で変更されていないRelease 2017.2の前に作成されたカレンダーです。

カレンダーがレガシーであるかどうかを判断する最も簡単な方法は、[時間管理] のツールバーを表示することです。レガシーカレンダーにのみ後方ボタンと前進ボタンがあります。 

レガシー カレンダー時間管理ツールバー カスタムカレンダー時間管理ツールバー
Legacy Calendar Time Administration Toolbar Custom Calendar Time Administration Toolbar

レガシーカレンダーはday(this)を数字15として解釈します。

レガシーカレンダーを延長するか、そのラベルを変更するか、時間層を追加または削除すると、カスタムカレンダーになります。Release 2017.2 の後に作成されたすべてのインスタンスは、それが月次であっても、デフォルトでカスタムカレンダーとして自動的に機能します。day(this) について、レガシー カレンダーは常に数字 15 を返しますが、カスタムカレンダーは day(this) を、期間を含む最初の日付の日付の整数として解釈します。

レガシー カレンダーの day(this) カスタムカレンダーの day(this)
daythisOldCal.png daythisNewCal.png
2016年1月の戻り値 = 15 2016年1月の戻り値 = 1

たとえば、週で設定されたカスタムカレンダーにおいて、年の第1週が1月1日から開始される場合、週2にday(this)を使用すると数字8が返されます。1月8日は第2週の初日です。

day-this-calendar-week2.png

IF命令文内の比較において(this)が解釈される方法

レガシーカレンダーの場合、数式内の(this)という単語は、IF命令文における比較として使用される場合、任意の月の15日を示します。

カスタムカレンダーにおいて、(this)は期間の開始日を示します。

たとえば、数式IF(this>toDate(2016,1,1),1,0)は、2016年1月に開始されるレガシーカレンダーにおいて1を返します。カスタムカレンダーにおいて、この数式は2016年2月から開始される1を返します。

レガシーカレンダーの2016年1月において(this)は1-15-2016(2016年1月15日)を、カスタムカレンダーにおいて(this)は1-1-2016(2016年1月1日)を意味します。

IF(this>toDate(2016,1,1),1,0) 2016 年 1 月 2016 年 2 月
レガシー 結果 = 1 結果=1
カスタム 結果=0 結果=0

新規カレンダーにおける使用に向けてレガシーカレンダーからday(this)数式を編集する方法

Release 2017.2 の後に作成したカスタムカレンダーまたはインスタンスで数式を使用する場合、その数式によって期待される結果を得られるか確認するための 2 つのステップがあります。

  1. すべての数式内で、レガシーカレンダーのday(this)のすべてのインスタンスを数字15に置き換えます。
  2. レガシー カレンダーの IF 命令文内で、単語 (this)toDate(this.year,this.month,15) に置き換えます。
  • この記事は役に立ちましたか?