0

内部に多くの顧客を含むデータベースがあります。テーブルの各行には、データが属する顧客を示す顧客 ID があります。

エンド ユーザーがアドホック レポートを使用してレポートを作成できるようにし、顧客 ID に関連付けられたデータのみを表示させることはできますか?

4

1 に答える 1

1

レポートでは、ビルトイン フィールド UserID を使用して、現在のユーザーのドメイン名 (MYDOMAIN\Username など) を返すことができます。

顧客 ID をドメイン名にマッピングするテーブルを作成し、これをメインのデータ テーブルに結合できる場合は、次のようなデータセット クエリに where 句を追加できます。

WHERE MappingTable.DomainUsername = @CurrentUser

レポートで、CurrentUser という隠しパラメーターを作成し、値を Globals!UserID.Value に設定します。

このソリューションが機能するには、レポート ユーザーの資格情報がデータ ソースに渡されるレポート データ ソースで Windows 認証を使用する必要があります。


編集: 元の質問を読み間違えたようです。実際には、ユーザーがデータの表示を制限しながらアドホック レポートを作成できるかどうかを尋ねていました。このシナリオでは、ユーザーが独自のレポートを設計するため、レポート自体に実装されているソリューションは除外されます。代わりに、ビューを使用するなど、何らかの形式のセキュリティ レイヤーをソース データベースに実装する必要があります。ユーザーがドメイン ログインを使用している場合は、上記と同様のアプローチを使用できます。たとえば、特定のユーザーのデータを制限するために、ビューに SUSER_NAME() への参照を含めることができます。

于 2012-10-31T02:53:11.700 に答える