2

Crystal Reports を約 2 年間使用していますが、カスタム レポートの一部を SSRS に変換するために、SSRS を学習しようとしています。

DB には、OpenToPublic という列があり、いいえの場合は 0、はいの場合は 1 になります。CR では、値に応じて Y または N のいずれかをレポートに表示する数式を作成しました。

if {DriveMaster.OpenToPublic} then 'Y'
else 'N'

SSRSで同じことを達成するための最良の方法は何ですか? 表現ですか?

4

2 に答える 2

1

計算を設定し、フィールドに値を設定する必要がExpressionsあります。ここに詳細があります。SSRS

あなたの表現のために、あなたは以下のようにすることができます(私はあなたのデータ型が であると仮定していますOpenToPublicBool

= IIF(Fields!OpenToPublic.Value,"Y","N")

値を表示するにこの式を設定cellします。また、計算フィールドを追加したい場合は、datasetそれも実行できますここを見てください. そして、そのフィールドに同じ式を設定します。

于 2015-01-22T05:46:57.437 に答える
0

一般に、(式を使用して) SSRS エンジンで計算を処理するよりも、SQL Server で計算を処理する (データセット内で実行する) 方が高速です。したがって、可能であれば、データセットに追加のフィールドを作成してください。

既存のデータセットを変更して、新しい列の lew 列ロジックを追加します。

SELECT CASE WHEN OpenToPublic = 1 THEN 'Y' ELSE 'N' END AS DisplayCol
FROM dbo.DriveMaster 

次に、のように列を表示するだけFields!OpenToPublic.Valueです。さらにフォーマットを追加して、値に基づいてセルの色を変更することもできます (たとえば、Y の場合は緑、そうでない場合は赤)。

繰り返しになりますが、絶対に必要な場合は式を選択してください (例: 書式設定、可視性など)。

より遅い方法は、式に行くことです。IIFとの両方Switchがあなたの仕事をすることができます。以下の式のいずれかが機能します。

=IIF(Fields!OpenToPublic.Value = 1, "Y", "N")

=Switch(Fields!OpenToPublic.Value, 1, "Y", Fields!OpenToPublic.Value, 0, "N")

于 2015-01-22T11:49:57.930 に答える