1

我想使用 sql 报告服务创建一些图表。但是我无法将很多函数和运算符与我的数据字段结合使用

以下工作(笔画数据类型为十进制):

> =Fields!Stroke.Value
> =Sum(Fields!Stroke.Value)
> =First(Fields!Stroke.Value)
> =Last(Fields!Stroke.Value)
> =2+2394.12

以下不起作用:

> =Fields!Stroke.Value + 2
> =CStr(Fields!Stroke.Value)
> =CDbl(Fields!Stroke.Value)
> =Fields!Stroke.Value / Fields!Stroke.Value
> =Sum(Fields!Stroke.Value) * 2 

所有其他运算符和函数(使用 Fields!Stroke.Value)也不起作用

4

1 回答 1

0

我使用这个虚拟数据创建了一个带有直方图的报告:

SELECT        'Accountant' AS JOB_TITLE, CAST(20.23 AS Decimal(5, 2)) AS FEE UNION ALL
SELECT        'Secretary' AS JOB_TITLE, CAST(45.83 AS Decimal(5, 2)) AS FEE UNION ALL
SELECT        'Manager' AS JOB_TITLE, CAST(21.55 AS Decimal(5, 2)) AS FEE UNION ALL
SELECT        'Helpdesk' AS JOB_TITLE, CAST(17.99 AS Decimal(5, 2)) AS FEE UNION ALL
SELECT        'Technician' AS JOB_TITLE, CAST(13.31 AS Decimal(5, 2)) AS FEE

当您在 SSRS 中创建图表时,您至少应该在“类别组”部分中有一个字段。在这种情况下,我在那里使用了 JOB_TITLE 字段。

在图表数据的 SUM Values 部分中,您需要使用某种聚合或数字文字。

我能够在图表数据的 Sum Values 部分成功使用所有这些:

=Fields!FEE.Value + 2
=CStr(Fields!FEE.Value)
=CDbl(Fields!FEE.Value)
=Fields!FEE.Value/Fields!FEE.Value
=SUM(Fields!FEE.Value) * 2

我很惊讶这=CStr(Fields!FEE.Value)行得通,因为字符串没有比例,所以将它映射到轴是没有意义的,但它似乎隐含地应对它。使用它也没有任何意义,=Fields!FEE.Value/Fields!FEE.Value因为图表上的所有数据点都是 1,除非你的值是 0,在这种情况下它会出错。

我在这里验证了当查询的记录都是小数时,所有这些函数都可以工作。我怀疑您数据中的某些内容导致这些功能中断。在不知道您的数据是什么样子的情况下,我无法提供任何进一步的帮助。

于 2012-11-01T23:33:35.310 回答