用报表生成器中的特定文本替换不同的值

Replace different values with specific text in report builder

我有一个 table 可以 return 一个数字,我需要将它转换成文本标签

20 = 已输入,30 = 已返回,200 = 已取消,220 = 完成,300 = 已删除

我希望这些在我的报告中简单地显示为 'Complete' 等

我能够使用替换函数获取一个值以在报告中正确显示:

=Replace(Fields!status.Value,"220","Complete")

但我不知道如何为将显示在此列中的每个可能的数字执行此操作

这不是最有效的方法,但可以快速解决:

=替换(替换(替换(替换(替换(字段!status.Value,“220”,"Complete"),“200”,"Cancelled"),“300”, "Deleted"),"20","Entered"),"30","Returned")

更好的方法是修改数据集查询以用 CASE 语句替换数字。请参阅此文档:

https://docs.microsoft.com/en-us/sql/t-sql/language-elements/case-transact-sql

最好的方法可能是如前所述使用 CASE 语句修改查询,如果您能够这样做的话。但如果没有,嵌套替换的更简洁的替代方法是简单地使用 Switch 语句:

=Switch(
    Fields!Status.Value = "20", "Entered",
    Fields!Status.Value = "30", "Returned",
    Fields!Status.Value = "200", "Cancelled",
    Fields!Status.Value = "220", "Complete",
    Fields!Status.Value = "300", "Deleted"
)