データのない日にはレポートでNaN
として表示されるため、レポートがまだ実行されていないときに非表示にする計算列の小計フィールドがあります。
2つの方法を試しましたが、どちらも機能しておらず、ほぼ正しいと確信しています。この表現の何が問題なのかわかりません。
データセットに行がない場合、非表示にしようとしました。
=IIf((CountRows("ScannerStatisticsData")=0),False,True)
私も計算してみました
=iif((fields!Scans.Value / fields!numberOfCases.Value) = 0, False, True)
また、計算のいずれかの列で何もチェックしてみました
=iif(IsNothing(fields!Scans.Value), False, True)
何が間違っていますか?
これはうまくいきませんでした
=IIf((CountRows("ScannerStatisticsData") = 0),False,True)
しかし、これはそうでした、そして、私は本当に理由を説明することができません
=IIf((CountRows("ScannerStatisticsData") < 1),False,True)
sSRSは、同等の比較がそれよりも少ないことを好まないと思います。
あなたが提供した例を試してみましたが、唯一の違いは_@bdparrish
_が指摘したようにTrueとFalseの値が入れ替わっていることです。データセットに存在する行の数に基づいてSSRS Texboxを表示または非表示にする実用的な例を次に示します。この例では_SSRS 2008 R2
_を使用します。
ステップバイステップのプロセス:_SSRS 2008 R2
_
この例では、レポートにはItems
という名前のデータセットがあり、行カウントを表示するテキストボックスがあります。また、データセットのアイテムに行がある場合にのみ表示される別のテキストボックスもあります。
式に基づいて表示/非表示にするテキストボックスを右クリックし、_Text Box Properties...
_を選択します。スクリーンショット#1を参照してください。
_Text Box Properties
_ダイアログで、左側のセクションからVisibility
をクリックします。スクリーンショット#2を参照してください。
_Show or hide based on an epxression
_を選択します。
式ボタンfx
をクリックします。
式=IIf(CountRows("Items") = 0 , True, False)
を入力します。この式は、hide Textbox(Hidden)であることに注意してください。
[OK]を2回クリックして、ダイアログを閉じます。
スクリーンショット#は、レポートデータセットItems
のソースであるSQL Serverテーブル_dbo.Items
_のデータを示しています。テーブルには行が含まれます。スクリーンショット#4は、データに対するサンプルレポートの実行を示しています。
スクリーンショット#5は、レポートデータセットItems
のソースであるSQL Serverテーブル_dbo.Items
_のデータを示しています。テーブルにはデータなしが含まれます。スクリーンショット#6は、データに対するサンプルレポートの実行を示しています。
お役に立てば幸いです。
スクリーンショット#1:
スクリーンショット#2:
スクリーンショット#3:
スクリーンショット#4:
スクリーンショット#5:
スクリーンショット#6:
=IIf((CountRows("ScannerStatisticsData")=0),False,True)
に置き換える必要があります
=IIf((CountRows("ScannerStatisticsData")=0),True,False)
Visibility式がHidden値を設定するためです。
これの代わりに
=IIf((CountRows("ScannerStatisticsData")=0),False,True)
隠したいときは式だけを書く
CountRows("ScannerStatisticsData")=0
または、以下のように真と偽の場所の順序を変更します
=IIf((CountRows("ScannerStatisticsData")=0),True,False)
これは、Visibility式がHidden値を設定するためです。あなたはテキストエリアの上に見つけることができます
" Set expression for: Hidden "
あなたの偽と真のリターンを切り替えますか?これらを可視領域に関数として配置すると、falseは表示され、trueは表示されないと思います。
テキストボックスの可視性は隠し値に依存します
次の例のように、内部条件が満たされるとテキストボックスの非表示機能がTrueになり、そうでない場合はテキストボックスの非表示機能がFalseになります
=IIf((CountRows("ScannerStatisticsData") = 0), True, False)
rdlファイルの内容:
<Visibility><Hidden>=Parameters!casetype.Value=300</Hidden></Visibility>
式が真の場合、テキストボックスは非表示になります。
Twood、Visibility expressionは、「visibility」をどのように動作させるかについて記述する式です。したがって、テキストボックスを非表示または表示する場合は、次のように記述します。
=IIf((CountRows("ScannerStatisticsData")=0),True,False)
これは、データセットが0の場合、テキストボックスを非表示にすることを意味します。