21.1 ADD_FILTERプロシージャのシグネチャ1

このプロシージャは、レポートIDを使用して、対話グリッドにフィルタを作成します。

ノート:

ページ・レンダリング・プロセスでこのプロシージャを使用すると、レポートのダウンロード問題(CSV、HTML、電子メールなど)が発生します。ユーザーがレポートをダウンロードすると、対話グリッドでは、REQUEST値のダウンロード形式でページがリロードされます。対話グリッドの設定の変更(フィルタの追加やレポートのリセットなど)は、Ajaxリクエストで実行されます。したがって、ダウンロード・データがユーザーが参照しているレポート・データと一致しないことがあります。このため、ページ発行プロセスでのみこのプロシージャを使用することをお薦めします。

構文

APEX_IG.ADD_FILTER(
    p_page_id           IN NUMBER,
    p_region_id         IN NUMBER,
    p_filter_value      IN VARCHAR2,
    p_column_name       IN VARCHAR2 DEFAULT NULL,
    p_operator_abbr     IN VARCHAR2 DEFAULT NULL, 
    p_is_case_sensitive IN BOOLEAN  DEFAULT FALSE,
    p_report_id         IN NUMBER   DEFAULT NULL );

パラメータ

表21-1 ADD_FILTERプロシージャのシグネチャ1のパラメータ

パラメータ 説明

p_page_id

対話グリッドを含む、Application Expressのカレント・アプリケーションのページ。

p_region_id

対話グリッド・リージョン(ID)。

p_filter_value

フィルタ値。この値は、演算子NおよびNNには使用されません。

p_column_name

フィルタ処理されるレポートSQL列名または列の別名。

p_operator_abbr

フィルタ・タイプ。有効な値は次のとおりです。

EQ = 等しい

NEQ = 等しくない

LT = 次より小さい

LTE: より小さいか、等しい

GT = より大きい

GTE = 以上

N = Null

NN = NULLではない

C = 含む

NC = 含まない

IN = SQL In演算子

NIN = SQL Not In演算子

p_is_case_sensitive

行検索フィルタの大/小文字の区別。この値は、p_report_columnが設定されている列フィルタには使用されません。有効な値は次のとおりです。

  • true

  • false (これがデフォルト値です。)

p_report_id

カレント・アプリケーション・ページで保存したレポートID。p_report_idがNULLの場合、最後に表示されたレポート設定にフィルタが追加されます。

例1

次の例に、ADD_FILTERプロシージャを使用して、カレント・アプリケーションのページ1、リージョン3335704029884222でレポートIDが901029800374639010の対話グリッドをDEPTNO30でフィルタ処理する方法を示します。

BEGIN
    APEX_IG.ADD_FILTER(
        p_page_id           => 1,
        p_region_id         => 3335704029884222,
        p_filter_value      => '30',
        p_column_name       => 'DEPTNO',
        p_operator_abbr     => 'EQ', 
        p_report_id         => 901029800374639010);
END;

例2

次の例に、ADD_FILTERプロシージャを使用して、カレント・アプリケーションのページ1、リージョン3335704029884222でレポートIDが901029800374639010の対話グリッドを大/小文字を区別した単語'Salary'を含む行でフィルタ処理する方法を示します。

BEGIN
    APEX_IG.ADD_FILTER(
        p_page_id           => 1,
        p_region_id         => 3335704029884222,
        p_filter_value      => 'Salary', 
        p_is_case_sensitive => true, 
        p_report_id         => 901029800374639010);
END;