找出 TOP 10 函数的总和

Posted

技术标签:

【中文标题】找出 TOP 10 函数的总和【英文标题】:Find out sum of TOP 10 function 【发布时间】:2016-03-24 16:33:48 【问题描述】:

您好,我正在尝试以矩阵格式呈现数据,并且我在表格级别使用 TOP N。以 Desc 顺序排列的表格数据,我想将前 10 个数字除以它们的小计,但它正在考虑整个数据集的总数。

使用公式 - =RunningValue(Fields!Total.Value,Sum,"DataSet3")/2439 我得到了视图,但如果我使用过滤器,它会给出错误的结果。

请建议我们可以使用什么来代替 2439,以便在使用过滤器后它将是一个自动化过程并使用前 10 名的总和。

【问题讨论】:

【参考方案1】:

s-s-rS 表中聚合的问题在于,它们作用于过滤和排序的数据集,而不是原始 SQL 数据集,具体取决于应用 s-s-rS 过滤器和排序的位置。一般来说,如果您想对数据的子集进行计算,在 SQL 数据集中有一个唯一值会很方便,您可以在该数据集上分组和运行 s-s-rS 聚合。

如果您尝试按 X 进行分组,您可以尝试使用 row_number() over (partition by [x] group by [y] desc),然后使用以下公式。在这个公式中,它会将数据分组为 @X 的任何组(例如,如果 @X 为 10,那么第一组 10 为 0,第二组为 1,第三组为 2,等)。

Floor((Row_Number() over (Order by [rowID]) - 1)/@X) as Row_Grouping

【讨论】:

以上是关于找出 TOP 10 函数的总和的主要内容,如果未能解决你的问题,请参考以下文章

轻松学会MySql分组函数

hive分组排序函数 分组取top10

oracle 分析函数3

递归求和函数,我如何限制总和?

选择日期范围内的分组值总和(窗口函数)

我想使用递归函数根据用户输入 N 计算前 N 个偶数的总和