2009-04-13 16 views
0

SSRS 2005で "and" "または" filters "を実行する方法はありますか?Reporting Services 2005フィルタ

私はこのようになりますデータセット(ストアドプロシージャ)を指しているテーブルがあります:ユーザーが持つすべての行を見たい

name      type     amount 
License Plate Credit   fees    ($150.00) 
Lieu Tax      fees    $1,012.12 
Finance Tax City    taxes    $1,839.90 
Finance Tax County    taxes    $306.65 
Finance Tax State    taxes    $3,434.48 

を:

  1. タイプ=「税」または
  2. タイプ=「報酬」と名=「リュー税」

私は報告書でこれを行う必要がある理由 に応じて、同じストアドプロシージャを指し示す複数のレポートを作成し、各クライアントが表示およびビジネスルールをレイアウトしたいためです。

要件明確化 私は、procの代わりにレポートでそれを行う方法があると考えていました。計画は、さまざまな要件を持つ同じprocを指す多くのカスタムレポートを持つことです。この考えは、プログラマーが常に関与しなければならないのではなく、レポート作成者(SQLを知らない人)がレポートを作成するためのものでした。

答えて

1

それぞれの条件の組み合わせは、合格または不合格のいずれかです。 SWITCHを使用して、各条件を評価し、1または0を返します。次に、フィルター条件で「=」および「= 1」を使用します。

= SWITCH(TYPE = "税金"、1、 TYPE = "手数料" AND NAME = "リュウ税")、1、 1 = 1、0 )

あなたはあなたの全体のフィルタリングを処理することができますこのように単一の表現で。魅力のように動作します。

1

種類と名前などのパラメータを受け入れるようにストアドプロシージャを変更し、レポートからこのストアドプロシージャを呼び出す必要があります。このストアドプロシージャは、ユーザーの要件に基づいて適切な値で呼び出す必要があります。レポートサービスレポートには、レポートパラメータという機能があります。したがって、ユーザー&からの型と名前のパラメータを受け入れるようにレポートを変換して、これをストアドプロシージャに渡す必要があります。複数のユーザー用に複数のレポートを作成するには、この1つのテンプレートレポートから複数のリンクされたレポートを異なるパラメータ値で作成するだけです。ただ、はい、ありレポート

+0

私は、procの代わりにレポートでそれを行う方法があることを期待していました。計画は、さまざまな要件を持つ同じprocを指す多くのカスタムレポートを持つことです。この考えは、プログラマーが常に関与しなければならないのではなく、レポート作成者(SQLを知らない人)がレポートを作成するためのものでした。 –

+0

Reporting Servicesのリンクされたレポート機能を調べましたか?パラメータ値を受け付ける1つのテンプレートレポートcapabaleがある場合、エンドユーザーは、この1つのテンプレートレポートから異なるパラメータ値でできるだけ多くのリンクされたレポートを作成できます。これはビルダーよりはるかに簡単です – msvcyc

0

変更PROC。 データを含むテーブルまたはマトリックスのテーブルプロパティを開きます。 クエリが実行された後にデータをフィルタリングできる「フィルタ」タブがあります。

0

から値またはNULLを渡す

SELECT 

xxx 

FROM 

xxx 

WHERE (a.id = @aID OR @aID IS NULL) 
AND (b.id = @bID OR @bID IS NULL) 
AND (c.id = @..... 

すべき

+0

助けてくれてありがとうございますが、私はあなたがフィルタを行うことができますが、私は上記のようにフィルタを行うことができます: type = 'taxes'または (type = 'fees' and name = 'Lieu税金') –

関連する問題