2017-05-26 46 views
1

私はしばらくの間、レポートを作成してきました。私はまだノーベルなので、重複するパラメータ値である私の現在の問題にどう対処するのか分かりません。SSRSパラメータの重複を扱う

ここに私のパラメータのスクリーンショットがあります。 Paramater 1つのパラメータのドロップダウンは自分のプログラムと関係があり、2つ目はアクティビティです。ご覧のとおり、両方のプログラムが選択されている場合、「基本」の複製があります。

私のデータベースのスニペットです。 Database 2つの異なるプログラムに異なるIDが付いています。

最後に、私のパラメータのコードです。

プログラム:

SELECT distinct 
A.ProgramID, A.ProgramName 

FROM dwh.Bks_DWH_Programs A 
INNER JOIN dwh.Bks_DWH_OrgUnits d on A.ProgramOrgUnitID = d.OrgUnitID 

WHERE d.OrgUnitParentID in (@OP) and 
d.OrgUnitID in (@OU) 

活動:

SELECT distinct A.Activity_ID, A.Activity_Name 

FROM dwh.Bks_DWH_Activities A 
INNER JOIN dwh.Bks_DWH_Programs aa on a.Activity_EntityID = aa.ProgramID 
INNER JOIN dwh.Bks_DWH_OrgUnits d on aa.ProgramOrgUnitID = d.OrgUnitID 

WHERE d.OrgUnitParentID in (@OP) and 
d.OrgUnitID in (@OU) and 
aa.ProgramID in (@TP) 

ORDER by A.Activity_ID 

重複が(プログラムが異なるIDを持っているので)があるなぜ私は理解しますが、あります場合、私はちょうど思ったんだけど何とか2つに加わる方法?ドロップダウンで重複しているのは面倒です。

ありがとうございます。

+0

SELECT distinct A.Activity_ID、A.Activity_Name + aa.ProgramNameAS Activity_Name'のようにして一意にすることはできませんか? –

+0

これも機能します!私はそれが活動の隣に番組を示すのが好きです。ありがとうございました。 – JerrySein

答えて

0

コメントが長すぎます。私はあなたがパラメータの名前を見ることができると思います。したがって、基本的にはアクティビティクエリから​​を削除するだけです。しかし、あなたはまた、メインのクエリで別のことをする必要があります(​​の値をフィルタリングしていると仮定します)。 ...

AND a.Activity_Name IN (@[YourActivityParameter]) 

注意を

WHERE d.OrgUnitParentID IN (@OP) 
AND d.OrgUnitID IN (@OU) 
AND aa.ProgramID IN (@TP) 
AND a.Activity_Name = @[YourActivityParameter] 

か::

あなたの活動のクエリは次のようになります。

SELECT DISTINCT A.Activity_Name 
FROM... 

そして、あなたのメインクエリのようなものを持っているでしょう。これは持っていることパフォーマンスへの影響。

+0

私はそれがとてもシンプルなものになるとは思わなかった!パフォーマンスにも変化はないようです。ありがとうございました! 申し訳ありませんが、私はまだあなたをアップアップすることはできません。 – JerrySein

+0

問題ありません。私が助けてくれてうれしい...あなたのデータベースが大きくなるとパフォーマンスの問題が起こるかもしれません。しかし、それが影響を受けないチャンスもあります。がんばろう! – BJones