演算フィールド
Analytics テーブルで、実際の物理データではなく Analytics 式の結果を表示するフィールドは演算フィールドといいます。一般的に演算フィールドは、何らかの演算、処理、またはデータ変換を実行します。
式の詳細については、式の使用を参照してください。
演算フィールドを利用する方法
操作する物理データは分析の基盤を提供しますが、多くの場合、物理データから情報を補間するか、計算を実行して、分析を進める必要があります。
物理ソース データがないと、演算フィールドで、補間し、計算を実行できます。作業している物理データ ソースに直接存在しない有益なデータを作成できる「仮想フィールド」です。
演算フィールドの使用方法
演算結果の表示 | 在庫ファイルで、演算フィールド Value(値)を作成します。これは、quantity(数量)フィールドを unit_cost(単価)フィールドで乗算し、在庫品目ごとの合計値を計算します。 |
---|---|
物理データ フィールドを必要なデータ型に変換する | 数値フィールドを文字データとして扱うために、STRING( ) 関数を使用して、数値を文字値に変換する演算フィールドを作成できます。 |
条件を使用して数値コードをテキスト値に置き換える | 物理フィールドの数値の国コードにマッピングして、実際の国名を表示する条件付き演算フィールドを作成します。例:01 ではなく “Canada”、02 ではなく “USA”。 |
1 つまたは複数の条件を評価し、その結果に基づいてフィールドの値を決定する | 販売地域に基づいて商品の消費税を計算する条件付き演算フィールドを作成します。商品が 1 つの地域で販売される場合、税金は 7% で計算されます。商品が別の地域で販売される場合、税金は 6% で計算されます。 |
演算フィールドのデータ カテゴリ
物理フィールドのように、演算フィールドは、次のデータ カテゴリのいずれかに属します。
- 文字
- 数値
- 日付時刻
- 論理
物理フィールドとは異なり、演算フィールドを定義するときには、明示的にデータ型、そしてデータ カテゴリを選択しません。代わりに、演算フィールドで指定するデフォルト値が、演算フィールドのデータ カテゴリを示します。
以下の表は、演算フィールドのデフォルト値と関連付けられたデータ カテゴリの例です。
デフォルト値 | データ カテゴリ |
---|---|
"不明なロケーション" | 文字 |
STRING(Employee_number, 10) | |
0.00 |
数値 |
数量 * 単価 |
|
VALUE(Salary, 0) | |
`20180331` | 日付時刻 |
CTOD(Invoice_date, "DD/MM/YYYY") | |
T | 論理 |
値 > 1000 |
数値演算フィールドの小数点精度の制御
数値の演算フィールドでは、すべての数値演算値の小数精度は、Default Value フィールドで指定された式またはリテラル値 の精度で統制されます。
- 式 デフォルト式 Invoice_Amount * 0.375 を指定し、Invoice Amount フィールドの値の小数点桁数が 2 桁の場合は、すべての演算値が小数点 3 桁まで計算され、必要に応じて、端数処理されます。
式の小数点精度は 数式の端数処理と小数点精度の制御 で概説されたルールによって統制されます。
- リテラル値たとえば、既定値として 0.00 を指定すると、演算値はすべて小数点以下 2 桁まで計算され、必要に応じて四捨五入されます。
小数点精度を上げる
数値演算値の小数点精度を上げるには、Default Value フィールドの小数点桁数を増やします。
式
式を 1 で乗算し、任意の小数点精度が続きます。式の開始に 1 があることを確認します。以下の例は、小数点 4 桁まで精度を上げます。
1.0000 * Invoice_Amount * 0.375
リテラル値
リテラル値の小数部に末尾のゼロを追加します。以下の例は、小数点 3 桁まで精度を上げます。
0.000
演算フィールドの種類
次の 2 種類の演算フィールドを作成できます。これらのフィールドについては次のセクションで説明します。
- 基本演算フィールド
- 条件付き演算フィールド:
- リテラル値
- 演算値
基本演算フィールド
基本演算フィールドは、単一の式またはリテラル値を使用し、レコードの値に関係なく、テーブルのすべてのレコードに適用します。
基本演算フィールドの例
在庫レポート各製品のコストで合計在庫価格を確認します。
演算フィールド Inventory Value check を作成します。Quantity on Hand フィールドを Unit Cost フィールドで乗算します。演算フィールドで計算された値を報告された値と比較し、一致するかどうかを確認します。
以下の例は、[テーブル レイアウト]ダイアログボックスの Inventory_Value_check 演算フィールドの定義を示します。演算式 ( QtyOH * UnCst ) は Default Value フィールドに表示されます。
テーブル ビューで、物理的なソースデータ フィールド(Inventory Value at Cost)の横に演算フィールド(Inventory Value check)を配置し、値を比較できます。
一致しない値を返すフィルターを作成することもできます。
Inventory_Value_check <> Inventory_Value_at_Cost
基本演算フィールドを定義する
単一の式またはリテラル値を使用する基本演算フィールドを定義し、レコードの値に関係なく、テーブルのすべてのレコードに適用します。
演算フィールドの名前とデフォルト値を指定する
- [編集 > テーブル レイアウト]の順にクリックします。
- [フィールド/式の編集]タブで、[新しい式の追加] をクリックします。
- [名前]テキスト ボックスにフィールド名を入力します。
メモ
フィールド名は 256 文字までの小文字の英字に制限されます。名前にはアンダースコア文字(_)を使用できますが、他の特殊文字やスペースは使用できません。名前の先頭を数字にすることはできません。
Analytics には多くの予約キーワードがあり、フィールド名にこのキーワードを使用することはできません。詳細については、予約キーワードを参照してください。
- 次のいずれかを実行します。
- [デフォルト値]テキスト ボックスに式またはリテラル値を入力します。
この方法は、シンプルな式にのみ適しています。
- [f(x)] をクリックし、式ビルダーを使用して式を作成します。
詳細については、式ビルダーによる式の作成を参照してください。
メモ
数値の演算フィールドでは、すべての数値演算値の小数精度は、[デフォルト値]で指定された式またはリテラル値 の精度で統制されます。
詳細については、数値演算フィールドの小数点精度の制御を参照してください。
- [デフォルト値]テキスト ボックスに式またはリテラル値を入力します。
フィールド メタデータの指定
- (オプション) [幅]テキスト ボックスにフィールドの幅を文字で指定します。
Analytics ビューおよびレポートにフィールドを表示する場合、幅値は列サイズとして使用されます。
- (オプション) [[代替列見出し]テキスト ボックスには、表示名を指定します。
Analytics ビューおよびレポートにフィールドを表示する場合、表示名はフィールド名の代わりに列見出しとして使用されます。この値が指定されていない場合は、フィールド名が使用されます。
- 必要に応じて、以下の一覧の設定から 1 つ以上の値を選択します。
[デフォルト値]テキスト ボックスで指定した式またはリテラル値のデータ カテゴリは、有効な設定を示します。
設定 データ カテゴリ 説明 書式 数値のみ ビューやレポートにおける数値フィールドの表示書式を制御します。
書式は、ドロップダウン リストから選択する、または直接入力するか、あるいはドロップダウン リストから書式を選択後、その書式を編集することもできます。
[書式]ドロップダウン リストが空白の場合、このフィールドのデータには[オプション]ダイアログ ボックスで指定されたデフォルトの表示形式が適用されます。ここで指定した書式は、デフォルトの書式に優先します。
合計を出力しない 数値のみ このフィールドの値の合計は算出されなくなります。
Analytics では、レポート内の数値フィールドは自動的に集計されます。数値フィールドによっては、単価や口座番号など、合計する必要がない情報が格納されている場合もあります。
静的 Analytics が、IF ステートメントを評価するときに使用するデフォルトの動作が変わります。(省略可能な IF ステートメントの詳細については、フィールド定義を確定するを参照してください。)
静的が選択解除(デフォルト)IF ステートメントが False と評価される場合、フィールドのデータ カテゴリに応じて、フィールドには空の値(空白、ゼロ(0)、または False(F))が割り当てられます。
静的を選択IF ステートメントが False と判定された場合、Analytics では空の値ではなく、そのフィールドの最後の有効な値が繰り返し使用されるようになります。IF ステートメントが True と評価され、新しい値が使用されるまで、最後の有効な値が各行で繰り返されます。
日付時刻 このオプションは演算フィールドには使用できません。
コントロール合計 数値のみ フィールドをコントロール合計フィールドとして指定します。
コントロール合計は数値フィールドの値の合計です。これを使用して、データの整合性を確認することができます。新規のテーブルにデータを抽出した場合、または新規のテーブルでデータを並べ替えた場合、コントロール合計フィールドの入力値合計と出力値合計がテーブル履歴に格納されます。入力は元テーブルを指しています。出力は新規テーブルを指しています。2 つの合計が一致する場合は、抽出または並べ替え処理で失われたデータはありません。
データ提供者が提供するコントロール合計を Analytics が算出するコントロール合計と比較して、すべてのデータを受け取ったかどうかを確認することができます。
複数のフィールドに対してコントロール合計を指定すると、テーブル履歴はその中で開始位置が最も左にある数値フィールドについてのみ集計を報告します。
デフォルト フィルター 論理のみ フィールドの値 (True または False) に基づき、デフォルト ビューのレコードをフィルターします。True と判断されるレコードのみが表示されます。
フィールドを含む Analytics テーブルが開くたびに、フィルターが自動的に適用されます。
フィールド定義を確定する
- (省略可能)演算フィールドによって評価されるレコードを制限したい場合は、[If]テキスト ボックスで条件を指定します。直接入力するか、または[If]ボタンをクリックして、式ビルダーを利用して IF ステートメントを作成します。
- 演算フィールドによって評価 IF ステートメントを満たすレコード
- 演算フィールドによって評価されない IF ステートメントを満たさないレコード
たとえば、IF 文 Invoice_Amount >= 1000 では、$1000 未満の請求金額のレコードが評価されません。
除外されたレコードの場合、演算フィールド値は、空白、ゼロ(0)、または False (F) です。これは、演算フィールドのデータ型によって異なります。IF ステートメントを削除すると、いつでも除外を元に戻すことができます。
- (オプションl) 開いたテーブル ビューに新しい計算フィールドを自動的に追加しない場合は、[作成されたフィールドを現在のビューに追加] の選択を解除します。
オプションを選択したままにした場合、新しいフィールドがテーブル ビューに追加されます。フィールドはビューの最後の列として配置されるか、ビューの選択した列の左に移動します。
いつでも手作業でフィールドをビューに追加することができます。詳細については、ビューに列を追加するを参照してください。
- (省略可能)フィールドに関するノートを追加する場合は、[フィールド ノートの編集 ] をクリックしてノート テキストを入力し、[閉じる ]をクリックします。
- [入力を受け入れる]をクリックします。
Analytics は演算フィールドをテーブル レイアウトに追加します。そのフィールドをコマンドまたはレポート使用することができます。
- [閉じる ] をクリックしてテーブル レイアウト ダイアログ ボックスを終了します。
[作成されたフィールドを現在のビューに追加] を選択したままにした場合、関連する列がテーブルビューに追加されます。
条件付き演算フィールド
条件付き演算フィールドには、複数の式またはリテラル値が含まれ、条件に基づいてテーブルのレコードに適用します。各レコードに適用される特定の式またはリテラル値は、レコードの値によって異なります。
条件付き演算フィールドとリテラル値の例
請求金額のサイズに応じて、"Small"、"Medium"、または "Large" のリテラル値を各レコードに割り当てます。
演算フィールド Invoice size を作成します。このフィールドは、各レコードの請求金額のサイズを特定し、正しいリテラル値を割り当てます。
- "Small" $5,000.00 未満の金額
- "Medium" $5,000.00 ~ $9,999.99 の金額
- "Large" $10,000.00 以上の金額
以下の例は、[テーブル レイアウト]ダイアログボックスの Invoice size 演算フィールドの定義を示します。リテラル値 "Small" は Default Value フィールドに表示されます。リテラル値 "Medium" および "Large" はそれぞれ別の条件で表示されます。
各条件には、関連付けられた値が演算フィールドで使用されるために、True と評価される必要がある演算式が含まれます。レコードが条件のいずれも満たさない場合、デフォルト値が使用されます。
メモ
条件の一覧の順序は重要です。詳細については、制限が大きい方から制限が少ない方への条件の一覧を参照してください。
テーブル ビューでは、各レコードの請求サイズが表示されます。 | |
1 つのサイズのレコードのみを表示するフィルターを作成できます。 Invoice_size = "Large" |
計算値を持つ条件付き演算フィールドの例
請求サイズによって異なる値引割合に基づいて、各レコードの値引金額を計算します。
演算フィールド Discount amount を作成します。このフィールドは、各レコードの請求金額のサイズを特定し、正しい割合を使用して値引金額を計算します。
- 0% 値引き $5,000.00 未満の金額
- 10% 値引き $5,000.00 ~ $9,999.99 の金額
- 15% 値引き $10,000.00 以上の金額
以下の例は、[テーブル レイアウト]ダイアログボックスの Discount amount 演算フィールドの定義を示します。リテラル値 0.00 は Default Value フィールドに表示されます。演算値 Invoice_Amount * 0.10 および Invoice_Amount * 0.15 はそれぞれ別の条件で表示されます。
各条件には、関連付けられた演算値が使用されるために、True と評価される必要がある演算式が含まれます。レコードが条件のいずれも満たさない場合、デフォルト値が使用されます。
メモ
条件の一覧の順序は重要です。詳細については、制限が大きい方から制限が少ない方への条件の一覧を参照してください。
テーブル ビューでは、各レコードの値引金額が表示されます。 | |
特定の金額よりも大きい値引きを表示するフィルターを作成できます。 Discount_amount >= 750 |
制限が大きい方から制限が少ない方への条件の一覧
複数の条件を定義した場合、Analytics は、[テーブル レイアウト]ダイアログボックスで、それらの条件を条件リストの表示順に上から評価します。
上記の例の[請求書サイズ]では、請求金額が次の順序で条件に対してテストされます。
注文 | 条件 | 値 |
---|---|---|
1 | Invoice_Amount >= 10000 | "大" |
2 | Invoice_Amount >= 5000 | "中" |
複数の条件を満たすレコードが意図したとおりに処理されることを保証するには、最も制限が大きい方から制限が少ない方に条件を一覧にし、最も制限が大きい条件が上位になるようにします。
「制限」の意味
「制限」とは、条件を満たす資格がある値のセットの比率のことです。条件の制限が大きくなるほと、条件を満たす対象の比率が小さくなります。
次の値のセットを考えてください。
- $12,000
- $8,000
- $7,000
最も制限が少ない条件 すべての 3 つの値が条件を満たす Invoice_Amount >= 5000 値の全体セットが対象となるため、条件の制限が最も少なくなります。
最も制限が大きい条件 $12,000 のみが条件を満たす Invoice_Amount >= 10000 セットの値のいずれかのみが対象となるため、条件の制限が最も大きくなります。
Analytics が条件付き演算フィールド値を割り当てる方法
各レコードに対して、True と判定される最初の条件に関連付けられた演算フィールド値が割り当てられます。割り当てられると、レコードが後続の条件を満たす場合でも、演算フィールド値は変更されません。
請求金額 $12,000 を考えてください。
- 割り当てられた値 = 大 上記の条件の順序では、金額に大の値が割り当てられます。金額は $10,000 よりも大きいため、これは正しいです。
- 割り当てられた値 = 中 上記の条件の順序では、金額に中の値が割り当てられます。金額は $5,000 よりも大きいため、これも正しいです。ただし、値の割り当ては意図したように動作しません。Invoice_Amount >= 5000 は制限が少ない条件であり、取り込みたくない金額も取り込んでいるためです。
サブセットの点から制限を考える
別の方法はサブセットの点から制限を考えることです。最初の一覧の条件を満たす資格がある値は、値のセットの最も小さいサブセットを構成します。各追加の条件があると、資格のあるサブセットのサイズが大きくなり、すべての前のサブセットが含まれます。
Analytics が演算フィールド値をレコードに割り当てると、値は変更されません。以下の例では、"大" が請求金額 $12,000 の請求金額を含むレコードに割り当てられます。レコードが条件 2 を満たす場合でも、値は "中" に更新されません。
条件付き演算フィールドを定義する
複数の式またはリテラル値を含む演算フィールドを定義し、条件に基づいてテーブルのレコードに適用します。
演算フィールドの名前とデフォルト値を指定する
- [編集 > テーブル レイアウト]の順にクリックします。
- [フィールド/式の編集]タブで、[新しい式の追加] をクリックします。
- [名前]テキスト ボックスにフィールド名を入力します。
メモ
フィールド名は 256 文字までの小文字の英字に制限されます。名前にはアンダースコア文字(_)を使用できますが、他の特殊文字やスペースは使用できません。名前の先頭を数字にすることはできません。
Analytics には多くの予約キーワードがあり、フィールド名にこのキーワードを使用することはできません。詳細については、予約キーワードを参照してください。
- 次のいずれかを実行します。
- [デフォルト値]テキスト ボックスに式またはリテラル値を入力します。
この方法は、シンプルな式にのみ適しています。
- [f(x)] をクリックし、式ビルダーを使用して式を作成します。
詳細については、式ビルダーによる式の作成を参照してください。
メモ
数値の演算フィールドでは、すべての数値演算値の小数精度は、[デフォルト値]で指定された式またはリテラル値 の精度で統制されます。
詳細については、数値演算フィールドの小数点精度の制御を参照してください。
リテラル テキスト値は、引用符 (" ") で囲む必要があります。リテラル日付値は、バッククオート(``)で囲む必要があります。
- [デフォルト値]テキスト ボックスに式またはリテラル値を入力します。
フィールド メタデータの指定
- (オプション) [幅]テキスト ボックスにフィールドの幅を文字で指定します。
Analytics ビューおよびレポートにフィールドを表示する場合、幅値は列サイズとして使用されます。
- (オプション) [[代替列見出し]テキスト ボックスには、表示名を指定します。
Analytics ビューおよびレポートにフィールドを表示する場合、表示名はフィールド名の代わりに列見出しとして使用されます。この値が指定されていない場合は、フィールド名が使用されます。
- 必要に応じて、以下の一覧の設定から 1 つ以上の値を選択します。
[デフォルト値]テキスト ボックスで指定した式またはリテラル値のデータ カテゴリは、有効な設定を示します。
設定 データ カテゴリ 説明 書式 数値のみ ビューやレポートにおける数値フィールドの表示書式を制御します。
書式は、ドロップダウン リストから選択する、または直接入力するか、あるいはドロップダウン リストから書式を選択後、その書式を編集することもできます。
[書式]ドロップダウン リストが空白の場合、このフィールドのデータには[オプション]ダイアログ ボックスで指定されたデフォルトの表示形式が適用されます。ここで指定した書式は、デフォルトの書式に優先します。
合計を出力しない 数値のみ このフィールドの値の合計は算出されなくなります。
Analytics では、レポート内の数値フィールドは自動的に集計されます。数値フィールドによっては、単価や口座番号など、合計する必要がない情報が格納されている場合もあります。
静的 Analytics が、IF ステートメントを評価するときに使用するデフォルトの動作が変わります。(省略可能な IF ステートメントの詳細については、フィールド定義を確定するを参照してください。)
静的が選択解除(デフォルト)IF ステートメントが False と評価される場合、フィールドのデータ カテゴリに応じて、フィールドには空の値(空白、ゼロ(0)、または False(F))が割り当てられます。
静的を選択IF ステートメントが False と判定された場合、Analytics では空の値ではなく、そのフィールドの最後の有効な値が繰り返し使用されるようになります。IF ステートメントが True と評価され、新しい値が使用されるまで、最後の有効な値が各行で繰り返されます。
日付時刻 このオプションは演算フィールドには使用できません。
コントロール合計 数値のみ フィールドをコントロール合計フィールドとして指定します。
コントロール合計は数値フィールドの値の合計です。これを使用して、データの整合性を確認することができます。新規のテーブルにデータを抽出した場合、または新規のテーブルでデータを並べ替えた場合、コントロール合計フィールドの入力値合計と出力値合計がテーブル履歴に格納されます。入力は元テーブルを指しています。出力は新規テーブルを指しています。2 つの合計が一致する場合は、抽出または並べ替え処理で失われたデータはありません。
データ提供者が提供するコントロール合計を Analytics が算出するコントロール合計と比較して、すべてのデータを受け取ったかどうかを確認することができます。
複数のフィールドに対してコントロール合計を指定すると、テーブル履歴はその中で開始位置が最も左にある数値フィールドについてのみ集計を報告します。
デフォルト フィルター 論理のみ フィールドの値 (True または False) に基づき、デフォルト ビューのレコードをフィルターします。True と判断されるレコードのみが表示されます。
フィールドを含む Analytics テーブルが開くたびに、フィルターが自動的に適用されます。
演算フィールドの条件値の指定
条件値は条件と値の組み合わせとして設定されます。レコードが条件を満たす場合、演算フィールドは、指定された値を使用します。
メモ
指定する値と、デフォルト値は、すべて同じデータ型である必要があります。
- [条件の挿入] をクリックします。
- [条件と値の追加]ダイアログボックスで、次を実行し、[OK]をクリックします。
- [条件]テキスト ボックスに式を入力するか、[条件]をクリックして式ビルダーで式を作成します。
- [値]テキスト ボックスに値を入力するか、[値]をクリックして式ビルダーで式を作成します。
上記の 2 つの例の条件値は次のとおりです。
- 別の条件を作成する場合は、次のいずれかを実行します。
- [条件の挿入]をクリックし、上記の手順を繰り返します。
- 既存の条件と類似する条件を作成する場合は、その既存の式を選択して[条件のコピー] をクリックし、[条件と値の編集] をクリックして、新しい条件に対する設定を編集します。
- (省略可能)条件を選択し、[条件を上に移動] または[条件を下に移動] をクリックして、評価される順序を変更します。
メモ
条件の一覧の順序は重要です。詳細については、制限が大きい方から制限が少ない方への条件の一覧を参照してください。
フィールド定義を確定する
- (省略可能)演算フィールドによって評価されるレコードを制限したい場合は、[If]テキスト ボックスで条件を指定します。直接入力するか、または[If]ボタンをクリックして、式ビルダーを利用して IF ステートメントを作成します。
- 演算フィールドによって評価 IF ステートメントを満たすレコード
- 演算フィールドによって評価されない IF ステートメントを満たさないレコード
たとえば、IF 文 Invoice_Amount >= 1000 では、$1000 未満の請求金額のレコードが評価されません。
除外されたレコードの場合、演算フィールド値は、空白、ゼロ(0)、または False (F) です。これは、演算フィールドのデータ型によって異なります。IF ステートメントを削除すると、いつでも除外を元に戻すことができます。
- (オプションl) 開いたテーブル ビューに新しい計算フィールドを自動的に追加しない場合は、[作成されたフィールドを現在のビューに追加] の選択を解除します。
オプションを選択したままにした場合、新しいフィールドがテーブル ビューに追加されます。フィールドはビューの最後の列として配置されるか、ビューの選択した列の左に移動します。
いつでも手作業でフィールドをビューに追加することができます。詳細については、ビューに列を追加するを参照してください。
- (省略可能)フィールドに関するノートを追加する場合は、[フィールド ノートの編集 ] をクリックしてノート テキストを入力し、[閉じる ]をクリックします。
- [入力を受け入れる]をクリックします。
Analytics は演算フィールドをテーブル レイアウトに追加します。そのフィールドをコマンドまたはレポート使用することができます。
- [閉じる ] をクリックしてテーブル レイアウト ダイアログ ボックスを終了します。
[作成されたフィールドを現在のビューに追加] を選択したままにした場合、関連する列がテーブルビューに追加されます。