2016-09-13 6 views
0

"RequestID"が共通する2つのSharePointリストがあります。レポートの主なリストは「アクションアイテム」ですが、アプリケーションが選択したパラメータと等しいレコードのみを表示したいとします。アプリケーションは「要求」リストにあります。第2リストのSSRSフィルター

Table structures

私はこのケースでは、私が唯一の要求#15と#22に関連するアクションアイテムのIds 44と55になるだろうので、Application name = 'Math'のためにフィルタリングします。私はあなたがフィルター内のルックアップを使用することができないことを理解し、

=Join(LookupSet(CInt(Fields!Request_ID.Value), CInt(Fields!ID.Value), Fields!Application.Value, "Requests"), ", ") 

しかし: 私は成功し、これを使用してレポート内のアプリケーションの名前を表示しています。何か案は?

答えて

0

カスケードパラメータを使用する必要があります。カスケードパラメータを持つ

、あなたは一つのパラメータでアプリケーションを選択し、アクション項目アプリケーションのパラメータを使用していますパラメータの選択をベースにします。

SELECT ActionItemID 
FROM ACTION_ITEMS 
WHERE REQUEST_ID IN (SELECT REQUEST_ID FROM REQUESTS WHERE APPLICATION = @APPLICATION_PARAMETER) 

しかし、あなたがデータセットFILTERタブのアクションアイテムのSharePointリストをフィルタリングすることができます:

:あなたはActionItemIDのためのデータセットをフィルタリングすることができ、SQLで

=IIF(INSTR(
    Join(LookupSet([email protected]_PARAMETER.Value, Fields!Application.Value, Fields!ID.Value, "Requests"), ",") & "," 
    , Fields!Request_ID.Value & ",") > 0, 1, 0) 

これは、要求IDが、Appとしてのパラメータ(MATH)を持つIDのLookUp [15,22、]からのリストにあることを検索します。

enter image description here

https://technet.microsoft.com/en-us/library/aa337169(v=sql.100).aspx

https://technet.microsoft.com/en-us/library/aa337498(v=sql.105).aspx

+0

レポートで唯一つのパラメータ、 "アプリケーション" があります。これはSharePointリストを使用していることを忘れないでください - SQLはありません。私はSQLで簡単にそれを行うことができます。このパラメータの値のリストは、別のSPリスト「アプリケーション」から取得されます。パラメータはアプリケーションを正しく表示します。問題は、アクションアイテムリストを照会しているときに、リクエストリストからアプリケーションを取得しようとしていることです。 – Laurel

+0

私はSharePointが問題かもしれないと思った - 私はそれをソースとして扱っていない。 ** DataSource **として使用することはできませんか? https://www.mssqltips.com/sqlservertip/2068/using-a-sharepoint-list-as-a-data-source-in-sql-server-reporting-services-2008-r2/ –

+0

はい、使用できますデータソースとしてSharePointリストを作成することはできますが、別のSharePointリストに追加することはできません。それが問題です。 – Laurel

関連する問題