公式
- 最終更新日2020/05/07
公式
デザイン ビューでの計算または比較検証のために、選択されたフィールドまたはテーブル列の検証オプションの一部として公式を指定します。
前提条件
フィールドまたはテーブル列の形式が数字の場合、公式検証を指定できます。
- Designer のプレビュー (抽出結果を表示) ビューでは、公式検証は期待通りにエラーにフラグを付け、トレーニングドキュメントを処理します。
- Enterprise Client から同じドキュメントを実稼働環境にアップロードします。同じ公式検証でドキュメントが処理されるため、処理が失敗に終わります。
- Validator では、同じ公式検証はドキュメントを処理するためエラーにフラグを付け続けます。
検証用に公式を指定するには、以下の手順を実行します。
手順
- 検証タイプとして、[検証] のドロップダウン メニューから[検証] を選択します。
- 選択した公式を入力し、[定義] をクリックして公式を保存します。
- 公式を書き込むには、基本的な数学演算子、比較演算子、論理演算子、機能演算子を使用できます。これらの操作を異なるフィールドやテーブル列と組み合わせることで、検証ルールを作成できます。
-
必要に応じて、フォーム内のフィールドに入力します。
表 1. 数学演算子 操作 説明 構文 + 加算 Field/Column_Name1 + Field/Column_Name2 - 減算 Field/Column_Name1 - Field/Column_Name2 * 乗算 Field/Column_Name1 * Field/Column_Name2 / 除算 Field/Column_Name1 / Field/Column_Name2 表 2. 比較演算子 操作 説明 構文 == 等しい [現在のフィールド/列名] == [1 つ以上のフィールド/列名または固定数値で構成される式]
例: AMOUNT == MUL(QUANTITY, UNIT_PRICE)
>= 以上 [現在のフィールド/列名] >= [1 つ以上のフィールド/列名または固定数値で構成される式]
例: TOTAL_BILL_AMOUNT >= AMOUNT_PAID
<= 以下 [現在のフィールド/列名] <= [1 つ以上のフィールド/列名または固定数値で構成される式]
例: AMOUNT_PAID <= TOTAL_BILL_AMOUNT
> より大きい [現在のフィールド/列名] > [1 つ以上のフィールド/列名または固定数値で構成される式]
例: BILL_AMOUNT > 0
< より小さい [現在のフィールド/列名] > [1 つ以上のフィールド/列名または固定数値で構成される式]
例: DISCOUNT_PERCENTAGE < 100
!= 等しくない [現在のフィールド/列名] != [1 つ以上のフィールド/列名または固定数値で構成される式]
例: DEBIT_AMOUNT != 0
表 3. 論理演算子 操作 説明 構文 && AND: フィールド/列はすべての条件が TRUE の場合に有効です
<Current Field/Column Name> <operator 1> <expression 1> && <Current Field/Column Name> <operator 2> <expression 2>
例: DISCOUNT_PERCENTAGE >= 0 && DISCOUNT_PERCENTAGE <=100
|| Or: フィールド/列は指定された条件のいずれかが TRUE の場合に有効です
<Current Field/Column Name> <operator 1> <expression 1> || <Current Field/Column Name> <operator 2> <expression 2>
例: DISCOUNT_PERCENTAGE = 0 || DISCOUNT_PERCENTAGE == 'Net'
! Not: TRUE の式を FALSE に変換、およびその逆に変換します
!<expression>
例: !(AGE < 18) ==> は年齢が 18 歳以上の場合に有効です
表 4. 機能演算子 操作 説明 構文 SUM 加算: 1 つまたは複数のフィールド/列/固定の数値を加算した結果を示します
SUM(n1,n2,....,nN)
例: SUM(SUB_TOTAL, SERVICE_TAX, EDUCATION_CESS) == は SUB_TOTAL + SERVICE_TAX + EDUCATION_CESS に相当します
SUB 除算: 最初に指定された値から 1 つ以上のフィールド/列/固定の数値を減算した結果を示します。
SUB(n1,n2,....,nN)
例: SUB(SUB_TOTAL, TOTAL_DISCOUNT, ADJUSTMENTS) == は SUB_TOTAL - TOTAL_DISCOUNT - ADJUSTMENTS に相当します
MUL 乗算: 1 つまたは複数のフィールド/列/固定の数値を乗算した結果を示します
MUL(n1,n2,....,nN)
例: MUL(QTY_IN_BOX, UNIT_PRICE, SHIPPED_BOXES) == は QTY_IN_BOX x UNIT_PRICE x SHIPPED_BOXES に相当します
DIV 除算: 最初に指定された値から 1 つ以上のフィールド/列/固定の数値を除算した結果を示します
DIV(n1,n2,....,nN)
例: DIV(AMOUNT, SHIPPED_BOXES, UNIT_PRICE) == は SHIPPED_BOXES ÷ SHIPPED_BOXES ÷ UNIT_PRICE に相当します
COLSUM テーブル内の特定の列の合計: 特定のテーブルの各行で指定の式を評価し、すべてを加算した結果を示します
COLSUM("<table-name>", "<expression to evaluate for each row of specified table-name>")
例: FINAL_TOTAL == COLSUM(LINE_ITEMS, MUL(QTY, UNIT_PRICE))
テーブルの LINE_ITEMS に 3 行あると、FINAL_TOTAL は MUL(QTY1, UNIT_PRICE1) + MUL(QTY2, UNIT_PRICE2) + MUL(QTY3, UNIT_PRICE3) に相当します。
その一方で、QTY1 は行 1 の数値、同様に UNIT_PRICE1 は 行 2 の UNIT_PRICE など、他の行でも同じようになります。
ヒント: フィールドやテーブルの検証で精度を高めるためには、数学演算子ではなく機能演算子の使用をおすすめします。式を定式化するときは、次を覚えておく必要があります。- すべての関数名は大文字となる必要があります。
- すべての公式は、検証で TRUE または FALSE のいずれかになります。
- フィールドおよび列名は、公式で使用する場合は大文字と小文字を区別します。フィールドがデザインで [数量] として定義されている場合、公式に qty または QTY を使用すると、無効な公式で認識されます。
- 変数を宣言または操作する場合は、式を定式化するために保有されている特定のキーワードは使用しないようにします。