gpt4 book ai didi

sql-server - 在SSRS矩阵报告中获取前20行,其余的排在第21行

转载 作者:行者123 更新时间:2023-12-03 16:44:23 25 4
gpt4 key购买 nike

我希望从SSRS矩阵报告中获取前20行,其余行应聚合在第21行中,并将行名称硬编码为“其他”。

我用基于“ Category_Name”的行分组和基于“ Creation_Time”的列分组创建了SSRS矩阵报告。列组“ Creation_Time”的格式设置为以“ M / yyyy”格式显示日期。我正在将“ Id_Number”作为每个分组的Count(Id_Number)进行汇总,并且我希望按count(Id_Number)从高到低或降序对前20条记录进行排序。

我已经设置了可见性条件,如图所示:



对于“其他”行,我给出了以下表达式

=count(iif(RunningValue(Fields!Category_Name.Value,countdistinct,nothing)>20,Fields!Id_Number.Value,0)


但这没有用。我收到错误消息:“无法将运行函数指定为嵌套聚合”。

我之前曾尝试对基于count(Id_Number)的SSRS行分组使用TOP N过滤器,它给出前20行。但是,如果将“ group total”添加到行分组中,它将给出所有行的总数,而不仅仅是行前20行。我想到的逻辑是从所有行的总数中减去前20行的总数。但是我无法获得前20行的总数。

我使用带有2个参数@Begin AND @End的基本sql查询:

 SELECT Category_Name, Id_Number, Creation_Date
FROM Tbl
WHERE Creation_Date BETWEEN @Begin AND @End


该报告的期望输出是这样的:



除了最后一行“其他”以外,我正在根据所需的输出获取所有内容。

最佳答案

修改您的sql select脚本以包括以下内容:
当ROW_NUMBER()超过(按SUM(Id_Number)DESC排序)> 20,然后是“前20个”,否则是“ Others”,以“ Type”结尾

然后在您的报告中添加另一个单独的Tablix,并通过“ type” =“ others”过滤

关于sql-server - 在SSRS矩阵报告中获取前20行,其余的排在第21行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42068876/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com