使用SSRS 2012和SQL Server 2008 R2,我尝试在计算字段上部分基于Tablix的行排序:
=Max(Assperiod_ID)
抛出的错误是我在计算字段中没有聚合,我可以看出它是有道理的。
因此,请注意,我查看了添加查询字段(数据集属性>字段>添加>查询字段),希望这可以让我进行聚合。
问题是,我找不到有关使用“添加查询字段”的信息或文档。选项。有人能告诉我:
a。)这是为了什么以及它是如何使用的; b。)是否可以用来计算总量?
非常感谢。
答案 0 :(得分:1)
查询字段似乎仅对重命名列有用。
计算字段用于计算数据集或其他计算中字段的字段。
我认为你想要的是
=Max(Assperiod_ID, "DataSet1")
但是,您不能在计算字段中使用聚合表达式。您可以使用此表达式代替使用计算字段的位置。
=IIF(FIELDS!Assperiod_ID.Value = Max(Assperiod_ID, "DataSet1"), TRUE, FALSE)
获得所需内容的另一种方法是创建 #TEMP 表并在SQL中添加 MAX :
SELECT *
INTO #TEMP_VALUES
FROM BLAH_BLAH (YOUR QUERY)...
SELECT *, (SELECT MAX(Assperiod_ID) FROM #TEMP_VALUES) AS MAX_Assperiod_ID
FROM #TEMP_VALUES