我想在SSRS中的报表级别对我的列号进行排序而不是我的查询,因为我在查询级别对其他列进行了排序,并且在查询级别进行这两种排序都不能正常工作。目前我得到的排名如1,10,2,3,4,5,6而不是1,2,3,4,5,6 ... 10。 排序完成后,我还想在列名中添加“sales_”,以便查看sales_1,sales_2,sales_3等。我知道这可能非常简单,但我是SSRS的新手。提前致谢。
答案 0 :(得分:1)
您描述的排序(1,10,2,3,4)是字符串排序,您需要将该列上的数据类型转换为数字(在本例中为整数)类型,以便排序正确。
对此有两种解决方案,您可以将计算字段添加到记录集中,如果您需要多次使用此列,这可能会有所帮助,或者您可以只使用表达式进行排序顺序。
右键单击数据集并选择添加计算字段,将打开一个对话框,其中包含查询的所有列定义,您可以在此处添加自己的自定义字段。 对于自定义字段,您将需要一个表达式,这是最初的其他选项,所以让我们看一下该组件。
编辑Tablix或组的排序定义并选择要排序的字段,按照您希望值的数字排序方式,我们可以使用CInt函数将值转换为整数< / p>
注意:使用表达式转换数据类型时,如果您的数据可能无法转换,则可能需要在转换前验证该值,否则您的 报告执行将失败。错误消息非常有用,表达式对话框显示了可用函数,并为每个函数提供了使用示例。
对于第二个问题,在显示数据的字段中使用表达式来连接值,可以使用String.Format函数,也可以使用简单的字符串添加:
表达示例:
=&#34;销售_&#34; + Fields!ItemValue.Value
=&#34;销售_&#34; &安培;领域!ItemValue.Value
= String.Format(&#34; sales_ {0}&#34;,Fields!ItemValue.Value)
我希望这可以帮助您,欢迎来到SSRS!