【问题标题】:SSRS 'Add Query' to datasetSSRS“添加查询”到数据集
【发布时间】:2016-07-04 04:06:25
【问题描述】:

使用 SSRS 2012 和 SQL Server 2008 R2,我尝试将 Tablix 的行排序部分基于计算字段:

=Max(Assperiod_ID)

抛出的错误是我无法在计算字段中进行聚合,我认为这是有道理的。

因此,考虑到这一点,我查看了添加查询字段(数据集属性 > 字段 > 添加 > 查询字段),希望这可能允许我进行聚合。

问题是,我找不到有关使用“添加查询字段”选项的信息或文档。谁能告诉我:

a.) 这是为了什么以及如何使用它; b.) 是否可以用来计算聚合?

非常感谢。

【问题讨论】:

  • 您用于生成数据集的查询是什么?

标签: sql-server reporting-services sql-server-2008-r2 dataset ssrs-2012


【解决方案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

MSDN - Dataset Properties Dialog Box, Fields

【讨论】:

    猜你喜欢
    • 2023-03-04
    • 1970-01-01
    • 1970-01-01
    • 2019-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多