2012-02-29 47 views

回答

2

我还没有遇到任何这样的限制。他们以同样的方式被限制在SSRS所有VB的,但我只是在SSRS数据集创建了一个测试计算领域:(SSRS 2008 R2)

=IIF(Fields!Score.Value > 50, 100, SQRT(Fields!Score.Value)) 

没有问题。

但我通常会避免计算字段:对数据集进行更改时它们有时会丢失,SSRS决定刷新可用字段列表。

什么特别不适合你?

+0

没有一个开始的聚合函数 – 2012-02-29 19:38:12

+3

是的,这些字段是在检索行时加载和计算的,所以聚合在这一点上是没有意义的。否则,你可能会有类似fieldA' = MAX(Fields!FieldB.Value,“MyDataSet”)和fieldB' = MAX(Fields!FieldA.Value,“MyDataSet”)的循环。 – 2012-02-29 21:03:13

1

根据您的一些评论判断,我认为您不需要计算字段。我想你想制作一个组变量。在组属性中(如果您希望组中的整个数据集创建一个在'1'上分组的组),请使用所需的聚合表达式添加一个变量。然后,您可以在该组中的任何位置引用该变量(但BIDS通常会将该变量突出显示为无效,但忽略该警告)。引用组变量的语法是Variables!variable_name.Value