コンテンツにスキップ
「プリザンター入門」発売中!

ログを出力する

概要

テーブルの管理画面の計算式タブにある「ログを出力する」を有効化すると、JSON形式のログをコンソールで確認できるようになります。

計算式が意図通りに動かない場合、ログ出力が役に立つことがあります。

「計算式:既定」のログ出力

テーブル設定

「計算方法:既定」を使い、「粗利=売上-仕入合計」を計算した場合のログ出力を確認します。

  1. テーブルを新規作成し、以下の項目を追加してください。

    項目名 カラム名 表示名 役割
    数値A NumA 粗利 計算結果の格納
    数値B NumB 売上 売上額を入力
    数値C NumC 仕入合計 仕入合計額を入力
  2. テーブルの管理画面の計算式タブを開き、以下のように計算式を設定してください。

    計算方法 対象 計算式
    既定 粗利 売上 - 仕入合計
  3. 「ログを出力する」を有効化してください。

  4. コマンドボタンエリアの「更新」ボタンをクリックしてください。
  5. Webブラウザの「開発者ツール」を開き、「コンソール」を開きます。
  6. 新規レコード作成画面を開き、「売上」と「仕入合計」に、以下の値を入力して「作成」ボタンをクリックしてください。

    売上 仕入合計
    1000000 500000
  7. コマンドボタンエリアの「更新」ボタンをクリックすると、「コンソール」に以下のようなログが出力されます。

ログの確認

3つのJSONオブジェクトが出力されていることが分かります。以下のログは、読みやすさを考慮して整形しています。

計算式のログ
formulaSet: {
    "CalculationMethod": "Default",
    "Target": "NumA",
    "Formula": {
        "OperatorType": 0,
        "Children":[
            {"ColumnName": "NumB", "OperatorType": 0},
            {"ColumnName": "NumC", "OperatorType": 2}
        ]
    },
    "Id":1
}
formulaSource: {
    "NumA": 500000.0000,
    "NumB": 1000000.0000,
    "NumC": 500000.0000
}
formulaResult: {
    "NumA": 500000
}

ログの読み方

3つのオブジェクトの詳細は以下の通りです。

JSONオブジェクト 意味
formulaSet 計算式の設定
formulaSource 計算式の対象になる各カラムの値
formulaResult 計算式の実行結果

formulaSetオブジェクトの詳細は以下の通りです。

formulaSetオブジェクトの値 意味
CalculationMethod 計算方法(Defalt:既定、Script:拡張)
Target 対象に設定項目
Formula 計算式
OperatorType 演算子(0:なし、1:加算、2:減算 、3:乗算、4:除算)
Children 計算内容
ColumnName カラム名
Id 計算式のID

「計算式:拡張」のログ出力

3つの数値項目に年・月・日をばらばらに入力し、1つの日付項目へまとめる計算をした場合のログ出力を確認します。

テーブル設定

  1. テーブルを新規作成し、以下の項目を追加してください。

    項目名 カラム名 表示名 役割
    数値A NumA 年を表す数値を入力
    数値B NumB 年を表す数値を入力
    数値C NumC 日を表す数値を入力
    日付A DateA 日付 計算結果の格納
  2. テーブルの管理画面の計算式タブを開き、以下のように計算式を設定してください。

    計算方法 対象 計算式
    拡張 日付 $DATE(年,月,日)
  3. 「ログを出力する」を有効化してください。

  4. コマンドボタンエリアの「更新」ボタンをクリックしてください。
  5. Webブラウザの「開発者ツール」を開き、「コンソール」を開きます。
  6. 新規レコード作成画面を開き、「年」「月」「日」に、以下の値を入力して「作成」ボタンをクリックしてください。

    2017 3 1
  7. コマンドボタンエリアの「更新」ボタンをクリックすると、「コンソール」に以下のようなログが出力されます。

ログの確認

3つのJSONオブジェクトが出力されていることが分かります。以下のログは、読みやすさを考慮して整形しています。

計算式のログ
formulaSet: {
    "CalculationMethod": "Extended",
    "Target": "DateA",
    "FormulaScript": "$DATE(年,月,日)",
    "FormulaMapping": "{\"NumA\":\"年\",\"NumB\":\"月\",\"NumC\":\"日\"}",
    "Id": 1
}
formulaSource: {
    "ResultId": 5199,
         : 省略
    "NumHash": {
        "NumA": {
            "Value": 2017.0000
        },
        "NumB": {
            "Value": 3.0000
        },
        "NumC": {
            "Value": 1.0000
        }
    },
        : 省略
    "DateHash": {
        "DateA": "2017-03-01T00:00:00"
    },
        : 省略
}
formulaResult: {
    "DateA": 2017/03/01
}

ログの読み方

3つのオブジェクトの詳細は以下の通りです。

JSONオブジェクト 意味
formulaSet 計算式の設定
formulaSource 計算式の対象になる各カラムの値
formulaResult 計算式の実行結果

formulaSetオブジェクトの詳細は以下の通りです。

formulaSetオブジェクトの値 意味
CalculationMethod 計算方法(Defalt:既定、Script:拡張)
Target 対象項目
FormulaScript 計算式の内部表現
FormulaMapping 項目の表示名とカラム名の対照表
Id 計算式のID

関連情報