@BusinessDays (式言語)

1 つ以上の日付範囲に含まれる営業日数を返します。

構文

@BusinessDays( startDates ; endDates ; daysToExclude ; datesToExclude )

注: この @ 関数は、Release 6 で新しく追加されました。

パラメータ

startDates

日時または日時リスト。各日付範囲の開始日です。

endDates

日時または日時リスト。各日付範囲の終了日です。

daysToExclude

数値または数値リスト。オプション。営業日として数えない曜日です。1 は日曜日、7 は土曜日です。小数は整数に四捨五入されます。1 から 7 以外の数値は無視されます。

datesToExclude

日時または日時リスト。オプション。営業日として数えない日付です。

戻り値

numberOfDays

数値または数値リスト。startDates から endDates までの日数 (両端の日を含む) から daysToExcludedatesToExclude を除いたものです。

使用法

startDatesendDates の演算は、並列リスト演算です。両者の長さが異なるときは、短い方のリストが最後の要素の値で埋められます。

計算結果の日数が負のときや、終了日が開始日より前のとき、または日時値に時間のみが含まれているときは -1 が返されます。

  1. このエージェントは、土曜日と日曜日および 10 日間の祝日を除いた 2001 年の日数を表示します。
    @Prompt([OK];
    @Text(
    @BusinessDays([01/01/2001]; [12/31/2001]; 1 : 7;
    [01/01/2001] : [01/15/2001] : [02/16/2001] : [05/28/2001] : [07/04/2001] :
    [09/03/2001] : [10/08/2001] : [11/22/2001] : [11/23/2001] : [12/25/2001])
    );
    "Business days in 2001")
  2. このエージェントは、土曜日と日曜日および 10 日間の祝日を除いた 2001 年の日数を四半期ごとに表示します。
    @Prompt([OK];
    @Implode(@Text(
    @BusinessDays([01/01/2001] : [04/01/2001] : [07/01/2001] : [10/01/2001];
    [03/31/2001] : [06/30/2001] : [09/30/2001] : [12/31/2001];
    1 : 7;
    [01/01/2001] : [01/15/2001] : [02/16/2001] : [05/28/2001] : [07/04/2001] :
    [09/03/2001] : [10/08/2001] : [11/22/2001] : [11/23/2001] : [12/25/2001])
    ); "-");
    "Business days in 2001 by quarter")
  3. このフィールド値式は、StartDate から EndDate までの日数 (両端の日を含む) から NonWorkDays と Holidays を除いた値を返します。StartDate と EndDate はスカラー値を持つ日時フィールドです。NonWorkDays はキーワードフィールドで、日曜日の「1」と土曜日の「7」という別名値が定義されています。Holidays は複数の値を保持できる日時フィールドです。
    @BusinessDays(StartDate; EndDate;
    @TextToNumber(NonWorkDays);
    Holidays)
  4. このコードを、複数日イベントが含まれているカレンダービューのビューアクションに追加すると、そのイベントの営業日数を示すダイアログボックスが表示されます。例えば、カレンダービューに 32 日間続く休暇イベントが含まれている場合 (startDT フィールドは 08/02/2002、endDT フィールドは 09/02/2002)、カレンダーからこの休暇イベントを選択してボタンをクリックすると、「Business days」というタイトルのダイアログボックスに 22 と表示されます。
    @Prompt([OK];"Business days";@Text(@BusinessDays(startDT;endDT;1:7)))

    9 月 2 日が祝日の場合は、式を次のように編集します。

    @Prompt([OK];"Business days";@Text(@BusinessDays(startDT;endDT;1:7;[09/02/2002])))