LoginSignup
0
0

More than 3 years have passed since last update.

Cognos Analytics で Framework Managerが無い環境でのデータ表示制御

Posted at

Cognos Analytics で Framework Manager無しでのデータ表示制御

Cognosで、ユーザー名や所属グループベースでの、レポートやダッシュボード内のデータに対するアクセスコントロールは、通常は以下の記事の様なやり方で、Framework Managerを使って行います。
Cognos 行・列単位でのデータアクセス権限付与
https://qiita.com/shinyama/items/6f2ca9c6b9db4c319dff

しかしながら、最近増えてきているSaaSや他のパッケージ製品へのCognosの組み込みでの提供方式で、Framework Managerが使えない環境もあります。
データ・モジュールでは、前述の記事のようなデータアクセス権限設定はできず、レポートの機能の中だけで同じような事ができないか、と困った時の対応方法です。

手順

基本的な方針は、レポート実行ユーザーの「ユーザー名」や「所属グループ」を関数で取得し、条件付きスタイルを使用して、表示・非表示設定を行います。

例1):ユーザー名によるリスト全体の非表示
以下の様なリストのレポートを例とします。
image.png

リストのクエリーに、以下の定義で「ユーザー名」というデータアイテム(クエリー計算)を追加します。
#sq($account.defaultName)#
image.png

リストのプロパティの「プロパティー」で、「ユーザー名」を含む全アイテムをチェックします。
image.png

リストのプロパティの「条件付きスタイル」で、以下のようにユーザー名が「cogadmin」の場合の条件を指定します。
image.png

作成された条件の設定で、詳細設定タブで「ボックスのタイプ」を「なし」とします。
image.png

このレポートをcogadminユーザーで実行すると、リストが表示されません。
image.png

例2):所属グループによるリストの特定行の非表示
リストのクエリーに以下の定義で「所属グループ」を作成します。
#sq(CSVIdentityNameList())#
image.png

リストのプロパティの「プロパティー」で「所属グループ」を指定します。
image.png

「リスト列の本体」を3列選択し、「条件付きスタイル」で以下の様な条件を作成します。
※「システム管理者」グループに所属し、「数量」が1千万以上の行が対象、という意味になります。
([クエリー1].[所属グループ] contains 'システム管理者') and ([クエリー1].[数量] > 10000000)
image.png

ボックスのタイプは「なし」にします。
image.png

レポートを実行すると、以下のように「システム管理者」がレポートを実行した場合、数量が1千万以上の行は非表示となります。
image.png

どこかでFramework Managerが無い環境でデータ表示制御が必要になった時に、思い出してご活用頂ければと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0