Replace different values with specific text in report builder

孤人 提交于 2019-12-25 11:56:47

问题


I have a table that will return a number and i need to convert it into a text label

20 = Entered, 30 = Returned, 200 = Cancelled, 220 = Complete, 300 = Deleted

I want these to show in my report as simply 'Complete' etc.

Im able to use the replace function to get one value to show correctly in the report:

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

But i cant work out how to do this for each possible number that will show in this column


回答1:


Best way would likely be modifying the query with a CASE statement as mentioned, if you are able to do that. But if not, a cleaner alternative to the nested Replaces would be to simply use a Switch statement:

=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"
)



回答2:


This is not the most efficient way to do this, but it's a quick fix:

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

A better way would be to modify your DataSet query to replace the numbers with a CASE statement. See this documentation:

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



来源:https://stackoverflow.com/questions/46607917/replace-different-values-with-specific-text-in-report-builder

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!