仮想項目定義は、定義される新たな仮想項目名と、その仮想項目の値を求めるためのIF式、項目参照、数値演算式、関数呼出し、またはリテラルからなります。
仮想項目機能の定義を以下の図に示します。
図3.62 仮想項目定義
仮想項目名は、項目名・タグ名・略称・ラベルで指定可能な文字からなる1文字以上の文字列です。仮想項目名の型は、右辺に指定されたIF式、項目参照、数値演算式、関数呼出し、またはリテラルと同じ型になります。
指定可能な文字列については、“導入・運用ガイド”の“項目名・タグ名・ラベルなどで指定可能な文字”を参照してください。
注意
すでに定義されている仮想項目名と同じ名前の仮想項目名は指定できません。また、“_”(アンダースコア)から始まる仮想項目名は指定できません。機能により以下の注意が必要です。
連結機能の場合
連結機能に定義する仮想項目名は、他の仮想項目名、およびK略称と重複しない名前を指定してください。
K略称と同じ名前の仮想項目名は指定できません。
集計機能の場合
集計機能で定義する仮想項目名は、互いに重複しない名前を指定してください。
入力ファイルタイプがCSVの場合、入力データに仮想項目名と同じ名前の項目名が存在したとき、エラーになります。
ソート機能の場合
ソート機能で定義する仮想項目名は、互いに重複しない名前を指定してください。
入力ファイルタイプがCSVの場合、入力データに仮想項目名と同じ名前の項目名が存在したとき、エラーになります。
仮想項目定義は、宣言型定義です。そのため、実行順序の指定はできません。
Data Effectorでは処理を最適化しています。式や仮想項目に指定したcall関数は、指定した順序や条件通りに呼び出されるとは限りません。必要に応じて呼出しの有無の判断や呼出し順序の変更を行います。
仮想項目定義にcall関数を指定する場合、call関数の呼出順序は指定した順序や条件通りに呼び出されるとは限りません。そのためユーザー定義関数では、ファイルやデータベースの内容などを参照するなどの副作用のある処理を行わないでください。
参照
詳細については、以下を参照してください。
IF式については、“3.8.2 IF式”
項目参照については、“3.1.9 項目参照”
数値演算式については、“3.5.1 集計式の書式”
関数呼出しについては、“3.8.6 関数呼出し”
リテラルについては“3.1.6 リテラル”
call関数については、“4.6.1 call関数”