web-dev-qa-db-ja.com

SSRS複数値パラメーター。 「すべて選択」が選択されているかどうかを確認します

SSRSレポートに複数の値のパラメーターがあります。そのパラメーターで(すべて選択)がチェックされているかどうかを確認したいと思います。

つまり、パラメータのすべての値がチェックされるか、一部の値のみがチェックされるか。

出来ますか?

パラメータを使用して、選択した値の数を確認できます。パラメータ。カウント。そのパラメータのアイテムの合計を見つける方法はありますか?

16
Sathya

誰かがこれを実行しても問題が解決しない場合は、この簡単な修正をコーディングしました。

=IIF(COUNTROWS("dataset").Equals(Parameters!parameter.Count),"it is equal","this is not equal")
23
Merr Leader

テキストボックスのレポートで選択したフィルターを表示する特定のユースケースについて、「(すべて選択)」を選択した場合に「すべて」を表示する式を次に示します。それ以外の場合は、選択したすべての値をコンマ区切りで表示しますリスト:

=IIF(
     Parameters!YourMultivalueParam.Count = countrows("YourDataset"),
     "All",
     Join(Parameters!YourMultivalueParam.Label,", ")
 )

(読みやすくするために複数行に分割)

countrows参照: https://technet.Microsoft.com/en-us/library/dd255215.aspx


他の回答へのクレジットは、この一般的なシナリオのためにそれらを拡張したいだけです。

8
Tim Abell

あなたのアプローチはいいですね:パラメータのオプションをデータセットから取得するようにします。

次に、=COUNTROWS("DataSetName")を使用してパラメーターのオプションの総数を返し、これをParameters!*Parameter*.Countと比較します。

6
Jamie F

私もこの問題に直面し、この方法で解決しました。

「Carrier」という名前の1つの複数値パラメーターがあります。次に、「Carrier」と同じ1つのパラメーター「CarrierHidden」を追加しました。「Visibility」を「Hidden」にしただけです。

="Carrier=" & Switch(Parameters!CarrierHidden.Count = Parameters!Carrier.Count, "All",
 Parameters!Carrier.Count > 1 And Parameters!CarrierHidden.Count > Parameters!Carrier.Count, "Multi",
 Parameters!Carrier.Count = 1, Parameters!Carrier.Label(0))
3
anakulk

簡単な方法は、選択したパラメーターの数を数え、それらをデータセットと比較することです。

=IIF(Parameters!company_number.Count = CountRows("Dataset1"), True, False)
2
Aman H.

問題は、別のデータセットに対して何かをプルしようとしている場合、別のデータセットの行カウントの相互参照が機能しないことです。あなたは以前の投稿が述べているものと一緒に行く必要があります。正確なタイプの内部パラメータを作成し、デフォルト値をデータセット全体に割り当てます。これにより、非表示parameter.count = rowscount以降の行の最大数がわかります。これにより、データセットが最初のデータセットに入力された後でも、別のデータセット内で使用できます。

1
user3014413

MicrosoftのSSRSヘルプ検索によると:

=Parameters!<ParameterName>.Count

整数値1を返します。単一値パラメーターの場合、カウントは常に1です。

これが実際に機能することを確認しました。組み込みのパラメーターカウントフィールドに返された整数を確認してください。

パラメータ選択で複数の値を許可します。上記のフィールドの値を確認すると、ユーザーが実際に選択した値の数がわかります。

私の状況では、会社番号に複数の値を許可します。これにより、ユーザーは1つの会社または複数の会社を一度にレポートするように選択できます。クライアント要求ごとに、複数を選択した場合、データを水平に表示します。パラメータリストで1つの会社のみが選択されている場合は、データを垂直に表示し、他のTablixを非表示にします。

したがって、私の表示/非表示式は、1つのTablixでは次のようになります。

=IIF(Parameters!company_number.Count > 1, True, False)

そして他のこのように:

=IIF(Parameters!company_number.Count = 1,True,False)
0
Robyn Gulasy