論理式機能をレポートでどのように使用しますか。
環境:
分析、レポートフィルターの論理式
Oracle B2C Service
解決策:
論理式機能を使用すると、レポートを定義するときに非常に高い柔軟性が得られます。デフォルトでは、レポートに複数のフィルタが含まれていれば、すべてのフィルタがAND (&)ブール結合子で結合されます。ただし、フィルタ間またはフィルタ・グループ間でも同様にOR ( | )結合を使用するように論理式をカスタマイズできます。
注意:論理式は、ルールセットの構成時にも使用されます。ルールでの論理式の使用について詳しくは、Answer ID 84: OR Criteria with Business Rulesを参照してください。
レポートに多数のフィルタを追加すると、論理式によってフィルタがAND結合子で自動的に結合されます。
したがって、レポートで使用される論理式をカスタマイズするには、最初のステップとしてORノードを追加します。次に、OR結合で結合されるフィルタをORノードにドラッグ・アンド・ドロップします。
さらに複雑な式が必要な場合は、ORノード内にANDサブノードも追加できます。
式にノードを追加しているときは、ノード内の要素がORまたはANDで結合される挿入コンポーネントが追加されています。つまり、ORノードを追加することは、論理式に( __ | __ )または( __ OR __ )を追加することに類似しています。そのため、ノードの下には2つ以上のコンポーネントがリストされている必要があります。フィルタをノードにドラッグ・アンド・ドロップすることも、サブノードを追加してからフィルタをサブノードにドラッグすることもできます。
「Edit Text Definition」リンクを使用すると、フィルタがグループ化されている方法およびフィルタ間の演算子を再確認できます。これにより、式の構成を確認できます。
「論理式の編集」ウィンドウから、レポートのフィルタを追加、編集、または削除できます。さらに、ノードをクリックし、そのノードを削除できます。
注意:ノードを削除すると、フィルタおよびサブノードもすべて削除されます。したがって、フィルタを削除せずにノードを削除するには、最初にフィルタを高いレベル(最上位のANDノードなど)にドラッグしてから、ノードを削除する必要があります。
レポートで使用される論理式を変更するには、次の手順を使用します。
- 編集するレポートを開きます。
- 「ホーム」タブの「データ・セット」セクションから、「フィルタ」をクリックします。
「論理式」ウィンドウで、ANDノードの下にフィルタがリストされ、すべてがAND結合を使用して結合されていることを示しています。 - ORノードを追加するには、「ORノードの追加」をクリックします。
- フィルタをORノードにドラッグ・アンド・ドロップします。
- 「テキスト定義の参照」をクリックして、論理式を再確認します。
- 完了したら、「OK」をクリックして「論理式の編集」ウィンドウを閉じ、レポートを保存します。
注意:フィルタをすべてOR結合子で結合する場合は、ORノードを追加してから、すべてのフィルタをORノードにドラッグ・アンド・ドロップします。
括弧の使用
論理式の文字列内では、括弧の使用が非常に重要です。括弧が含まれていない場合は、「論理式」ボックスにリストされた順序で基準が評価されます。たとえば、式Aと式Bの間には、次のように明確な差異があります。
式A:1 & (2 | 3)
式B:1 & 2 | 3
弧がない場合は、基準が一覧表示された順序で厳密に比較が行われます。その結果、式1 & 2 | 3は(1 & 2) | 3に相当します。
- 式Aでは、基準1を満たし、かつ基準2または3を満たす場合に項目が一致します。どのような場合でも、レコードが一致するには基準1を満たす必要があります。
- 式Bでは、基準1および基準2を満たすか、または基準3を満たす場合に項目が一致します。基準3を満たせば、基準1または基準2を満たすかどうかは問題になりません。基準1および基準2を満たせば、基準3を満たすかどうかは問題になりません。