@Max (式言語)

1 つのリスト内で最大の数値、または 2 つの数値や 2 つの数値リストの大きい方の数値が返されます。

注: この @関数のパラメータが 1 つの形式は Release 6 で新しく追加されました。

構文

@Max( number1 )

@Max( number1 ; number2 )

パラメータ

number1

数値または数値リスト。

number2

数値または数値リスト。

戻り値

maxNumber

(パラメータが 1 つの場合) 数値。number1 の中の最大の数値です。

(パラメータが 2 つの場合) 数値または数値リスト。number1 または number2 の小さい方が返されます。パラメータが数値リストの場合は、@Max により、リストの対応する値を比較した結果のリストが返されます。

使用法

数値リスト定数を指定してこの関数を使用する場合は、リスト連結演算子が他のすべての演算子に優先します。負の数値はカッコで囲んでください。

  1. 次の例では、3 が返されます。
    @Max(1;3)
  2. 次の例では、99;6;7;8 が返されます。
    @Max(99:2:3;5:6:7:8)
  3. 次の例では、-2; 45; 54 が返されます。
    @Max((-2.6):45:(-25);(-2):(-50):54)
  4. 次の式では、[Commission] というフィールドと [Salary] というフィールドの大きい方の値を 50,000 と比較します。値が 50,000 より大きいとき、[Bonus] フィールドは 0 になります。50,000 より小さいとき、[Bonus] フィールドは [Salary] フィールドの値の 10%になります。
    FIELD Bonus:=@If(@Max(Commission;Salary)>50000; 0; (0.10 * Salary)); 
  5. 次の例では、99 が返されます。
    @Max(99 : 2 : 3)
  6. 次の式では、[jian_yrtotal] フィールドと [julie_yrtotal] フィールド (内容は数値リスト) の対応する売上数値が比較され、要素ごとに大きいほうの数値を格納した数値リストが返されます。[jian_yrtotal] フィールドに 7 つ、[julie_yrtotal] フィールドに 5 つの要素がある場合、返される数値は 5 つだけです。デフォルトの動作では、リストの要素数が等しくなるまで 5 番目の要素が繰り返され、リストの対応する 7 つの要素がすべて比較されますが、この式では比較の前に [julie_yrtotal] フィールドの 5 番目の数値が繰り返されることはありません。
    tjian := @Count(jian_yrtotal);
    tjulie := @Count(julie_yrtotal);
    dif := (tjian - tjulie);
    result := @If(@Sign(dif) = -1;@Subset(julie_yrtotal;(tjulie - @Abs(dif)));
    @Subset(jian_yrtotal;(tjian - dif)));
    result2 := (@If(@Sign(dif) = -1;
    @Max(jian_yrtotal;result);@Max(result;julie_yrtotal));"
    @If(@IsError(result2);"One of your list fields is empty";result2)