SSRSのCrystal Reportsから次の式を書き直すにはどうすればよいですか
select {spAR6100b_allcompanies;1.artyp}
case 'BCS','CIG','HUM','INA','INS','MNG','PHC','SEC','SPC','TRI','UHC','WMD' : 'Primary'
case 'COI','ICO','INP','MCO','COI' : 'Secondary'
default: ''
SSRSのCrystal Reportsから次の式を書き直すにはどうすればよいですか
select {spAR6100b_allcompanies;1.artyp}
case 'BCS','CIG','HUM','INA','INS','MNG','PHC','SEC','SPC','TRI','UHC','WMD' : 'Primary'
case 'COI','ICO','INP','MCO','COI' : 'Secondary'
default: ''
IN
通常、SSRS 式は比較にはあまり適していません。
いくつかのオプションがあります。
Switch
および一連のリンクされたOr
ステートメントを使用します。
=Switch(Fields!arTyp.Value = "BCS" or Fields!arTyp.Value = "BCS" or Fields!arTyp.Value = "HUM", "Primary"
, Fields!arTyp.Value = "COI" or Fields!arTyp.Value = "ICO", "Secondary"
, True, "")
私はあなたのケースのいくつかだけを含めましたが、すでに長いことがわかります.必要な数の値を追加する必要があります.
文字列の一致では、フィールド値が一致値の文字列に含まれているかどうかを確認することで、これを少し合理化できます。
=Switch(InStr(",BCS,CIG,HUM,", "," & Fields!arTyp.Value & ",") > 0, "Primary"
, InStr(",COI,ICO,INP,", "," & Fields!arTyp.Value & ",") > 0, "Secondary"
, True, "")
部分一致での誤検知を防ぐために、すべてをカンマで囲みます。再度、一致値の文字列リストに必要なすべての値を追加します。
最後に、この比較にカスタム コードを使用し、比較をレポートに埋め込まれた VB.NET タイプの関数に移動することができます。