【发布时间】:2015-07-08 23:22:04
【问题描述】:
我面临两方面的挑战。我被要求替换矩阵中的 3 列,该矩阵在行组中的名称上聚合。这 3 列在 Column 组之外。
挑战 1 - 矩阵想要汇总数据窗格。似乎没有办法显示原始数据(然后隐藏它,以便在运行时这些行填充数组)。
挑战 2 - 我需要按名称计算中位数。这意味着,在运行时,我需要一次为每个名称计算一个中值,重置数组,然后重新开始下一个名称值,或者,我需要一个多维数组,其中每个序数本身就是一个对应的数组一个名字。
我也是 VB 的一个总代码猴子。
这是我目前从在线帖子中借来的关于在 SSRS 中计算中位数的内容。
Dim values As System.Collections.ArrayList
Function AddValue(ByVal newValue As Decimal)
If (values Is Nothing) Then
values = New System.Collections.ArrayList()
End If
values.Add(newValue)
End Function
Function GetMedian() As Decimal
Dim count As Integer = values.Count
If (count > 0) Then
values.Sort()
GetMedian = values(count / 2)
End If
End Function
【问题讨论】:
-
SQL Server 2012。我的意思是...我可以将它放入 SQL 中的循环中,但是...我真的不喜欢 RBAR,它会给查询增加很多开销。最终可能不得不这样做,因为当你只有一把锤子时,一切看起来都像钉子。
-
在tsql中
PERCENTILE_CONT函数为中位数msdn.microsoft.com/en-us/library/hh231473(v=sql.110).aspx -
是的,看起来这行得通!感谢内置 SQL 函数!
标签: vba reporting-services jagged-arrays