テーブルの管理:計算式:ログを出力する
## 概要
[テーブルの管理](/ja/manual/table-management)画面の[計算式](/ja/manual/table-management-formula)タブにある「ログを出力する」を有効化すると、JSON形式のログをコンソールで確認できるようになります。
計算式が意図通りに動かない場合、ログ出力が役に立つことがあります。
## 「計算式:既定」のログ出力
### テーブル設定
「計算方法:既定」を使い、「粗利=売上-仕入合計」を計算した場合のログ出力を確認します。
1. テーブルを新規作成し、以下の項目を追加してください。
|項目名|カラム名|表示名|役割|
|:--|:--|:--|:--|
|数値A|NumA|粗利|計算結果の格納|
|数値B|NumB|売上|売上額を入力|
|数値C|NumC|仕入合計|仕入合計額を入力|
1. [テーブルの管理](/ja/manual/table-management)画面の[計算式](/ja/manual/table-management-formula)タブを開き、以下のように計算式を設定してください。
|計算方法|対象|計算式|
|:--|:--|:--|
|既定|粗利|売上 - 仕入合計|
1. 「ログを出力する」を有効化してください。
1. コマンドボタンエリアの「更新」ボタンをクリックしてください。
1. Webブラウザの「開発者ツール」を開き、「コンソール」を開きます。
1. 新規レコード作成画面を開き、「売上」と「仕入合計」に、以下の値を入力して「作成」ボタンをクリックしてください。
|売上|仕入合計|
|:--|:--|
|1000000|500000|
1. コマンドボタンエリアの「更新」ボタンをクリックすると、「コンソール」に以下のようなログが出力されます。
### ログの確認
3つのJSONオブジェクトが出力されていることが分かります。以下のログは、読みやすさを考慮して整形しています。
```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|日付|計算結果の格納|
1. [テーブルの管理](/ja/manual/table-management)画面の[計算式](/ja/manual/table-management-formula)タブを開き、以下のように計算式を設定してください。
|計算方法|対象|計算式|
|:--|:--|:--|
|拡張|日付|$DATE(年,月,日)|
1. 「ログを出力する」を有効化してください。
1. コマンドボタンエリアの「更新」ボタンをクリックしてください。
1. Webブラウザの「開発者ツール」を開き、「コンソール」を開きます。
1. 新規レコード作成画面を開き、「年」「月」「日」に、以下の値を入力して「作成」ボタンをクリックしてください。
|年|月|日|
|:--|:--|:--|
|2017|3|1|
1. コマンドボタンエリアの「更新」ボタンをクリックすると、「コンソール」に以下のようなログが出力されます。
### ログの確認
3つのJSONオブジェクトが出力されていることが分かります。以下のログは、読みやすさを考慮して整形しています。
```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|
## 関連情報
<div id="ManualList"><ul><li><a href="/ja/manual/table-management">テーブルの管理</a><span>2025/12/09 up</span></li></ul></article>
<ul><li><a href="/ja/manual/table-management-formula">テーブルの管理:計算式</a><span>2026/02/10 up</span></li></ul></article></div><input id="SearchTextHidden" type="hidden" value="" />

