【发布时间】:2013-08-28 19:25:09
【问题描述】:
我有一些 SQL,其中有问题的部分是:
sum(Minutes)/60.0 Hrs
在 SQL Server Management Studio 中,我的数据库返回:
14.500000
在 SSRS 中,我的报告显示:
14.00
显示此值的我的 RDL 单元格具有以下定义:
=Fields!Hrs.Value
单元格的文本框属性已定义为数字,未选中复选框,2 个小数点。
所以,问题是,为什么我的报告只输出 14.00 而不是 14.50,我该如何解决?
编辑:可能值得一提的是,单元格数据奇怪地左对齐,尽管没有告诉它对齐。
【问题讨论】:
-
该特定字段的 RDL 文件中的数据集定义是什么样的?我将快速测试与您的查询(即
avg(field)/60.0,基于int类型字段)一起进行了快速测试,并且舍入很好-在RDL中,数据集中的相关元素是<rd:TypeName>System.Decimal</rd:TypeName>,这就是您会期待的。 -
我在 .rdl 中看到的唯一“rd”是
。该字段的数据集定义为“ ”ActualHrs true -
测试 1 仔细检查数据库链接以验证 SSMS 和您的报告是否指向同一个数据库。 测试 2 检查报告数据集中的数据(不是 SSMS 中的数据)并检查它是否显示 14 或 14.5。
-
可能是远射,但您的数据集字段
Hrs指向数据库字段ActualHrs,而不是Hrs,因为问题的其余部分表明...这是正确的字段吗? -
Anup-> 我将我的数据集复制到另一个数据集中,并将相关列的值输出到报告中的新表中。它正确显示 14.5。
标签: sql sql-server reporting-services rdl