Oracle® Fusion Middleware Oracle Business Intelligence Discoverer管理者ガイド 11gリリース1 (11.1.1) E51906-01 |
|
前 |
次 |
この章では、Discoverer Administratorを使用した条件の適用方法について説明します。この章の内容は次のとおりです。
条件によりワークシート・データがフィルタ処理されるため、Discovererエンド・ユーザーは必要なデータのみを分析できます。たとえば、Discovererエンド・ユーザーに2006年や2005年のデータは除いて2007年のデータのみへのアクセスを提供する場合などです。
また、機密性のあるデータへのアクセスを制限するためにも条件を使用します。必須条件を適用することで、機密性のないデータのみがDiscovererユーザーに使用可能になります(詳細は、「異なるタイプの条件」を参照)。Discovererエンド・ユーザーに、必要なデータのみを表示させることができます。
Discovererマネージャは、一般的に使用される条件を予測し、Discovererエンド・ユーザーがその条件をワークシートに適用して効率的に作業できるように条件を使用可能にします。
注意: Discoverer Plusユーザーは、独自の条件を作成することもできます。
条件には、次のカテゴリがあります。
単一条件: 単一の条件文を含みます。次に例を示します。'display data where year = 2001'
拡張された条件: 2つ以上の条件文を含みます。次に例を示します。
display data where year = 2001 AND quarter = 1 AND region = south
ネストされた条件: これらの条件は、他の条件文の中に定義された条件文を含んでいます。次に例を示します。
display data where year = 2001 AND (region = north OR region = south)
この例では、OR句はAND句の中にネストされています。
拡張され、ネストされた条件: 2つ以上の条件文を含み、拡張された条件の中に定義された条件文も含んでいます。次に例を示します。
display data where year = 2001 AND quarter = 1 AND region = south AND (region = north OR region = south)
この例では、ネストされた条件の例のように、OR句はAND句の中にネストされています。
拡張された条件を作成するかわりに、2つ以上の単一条件を作成し、同時に適用する場合があります。これにより、Discovererのユーザーは条件のどの部分を使用するかを選択できます。
注意: 拡張された条件の適用と、同等の単一条件の複数適用には、微妙な違いがあります(詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Discoverer Plusユーザーズ・ガイド』を参照)。
条件には2つのタイプがあります。
必須条件
オプション条件
必須条件とオプション条件は同じ方法で作成します。ただし、次のことに注意してください。
必須条件は、条件を含むフォルダからのアイテムを1つ以上含むワークシートに常に適用されます。Discoverer Plusユーザーは、必須条件について通知されません。また、必須条件はオフにできません。
たとえば、必須条件を地域販売担当者の売上データに割り当てて、売上の表示内容をそれぞれの担当する地域に制限する場合などです。
Discoverer Plusユーザーは、必要に応じてオプション条件をオンまたはオフにできます。Discoverer Plusユーザーは条件の式を表示できますが、編集はできません。
たとえば、全販売地域を担当する副社長は、すべての売上データを確認でき、条件を適用して特定の販売地域に関連する販売データも確認できる必要があります。
次の表は、必須条件とオプション条件の違いについて詳細を示しています。
必須条件 | オプション条件 |
---|---|
常にフォルダの結果に適用されます。 | Discoverer Plusで選択された場合のみフォルダの結果に適用されます。 |
Discovererマネージャにより使用され、フォルダによって返される行を永続的に制限します。 | 条件の作成を容易にするショートカットとして、Discovererマネージャによりユーザーに提供されます。 |
Discoverer Plusでは表示されません。 | Discoverer Plusで表示されます(編集はできません)。 |
複合フォルダに作成された場合、ソース・フォルダのアイテムを参照できます。 | 複合フォルダに作成された場合、複合フォルダのアイテムのみを参照できます。 |
EULのフォルダ定義の(データベースにある)結果セットに影響を与えます。 | EULのフォルダ定義の(データベースにある)結果セットに影響を与えません(Discoverer Plusで適用された場合のみ、オプション条件が使用されるため)。 |
追加、変更または削除された場合、フォルダに基づくすべてのサマリーは無効になります。これは、フォルダの条件に結果セットが一致しなくなるからです。
これらのサマリーは、「リフレッシュ必須」に設定され、もう一度使用できるようにリフレッシュされる必要があります。 |
追加、変更または削除された場合、フォルダに基づくサマリーに影響を与えません。 |
注意: 必須条件を含むフォルダにあるアイテムから複合フォルダを作成する場合、複合フォルダの結果は元のフォルダの必須条件によって制限されます。複合フォルダの「プロパティ」ダイアログの「コンポーネント」タブを使用して、複合フォルダに影響を与えるすべての必須条件を表示できます。
Discovererエンド・ユーザーが新しい方法でワークシートのフィルタ処理をできるようにするには、単一条件を作成します。Discovererエンド・ユーザーが、フォルダに基づくワークブックを使用するときに新しい条件を適用できるように、フォルダに条件を追加します。
たとえば、Discovererエンド・ユーザーが今年のデータのみが必要なため、データをフィルタ処理してその年の結果を表示するオプション条件を作成する場合があります。または、データの特定のエリアに必須条件を設定して、機密性のあるデータへのアクセスを制限する場合があります(詳細は、「異なるタイプの条件」を参照)。
単一条件を作成する手順は、次のとおりです。
「ワークエリア」の「データ」タブで、次のいずれかを実行します。
条件を作成するフォルダを選択します。
条件の一部を形成するアイテムを選択します。
「挿入」→「条件」を選択して、「新規条件」ダイアログを表示します。
注意: 最初にフォルダまたはアイテムを選択しないで「挿入」→「条件」を選択した場合、ダイアログが表示される前にフォルダまたはアイテムを選択するように要求されます。
(オプション)条件名が自動的に生成されるようにするには、「名前の自動生成」チェック・ボックスを選択します。
注意: デフォルトで、Discoverer Administratorは、条件自体に基づいてデフォルトの条件名を作成します。ただし、条件にユーザー独自の名前を指定できます。
(オプション)条件にユーザー独自の名前を指定する手順は、次のとおりです。
「名前の自動生成」チェック・ボックスの選択を解除します。
条件の名前を「名前」フィールドに入力します。
(オプション)条件の簡単な説明を「説明」フィールドに入力します。
ここに入力したテキストは、Discoverer Administratorで条件が編集される場合またはエンド・ユーザーが条件を強調表示する場合に表示されます。
「タイプ」ドロップダウン・リストで条件のタイプを指定します。
Discovererエンド・ユーザーが条件をオンまたはオフできるようにするには、「オプション」を選択します。
条件を常時適用する場合は、「必須」を選択します。
「計算式」エリアで次のように条件文を定義します。
「アイテム」ドロップダウン・リストで、データのフィルタ処理に使用するアイテムまたは計算を選択します。たとえば、特定の年のデータを表示するには、「Year」を選択します。データのフィルタ処理に使用する計算を作成するには、「計算の作成」をクリックします(詳細は、第11章「計算定義アイテムの作成とメンテナンス」を参照)。
「条件」ドロップダウン・リストを使用して、アイテムに対してデータを一致させる方法を選択します。たとえば、より大きい(>)記号を選択して、アイテムの値が特定の数字よりも大きいデータをフィルタ処理します。
「値」フィールドを使用して、どのデータまたはアイテムを一致させるか定義します。たとえば、2002年度のデータのみを表示するには、「2002」と入力します。アイテムの値リストを作成した場合は、それらのアイテムがドロップダウン・リストに表示されます(値リストの詳細は、第9章「アイテムとアイテム・クラスのメンテナンス」を参照)。データのフィルタ処理に使用する計算を作成するには、「計算の作成」をクリックします。一致させるアイテムを選択するには、「アイテムの選択」をクリックして、リストからアイテムを選択します。
「大文字小文字の区別」チェック・ボックスを使用して、次のようにテキスト・データの大文字と小文字を一致させるかどうかを指定します。
「大文字小文字の区別」チェック・ボックスを選択し、条件で大文字と小文字が区別されるようにします。
「大文字小文字の区別」チェック・ボックスの選択を解除し、条件で大文字と小文字が区別されないようにします。
たとえば、「大文字小文字の区別」チェック・ボックスが選択されている場合、一致させる値が「New York」の場合は「new york」のデータを返しません。
「OK」をクリックして詳細を保存し、「新規条件」ダイアログを閉じます。
新規条件は、「ワークエリア」の「データ」タブに表示されます。Discovererのユーザーがこのビジネスエリアにアクセスする場合、この条件アイテムはフォルダに表示されます。フォルダに条件が表示されていても、フォルダがフィルタ処理されているわけではないので注意してください。エンド・ユーザーは、ワークブックの条件を選択して使用する必要があります。
注意: 分析関数(行のグループに基づく集計値を計算する関数)に基づいて条件を作成する場合は、オプションとして条件の「タイプ」を指定する必要があります(詳細は、「異なるタイプの条件」を参照)。「必須」を選択すると、分析関数は必須条件で使用できないことを通知するメッセージが表示されます。
拡張された条件とは、2つ以上の条件文を含む条件のことをいいます。たとえば、都市New Yorkの1999年または2000年のデータに絞り込む場合は、「City = New York AND (Year = 1999 or 2000)」のような条件を作成します。さらに、既存の条件を既存の拡張された条件にネストすることがあります。たとえば、「Department = Video AND Rental Profit > $100」などのようにします。Discovererでは、必要なだけ条件文を追加して、強力な条件アイテムを容易に作成できます。
拡張された条件を作成する手順は、次のとおりです。
「単一条件の作成方法」の手順に従って、最初の条件文を作成します。
「詳細」をクリックして、条件文を追加します。
「追加」、「削除」、「AND」、「OR」および「NOT」ボタンが追加されます。これらのボタンを使用して、拡張された条件を作成します。
次のように、拡張された条件を作成します。
「追加」をクリックして、新規条件文を追加します。
次のように、新規条件文のアイテムを指定します。
「アイテム」列のドロップダウン・リストを選択し、表示されたアイテムのリストからアイテムを選択します。
「アイテム」列のドロップダウン・リストを選択し、「計算の作成」オプションを選択して、計算を拡張された条件に含めます。
「アイテム」列のドロップダウン・リストを選択し、「条件のコピー」オプションを選択して、既存の条件のコピーを拡張された条件に含めます。これは元の条件のコピーであるため編集が可能です。
「アイテム」列のドロップダウン・リストを選択し、「条件の選択」オプションを選択して、既存の条件を拡張された条件に含めます。既存の条件は、ここでは編集できません。
新規条件文の条件と値を指定します。
条件文の組合せを指定します。
注意: 各条件文の隣のハンドルを使用して条件文を強調表示し、次のアクションを実行できます。
グループを選択し、「AND」をクリックして、すべての条件文が一致することを条件に指定します。
グループを選択し、「OR」をクリックして、条件文の1つが一致することを条件に指定します。
グループを選択し、「NOT」をクリックして、条件文が条件に一致しないことを条件に指定します。
「削除」をクリックして、条件文の行を条件から削除します。
(条件文の隣の)ハンドルをドラッグ・アンド・ドロップし、ネストされた階層に条件文を移動します。
グループをダブルクリックして、「AND」を「OR」に変えるなどの変更を加えます。
注意: 条件文の移動は、拡張された条件内での条件文の適用順序に影響を与えます(ネストされた条件文は最初に適用されます)。
完了後に「OK」をクリックし、拡張された条件を保存してダイアログを閉じます。
新規条件は、「ワークエリア」の「データ」タブに表示されます。Discovererのユーザーがこのビジネスエリアにアクセスする場合、この条件アイテムはビジネスエリア・フォルダに表示されます。
条件を編集して、その動作を変更します。たとえば、次の操作を行うことができます。
条件の名前の変更
条件によって返されるデータの変更
さらに拡張された条件の作成
条件を編集する手順は、次のとおりです。
「ワークエリア」の「データ」タブで、編集する条件を選択します。
「編集」→「編集」を選択して、「新規条件」ダイアログを表示します。
必要に応じて条件の詳細を編集します。
「OK」をクリックして詳細を保存し、ダイアログを閉じます。
更新された条件は、「ワークエリア」の「データ」タブに表示されます。
注意: 「条件プロパティ」ダイアログを使用して、条件を変更することもできます。
条件プロパティを編集して、条件の動作や識別子を変更します(詳細は、「識別子」を参照)。識別子は、Discovererの一意な識別ラベルです。また、条件自体を編集して、条件が動作する方法を変更することもできます(詳細は、「条件の編集方法」を参照)。
条件プロパティを編集する手順は、次のとおりです。
「ワークエリア」の「データ」タブで、編集する条件を選択します。
「編集」→「プロパティ」を選択すると、「条件プロパティ」ダイアログが表示されます。
条件プロパティを編集します。
「OK」をクリックして詳細を保存し、ダイアログを閉じます。
「ワークエリア」の「データ」タブは更新され、条件に加えた変更が反映されます。
ビジネスエリアから条件を永続的に削除するときは、条件を削除します。たとえば、以前は2000年のデータがフィルタ処理されていて、今回は使用可能なすべての年のデータにアクセスできるようにする場合があります。
条件を削除する手順は、次のとおりです。
「ワークエリア」の「データ」タブで、削除する条件を選択します。
「編集」→「削除」を選択すると、「削除の確認」ダイアログが表示されます。
確認画面で「はい」をクリックして、条件を永続的に削除します。
条件はビジネスエリアから削除されます。
注意: 削除された条件を使用しているワークブックをDiscovererユーザーが次に開いたり、リフレッシュしたりすると、以前にフィルタ処理で除外されていたデータが利用可能になります。
次の例は、Discoverer Administratorで条件がどのように使用されるかを示しています。
条件のその他の例は、『Oracle Fusion Middleware Oracle Business Intelligence Discoverer Plusユーザーズ・ガイド』を参照してください。
2002年のデータのみを返す条件を作成するには、「新規条件」ダイアログの「計算式」エリアに次のように入力します。
アイテム | 条件 | 値 |
---|---|---|
Year | = |
2002 |
過去7日間の売上のみを返す条件(計算定義アイテム「Transaction Age (in Days)」を使用)を作成するには、「新規条件」ダイアログの「計算式」エリアに次のように入力します。
アイテム | 条件 | 値 |
---|---|---|
Transaction Age (in days) | < |
7 |
計算定義アイテム「Transaction Age」は、次の式を含んでいることに注意してください。
FLOOR (SYSDATE - Transaction Date)
このタイプの条件は、条件が返す行のウィンドウが日によって変わるため、ローリング・ウィンドウ条件ともいいます。
2つのテーブルの間で外部結合を定義する場合は、条件(フィルタ)とDisableAutoOuterJoinsOnFiltersのDiscovererレジストリ設定の組合せが、エンド・ユーザーのクエリーで返されるデータの行にどのように影響するかを理解している必要があります。
2つのテーブル間で外部結合を定義し、次のものを表示します。
ディテール・テーブルに対応する行がないマスター・テーブルの行
マスター・テーブルに対応する行があるディテール・テーブルの行
たとえば、次を表示する場合があります。
部門名と所属する従業員、ただし従業員がいない部門名も含む
従業員名と所属する部門、ただし部門に属さない従業員の名前も含む
SQLでは、外部結合はプラス記号(+)で示します。
Discovererは、次の場合にSQLに外部結合を含みます。
Discoverer Administratorで明示的に定義された場合。
詳細は、「「結合の編集」ダイアログの 「オプション」タブ」を参照してください。
一部の状況で自動的にSQLに外部結合を含みます。
たとえば、Discovererは条件を含むエンド・ユーザーのクエリーに対して、SQLに外部結合を自動的に作成します。
条件を含むクエリーを実行している場合、ユーザーは結果を次のようにする場合があります。
外部結合によって結合されるテーブルに対応する値を持たない1つのテーブルからの値を含めます。
外部結合によって結合されるテーブルに対応する値を持たない1つのテーブルからの値を含めません。
DisableAutoOuterJoinsOnFiltersレジストリ設定により、エンド・ユーザーのクエリーで条件が使用されるときに、自動的に生成された外部結合の使用を無効にできます。次の表は、その後に示す例を要約したものです。
例番号 | 条件の適用 | DisableAutoOuterJoinsOnFiltersの値 | すべての値を表示 |
---|---|---|---|
例1 | しない | 0または1 | する |
例2 | する | 0 | しない |
例3 | する | 1 | する |
次の例は、外部結合、条件およびDisableAutoOuterJoinsOnFiltersレジストリ設定の値が、エンド・ユーザーのクエリーから返されたデータの行にどのように影響を与えるかを示しています。
Discovererのレジストリ設定の詳細は、第21章「Discovererのレジストリ設定」を参照してください。
この例は、2つのテーブルに対してクエリーを実行したときに返された結果を示しています。マスター・テーブルとディテール・テーブルは外部結合で結合されています。
Discovererが表示する内容は、次のとおりです。
マスター・テーブル(dept)とディテール・テーブル(emp)からのデータの行
ディテール・テーブル(emp)のデータがないマスター・テーブル(dept)からのデータの行
クエリーは、次のSQL文を使用して定義されます。外部結合はプラス記号(+)で示されます。
select dname, ename, job from dept, emp where dept.deptno = emp.deptno(+);
DNAME | ENAME | JOB |
---|---|---|
SALES | GRIMES | DIRECTOR |
SALES | PETERS | MANAGER |
SALES | SCOTT | CLERK |
SUPPORT | MAJOR | MANAGER |
SUPPORT | SCOTT | CLERK |
ADMIN | ||
MARKETING | ||
DISTRIBUTION |
前述のクエリーから返された結果は、DisableAutoOuterJoinsOnFiltersレジストリ設定をオンまたはオフに切り替えても変わりません。
この例では、例1のクエリーに条件を適用し、DisableAutoOuterJoinsOnFiltersレジストリ設定をオフに切り替えています。
Discovererが表示する内容は、次のとおりです。
条件で指定されたデータ
Discovererが表示しない内容は、次のとおりです。
ディテール・データのないマスター行
次のSQL文が使用されます。外部結合はプラス記号(+)で示されます。
select dname, ename, job from dept, emp where dept.deptno = emp.deptno(+) and job = 'CLERK';
DNAME | ENAME | JOB |
---|---|---|
SALES | SCOTT | CLERK |
SUPPORT | SCOTT | CLERK |
この例では、例1のクエリーに条件を適用し、DisableAutoOuterJoinsOnFiltersレジストリ設定をオンに切り替えています。
Discovererが表示する内容は、次のとおりです。
条件で指定されたデータ
ディテール・データのない(NULL値)マスター行
次のSQL文が使用されます。外部結合はプラス記号(+)で示されます。
select dname, ename, job from dept, emp where dept.depno = emp.deptno(+) and job = 'CLERK';
DNAME | ENAME | JOB |
---|---|---|
SALES | SCOTT | CLERK |
SUPPORT | SCOTT | CLERK |
ADMIN | ||
MARKETING | ||
DISTRIBUTION |
注意: データベースは、IS NULL句とIS NOT NULL句への外部結合の配置をサポートしますが、IN句とOR句への外部結合の配置はサポートしていません。
エンド・ユーザーに対し、Discovererワークブックで表示できるデータを制限する場合があります。
たとえば、すべての地域の利益データを含む1つのテーブルを持っているとします。利益データの各行は、1つの地域のトランザクションに適用されています。西地域のマネージャが西地域の利益データを含む行のみにアクセスできるようにするとします。
REGION | PROFIT | DATE |
---|---|---|
East | $100 | 8/7 |
West | $50 | 8/7 |
South | $65 | 8/10 |
North | $100 | 8/6 |
行レベルのセキュリティを作成するには、次の作業を完了する必要があります。
SYSビューから行レベルのセキュリティを適用するフォルダを含むビジネスエリアへの、ALL_USERSテーブルのロード
この作業により、すべてのデータベース・ユーザーのリストを取得し、条件を適用して行レベルのセキュリティを達成できます。
行レベルのセキュリティを適用するビジネスエリアにALL_USERSテーブルをロードする手順は、次のとおりです。
行レベルのセキュリティを作成するフォルダを含むビジネスエリアを選択します。
「挿入」→「フォルダ」→「データベースから新規フォルダを作成」を選択すると、「ロード・ウィザード: ステップ1」ダイアログが表示されます。
「オンライン・ディクショナリ」チェック・ボックスを選択し、「次へ」をクリックすると、「ロード・ウィザード: ステップ2」ダイアログが表示されます。
「ロードするテーブルを所有するユーザーを選択してください」リスト・ボックスからSYSユーザーを選択し、「次へ」をクリックすると、「ロード・ウィザード: ステップ3」ダイアログが表示されます。
SYSユーザーは、すべてのデータベース・ユーザーの名前を保持するビューを含んでいます。
「選択可能」リスト・ボックスでSYSユーザーを展開し、ALL_USERSビューを「選択済」リスト・ボックスの中にドラッグします。「次へ」をクリックすると、「ロード・ウィザード:ステップ4」ダイアログが表示されます。
これにより、ALL_USERSビューは現行のビジネスエリアにロードされます。ALL_USERSビューは、すべてのデータベース・ユーザー・アカウントの名前を含んでいます。
「アイテムの値リストを作成するデータ・タイプ」チェック・ボックスと「文字」チェック・ボックスを選択し、このエリアの他のすべてのチェック・ボックスの選択を解除します。
これにより、すべてのデータベース・ユーザーの名前の値リストが作成されます。
「終了」をクリックします。
これにより、SYSテーブルから現行のビジネスエリアにALL_USERSビューがロードされます。
(オプション)ALL_USERSのフォルダのプロパティを編集し、「ユーザーに表示」プロパティを「いいえ」に設定します(詳細は、「フォルダ・プロパティの編集方法」を参照)。
これにより、ALL_USERSフォルダはエンド・ユーザーに表示されなくなります。
行レベルのセキュリティを適用するフォルダへの、新規計算定義アイテムの作成
計算定義アイテムを作成すると、それ以降のSYSテーブルからすべてのデータベース・ユーザーの値リストのアイテム・クラスを適用できます。
行レベルのセキュリティを適用するフォルダに計算定義アイテムを作成する手順は次のとおりです。
行レベルのセキュリティを作成するフォルダを強調表示します(「Video Analysis」フォルダなど)。
「挿入」→「アイテム」を選択します。
「名前」フィールドに「Username」と入力します。
「計算」フィールドに「USER」と入力します。
「OK」をクリックして、新規計算アイテムを作成します。
(ALL_USERSテーブルにある) Usernameアイテムから新規計算定義アイテムへの、値リストの適用
前述の作業で作成した計算定義アイテムに値リストのアイテム・クラスを適用する手順は次のとおりです。
行レベルのセキュリティを適用するフォルダを強調表示します(「Video Analysis」フォルダなど)。
「挿入」→「アイテム・クラス」を選択して、「アイテム・クラス・ウィザード: ステップ1」ダイアログを表示します。
「値リスト」チェック・ボックスを選択し、「次へ」をクリックすると、「アイテム・クラス・ウィザード: ステップ2」ダイアログ(値リストを生成するアイテムの選択)が表示されます。
前述の手順でビジネスエリアにロードしたALL_USERSテーブルからUsernameアイテムを選択し、「次へ」をクリックすると、「アイテム・クラス・ウィザード: ステップ3」ダイアログ(名前と説明の入力)が表示されます。
「選択可能なアイテム」リストから(前述の手順で作成した)計算定義アイテム「Username」を選択し、「選択済」リストの中にドラッグします。
「終了」をクリックして、値リストを計算定義アイテム「Username」に適用します。
データベース・ユーザーを指定してフォルダで行レベルのセキュリティを定義するための、拡張された必須条件の作成
拡張された必須条件を作成します。これにより、データの条件を指定されたデータベース・ユーザーに適用できます。
次の両方を含む拡張された必須条件を作成する必要があります。
データベース・ユーザーを定義する条件文
指定したデータベース・ユーザーに対しデータ・アクセスを制限する1つ以上の条件文
拡張された必須条件を作成し、指定したデータベース・ユーザーの行レベルのセキュリティを定義する手順は、次のとおりです。
行レベルのセキュリティを作成するフォルダを強調表示します。
「挿入」→「条件」を選択して、「新規条件」ダイアログを表示します。
(オプション)新規条件の説明を入力します。
「タイプ」ドロップダウン・リストをクリックして、「必須」を選択します。
タイプ「必須」を指定すると、条件が常にエンド・ユーザーに適用されます。
「アイテム」ドロップダウン・リストをクリックして、計算定義アイテムの「Username」を選択します。
「値」ドロップダウン・リストをクリックし、「値の選択」を選択して、「値」ダイアログを表示します。
行レベルのセキュリティを適用する各データベース・ユーザーのチェック・ボックスを選択して、「OK」をクリックします。
Discovererは、「値」フィールドに選択したデータベース・ユーザーを表示します。
注意: これで、1人以上のデータベース・ユーザーの名前を指定する必須単一条件が作成できました。ただし、現行フォルダのデータベース・ユーザーに行レベルのセキュリティを適用する前に、指定したデータベース・ユーザーに適用するデータ条件を指定する必要があります。
残りの手順では、指定したデータベース・ユーザーに行レベルのセキュリティを適用する方法について説明します。これにより、データベース・ユーザーは西地域からのデータのみを表示できるようになります。
「詳細」ボタンを選択して、「追加」ボタンをクリックします。
(例)「アイテム」ドロップダウン・リストをクリックして、「Store.Region」を選択します。
このデータ条件は、指定したデータベース・ユーザーに適用されます。
(例)「値」ドロップダウン・リストをクリックして、地域「West」を選択します。
注意: データベース・ユーザー(Username)をデータ条件(Region)に関連付けるには、Username条件文とRegion条件文を、AND句を使用してグループ化する必要があります。
各Username条件文とデータ条件文は、AND句を使用してグループ化する必要があります。Username条件文とデータ条件文のペアは、OR句を使用して他のペアとグループ化する必要があります。OR句を使用してUsername条件文とデータ条件文のペアをグループ化し、各条件文のペアを適用できます(次の図を参照)。
「OK」をクリックします。
これにより、('West'または'East'地域にユーザーのグループをバインドして)指定したデータベース・ユーザーに行レベルのセキュリティを適用する、拡張された必須条件が作成されます。前述の例では、データベース・ユーザーADMTESTは'West'地域のデータのみを表示できます。
(オプション)新規条件のプロパティを編集し、「ユーザーに表示」プロパティを「いいえ」に設定します(詳細は、「条件プロパティの編集方法」を参照してください)。
これにより、Discovererはエンド・ユーザーに条件を表示しませんが、この条件は常に適用されます。
フォルダに必須条件を作成した場合、データベース・ユーザーのクエリーには必須条件を含むフォルダに基づくサマリー・フォルダを使用しないようにしてください。これは、サマリー・テーブルのデータが、サマリー・フォルダを作成したデータベース・ユーザーに対するデータのみになるためです。
ソース・フォルダが(行レベルのセキュリティを適用するなどの)必須条件を使用していても、そのサマリー・フォルダをデータベース・ユーザーが使用できるようにするには、必須条件を作成する前に次の手順を実行する必要があります。
ソース・フォルダに必須条件を含むサマリー・フォルダを、データベース・ユーザーのクエリーで有効にする手順は、次のとおりです。
(行レベルのセキュリティを適用するなどの)必須条件を設定する前に、フォルダに基づくサマリー・フォルダを作成します。
サマリー・フォルダの作成方法の詳細は、第14章「サマリー・フォルダの管理」および第15章「手動によるサマリー・フォルダの作成」を参照してください。
サマリーの「クエリーで使用可能」プロパティを「いいえ」に設定します。
このサマリー・フォルダは、サマリー・フォルダを作成したデータベース・ユーザーのデータを参照します。エンド・ユーザーのクエリーがこのサマリー・フォルダにアクセスしないように、このプロパティを「いいえ」に設定します。
(オプション)サマリー・フォルダのプロパティ「次回のリフレッシュ」と「リフレッシュ間隔」を適切な値に設定します。
詳細は、「「サマリー・プロパティ」ダイアログ」を参照してください。
サマリー・フォルダに対してデータベース・ビューを作成します。
この作業は、Discovererの外部で実施されるので、詳細はデータベース管理者に問い合せてください。
作成したビューに(行レベルのセキュリティなどの)必須条件を適用するには、WHERE句を使用します。
たとえば、次のようになります。
SQL> WHERE Userid='SMITH' AND Region='WEST'
外部サマリーとしてビューをDiscovererに登録します。
詳細は、「外部サマリー・テーブルに基づくサマリー・フォルダの作成方法」を参照してください。
サマリーの「クエリーで使用可能」プロパティを「はい」に設定します。
データベース・ユーザーがこのサマリー・フォルダにアクセスできるようにするには、このプロパティを「はい」に設定します。
Discovererで、「次回のリフレッシュ」と「リフレッシュ間隔」のサマリー・フォルダ・プロパティを「無期限」に設定する必要があります。
詳細は、「「サマリー・プロパティ」ダイアログ」を参照してください。
Discoverer Administratorのフォルダで必要な必須条件(行レベルのセキュリティなど)を作成します(詳細は、「必須条件を使用した、行レベルのセキュリティの作成方法」を参照)。
これで、必須条件のないデータ・フォルダに基づくフォルダと、ビューに基づくフォルダの2つのサマリー・フォルダが用意されました。最初のサマリー・フォルダの作成後に必須条件をフォルダに追加することで、後続するクエリーは、フォルダに基づくサマリー・フォルダではなく、ビューに基づくサマリー・フォルダを使用するようにリライトされます。サマリー・リライトの詳細は、第16章「サマリー・フォルダに関する追加情報」を参照してください。
注意: 外部サマリー・フォルダで分析関数は使用できません(詳細は、「分析関数」を参照)。