内部に多くの顧客を含むデータベースがあります。テーブルの各行には、データが属する顧客を示す顧客 ID があります。
エンド ユーザーがアドホック レポートを使用してレポートを作成できるようにし、顧客 ID に関連付けられたデータのみを表示させることはできますか?
内部に多くの顧客を含むデータベースがあります。テーブルの各行には、データが属する顧客を示す顧客 ID があります。
エンド ユーザーがアドホック レポートを使用してレポートを作成できるようにし、顧客 ID に関連付けられたデータのみを表示させることはできますか?
レポートでは、ビルトイン フィールド UserID を使用して、現在のユーザーのドメイン名 (MYDOMAIN\Username など) を返すことができます。
顧客 ID をドメイン名にマッピングするテーブルを作成し、これをメインのデータ テーブルに結合できる場合は、次のようなデータセット クエリに where 句を追加できます。
WHERE MappingTable.DomainUsername = @CurrentUser
レポートで、CurrentUser という隠しパラメーターを作成し、値を Globals!UserID.Value に設定します。
このソリューションが機能するには、レポート ユーザーの資格情報がデータ ソースに渡されるレポート データ ソースで Windows 認証を使用する必要があります。
編集: 元の質問を読み間違えたようです。実際には、ユーザーがデータの表示を制限しながらアドホック レポートを作成できるかどうかを尋ねていました。このシナリオでは、ユーザーが独自のレポートを設計するため、レポート自体に実装されているソリューションは除外されます。代わりに、ビューを使用するなど、何らかの形式のセキュリティ レイヤーをソース データベースに実装する必要があります。ユーザーがドメイン ログインを使用している場合は、上記と同様のアプローチを使用できます。たとえば、特定のユーザーのデータを制限するために、ビューに SUSER_NAME() への参照を含めることができます。