式パーサー

製品では、算術的または論理/ブール的な特質のある式の定義がサポートされています。式には変数および関数を含めることができます。

データ・エクスプローラの列パラメータはこれを使用できる場所の例です。そのパラメータでは、式の定義をサポートしています。エッジ・アプリケーションには、このパーサーを使用した式のサポートも含めることができます。たとえば、いくつかのアプリケーションには、式の適用をサポートできる検証や計算に使用されるルール・タイプのオブジェクト(計算ルール、フォーム・ルールまたは使用ルール)が含まれています。

次の各表に、このパーサーを使用する式でサポートされる内容を示します。

カテゴリ 式でのサポート 摘要
データ型 数値
文字列
ブール
リスト
リテラル 数値
一重引用符または二重引用符で囲まれた文字列。
注意: エスケープ特殊文字は現在サポートされていません。
ブール値: trueおよびfalse
演算 + 加算
減算
/ 除算
* 乗算
^または** 累乗
% 剰余
論理演算 = 等しい
> より大きい
>= 以上
< より小さい
<= 以下
!=または<> 等しくない

この表には、サポートされている関数を示します。いくつかの関数は値リストに適用可能です。関数は小文字で記載されていますが、データ・エクスプローラの列パラメータ構文では、すべて大文字として関数を参照するように指示されます。システムでは、データ・エクスプローラの列式を評価前に小文字に変換します。

機能 パラメータ 結果 コメント
size( ) リスト要素 リストの要素数。
isEmpty( ) リスト要素 リストが空の場合にtrueを返します。
sum( ) タイプが数値のリスト要素 リストの数値の合計を返します。
avg( ) タイプが数値のリスト要素 リストの数値の平均を返します。
カンマで区切られた1つ以上の数値 数値引数の平均を返します。
max( ) リスト要素 リストの最大値を返します。
1つ以上の比較可能要素。 数値引数の最大値を返します。
min( ) リスト要素 リストの最小値を返します。
1つ以上の比較可能要素。 数値引数の最小値を返します。
abs( ) 数値 絶対値を返します。
ceiling( ) 数値 数値を上限に切り上げます。
exp10( ) 数値 10をx乗します。
acos( ) 数値 数値のアーク・コサインをラジアン単位で返します。 システムの倍精度浮動小数点ベースの関数を使用するため、結果の精度が失われます。
asin( ) 数値 数値のアーク・サインをラジアン単位で返します。 システムの倍精度浮動小数点ベースの関数を使用するため、結果の精度が失われます。
atan( ) 数値 数値のアーク・タンジェントをラジアン単位で返します。 システムの倍精度浮動小数点ベースの関数を使用するため、結果の精度が失われます。
cos( ) ラジアン 入力した角度のコサインをラジアン単位で返します。 システムの倍精度浮動小数点ベースの関数を使用するため、結果の精度が失われます。
exp( ) 数値 eをx乗します。 システムの倍精度浮動小数点ベースの関数を使用するため、結果の精度が失われます。
log10( ) 数値 数値の対数(基数10)を取得します。 システムの倍精度浮動小数点ベースの関数を使用するため、結果の精度が失われます。
log( ) 数値 数値の自然対数(基数e)を取得します。 システムの倍精度浮動小数点ベースの関数を使用するため、結果の精度が失われます。
sin( ) ラジアン 入力した角度のサインをラジアン単位で返します。 システムの倍精度浮動小数点ベースの関数を使用するため、結果の精度が失われます。
sqrt( ) 数値 数値の平方根を返します。 システムの倍精度浮動小数点ベースの関数を使用するため、結果の精度が失われます。
tan( ) ラジアン 入力した角度のタンジェントをラジアン単位で返します。 システムの倍精度浮動小数点ベースの関数を使用するため、結果の精度が失われます。
floor( ) 数値 数値を下限に切り捨てます。
round( ) 数値 スケールを0とみなします。デフォルトの丸めモード“round half up”(四捨五入)が適用されます。
数値、スケール デフォルトの丸めモード“round half up”(四捨五入)が適用されます。
数値、スケール、モード 次のいずれかのモードに設定する必要があります。
  • "ROUND_​CEILING"

  • "ROUND_​DOWN"

  • "ROUND_​FLOOR"

  • "ROUND_​HALF_​DOWN"

  • "ROUND_​HALF_​UP"

  • "ROUND_​HALF_​EVEN"

  • "ROUND_​UP"

  • "ROUND_​UNNECESSARY"

negate( ) 数値 数値のマイナスの値を返します。 データ・エクスプローラでのみ使用できます。

次は、アプリケーションの値リストでサポートされる特別な関数です。それぞれのケースで、構文はfunction [ indexVariable in listName | expression using indexVariable ]です。indexVariableは、リストの各エントリを表すために式ライターによって選択され、各エントリの評価に使用する式はその変数を参照する必要があります。

注意: ある機能領域での特定の式の使用でサポートされる構文は、その特定の機能領域によって制御されます。たとえば、Oracle Public Sector Revenue Managementでは、「条件付き要素検証」フォーム・ルールで式がサポートされます。このフォーム・ルールでは、リストを含むすべての変数が文字および式を使用してフォーム・ルールで宣言され、これらの文字が使用されます。このシナリオでは、次の関数が、宣言された変数の文字を“listName”として参照します。この式パーサーを使用する他の特定の機能領域では、要素またはリストの参照に異なる構文がサポートされる場合があります。
機能 摘要
any [ ] この関数は、リストのいずれかのエントリが式を満たす場合にtrueの値を返します。 次は、残高リストのエントリが0より大きい場合にtrueを返します。
any [ i in list/Balance | i > 0 ]
all [ ] この関数は、リストのすべてのエントリが式を満たす場合にtrueの値を返します。 次は、すべての電話番号が入力されている場合にtrueを返します。
all [ i in list/phoneNumber | i != ' ' ]
collect [ ] この関数は、参照リストから要素の新しいリストを返します。新しいリストの各エントリの値は、元の各値に適用された式の結果です。 次は、各金額に適用される税率の新しいリストを返します。
collect [ i in list/amount | i * taxRate ]
select [ ] この関数は、ブール式を満たす元のリストのすべての値のリストを返します。 次は、マイナスの数値の金額のみの新しいリストを返します。
select [ i in list/amount | i < 0 ]
reject [ ] この関数は、ブール式を満たさない元のリストのすべての値のリストを返します。 次は、マイナスの数値でない金額のみの新しいリストを返します。
reject [ i in list/amount | i < 0 ]