0

私は Visual Studio でレポートを作成していますが、この種のレポートの初心者です。パラメーター (StringID) があり、そのプロパティで複数の値を許可します。次のフィルターを使用した Tablix もあります。

: [@ExternalID] --演算子: In --: [@StringID]

それはうまく機能しますが、ユーザーがすべてのレジストリを選択できるようにしたい (つまり、StringID でフィルタリングしないようにする)。このフィールドが空白の場合、ExternalID が空のすべてのレジストリが表示されます。これは私が望むものではありません。質問は次のとおりです。

この機能を備えたオプションのフィルターなどを使用できますか?

4

2 に答える 2

1

最も簡単な解決策は、おそらく、パラメーターの値に基づいて選択するようにクエリを修正することです。次のようなものです。

...
and (ExternalID in @StringID or @StringID = '')
...
于 2011-08-30T12:05:02.363 に答える
1

私はマークに同意します。

もう少し先に進みます - ケースをカバーするためにクエリを変更する必要があるかもしれません: すべての ExternalID、ExternalID が渡された @StringID にある、または ExternalID が空です。空を取得する1つの方法は、データにない「マジック値」を使用することです。次に例を示します。

...
AND (
    --get all 
    @StringID IS NULL OR 
    --get in passed string 
    ExternalID IN @StringID OR 
    --"magic value" - get empty "ExternalID"
    (
     @StringID = '_EMPTY_' AND 
     ISNULL(ExternalID, '') = '' 
    )
...
于 2011-09-05T03:47:15.823 に答える