公式

デザイン ビューでの計算または比較検証のために、選択されたフィールドまたはテーブル列の検証オプションの一部として公式を指定します。

前提条件

フィールドまたはテーブル列の形式が数字の場合、公式検証を指定できます。

Designer で指定した公式は保存され、Validator に引き継がれます。公式は Validatorbot を開くと表示され、bot に関連付けられている公式として使用できます。
  • Designer のプレビュー (抽出結果を表示) ビューでは、公式検証は期待通りにエラーにフラグを付け、トレーニングドキュメントを処理します。
  • Enterprise Client から同じドキュメントを実稼働環境にアップロードします。同じ公式検証でドキュメントが処理されるため、処理が失敗に終わります。
  • Validator では、同じ公式検証はドキュメントを処理するためエラーにフラグを付け続けます。
注: IQ Bot バージョン 5.3.x からバージョン 6.5.x にアップグレードすると公式検証は移行され、公式検証をもう一度手動で追加する作業の手間が省けます。

検証用に公式を指定するには、以下の手順を実行します。

手順

  1. 検証タイプとして、[検証] のドロップダウン メニューから[検証] を選択します。
  2. 選択した公式を入力し、[定義] をクリックして公式を保存します。
  3. 公式を書き込むには、基本的な数学演算子、比較演算子、論理演算子、機能演算子を使用できます。これらの操作を異なるフィールドやテーブル列と組み合わせることで、検証ルールを作成できます。
  4. 必要に応じて、フォーム内のフィールドに入力します。
    表 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 を使用すると、無効な公式で認識されます。
    • 変数を宣言または操作する場合は、式を定式化するために保有されている特定のキーワードは使用しないようにします。
SUM、SUB、DIV、MUL、COLSUM、IF。

次のステップ

評価された式が FALSE の場合、検証エラーが発生します。
ヒント: "==" (二重等号) を使用する場合、"=" (単一等号) と書き込まないようにします。たとえば、AMOUNT == MUL(QUANTITY, UNIT_PRICE) は有効です。しかし、AMOUNT = MUL(QUANTITY, UNIT_PRICE) は有効な公式ではありません。