You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求协助将Crystal Report表达式转换为等效SSRS公式

问题:Crystal Report公式转SSRS公式出错求助

我的Crystal Report公式运行完全正常,但目前使用的SSRS公式返回错误结果(前两项内容为空),无法排查问题原因,请求协助将以下Crystal Report表达式转换为等效的正确SSRS公式。

Crystal Report原公式

if IsNull({OrderDtl.XPartNum}) then {OrderDtl.PartNum}
else ( if IsNull({OrderHed.Calc_CustPartOpts}) then {OrderDtl.PartNum}
       else ( select {OrderHed.Calc_CustPartOpts}
                     case "M": {OrderDtl.XPartNum}
                     case "S": {OrderDtl.PartNum}
                     case "O": {OrderDtl.XPartNum}
                     case "N": {OrderDtl.PartNum}
                     default: {OrderDtl.PartNum}
            )
)

当前错误的SSRS公式

=iif(Fields!XPartNum.Value="", "", 
    iif(isnothing(Fields!Calc_CustPartOpts.Value), "", 
        (Switch(UCase(Fields!Calc_CustPartOpts.Value) = "M", Fields!PartNum.Value, 
                UCase(Fields!Calc_CustPartOpts.Value) = "S", Fields!XPartNum.Value,
                UCase(Fields!Calc_CustPartOpts.Value) = "O", "",
                UCase(Fields!Calc_CustPartOpts.Value) = "N", "",
                True, ""
                )
         )
        )
    )

正确的SSRS公式

=IIF(IsNothing(Fields!XPartNum.Value), Fields!PartNum.Value,
    IIF(IsNothing(Fields!Calc_CustPartOpts.Value), Fields!PartNum.Value,
        Switch(
            UCase(Fields!Calc_CustPartOpts.Value) = "M", Fields!XPartNum.Value,
            UCase(Fields!Calc_CustPartOpts.Value) = "S", Fields!PartNum.Value,
            UCase(Fields!Calc_CustPartOpts.Value) = "O", Fields!XPartNum.Value,
            UCase(Fields!Calc_CustPartOpts.Value) = "N", Fields!PartNum.Value,
            True, Fields!PartNum.Value
        )
    )
)

错误说明

  1. 原SSRS错误判断XPartNum为空时返回空值,而原逻辑是XPartNum为空时返回PartNum,且应该用IsNothing判断数据库NULL值,而非直接对比空字符串
  2. Calc_CustPartOpts为空时,原逻辑返回PartNum,但错误公式返回空值
  3. Switch分支的对应值完全颠倒,且错误返回空值,默认分支也未按原逻辑返回PartNum

内容的提问来源于stack exchange,提问作者Raymark

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 13:20:35