基于最后一位数格式化

时间:2015-08-20 12:17:10

标签: sql-server reporting-services rdlc modulus reportbuilder

我使用Microsoft SQL Server报表生成器列出了一些表格中的生产数据,主要是部件号。我希望它能根据单元格中的数字更改部件号单元格的填充颜色。

以前我们一直在使用一个解决方案,使用mod10根据最后一位数对其进行着色。这将导致每十个部件号重复一次,但这很好。但是我们现在开始了一个新系列,这意味着我需要处理1-9号码。显然,mod10技巧在这里不起作用。是否有更聪明的方法来获取最后一个数字,这也适用于1-9的数字,或者我是否必须做出某种IIF语句?

她是我使用的代码的示例,但使用的是mod5,而不是mod10

=Choose(1+ Fields!cPri_runnr.Value.Value Mod 5,"DarkOliveGreen","Olive","LimeGreen","Yellow","Khaki")

1 个答案:

答案 0 :(得分:0)

此处有多个选项,如果Mod足够,您可以使用ChooseSwitch甚至IIF。在我看来,最好的解决方案是使用Custom Code来散列部件号(甚至从细节行中获取多个输入)并直接返回颜色。然后可以在报告的多个部分(图表颜色,其他单元格背景,甚至是单元格文本颜色)中轻松重复使用。