[英]SSRS expression - query from dataset, with group
假设对于每个学生,我都有一份考试笔记,并且我需要计算每个问题,每组问题和总考试(每个学生)的百分等级 ...。
针对每个问题,一组问题和全部考试,按照我需要的方式进行:
1)x =分数(我当然有)
2)x分数以上的计数
3)分数等于x
4)计分总数
这样做,看来我需要在T-SQL查询中使用子选择。 计算大数据集中的所有内容并使用它。
有没有办法让SSRS做到这一点 ?
我发现了有关SSRS中的百分位功能的有趣文章,我将尝试一下。
我必须创建另一个函数来返回排名,但主要思想是:
Public Shared Dim values As System.Collections.ArrayList
Public Shared Function AddValue(ByVal newValue As Decimal) As Decimal
If (values Is Nothing) Then
values = New System.Collections.ArrayList()
End If
values.Add(newValue)
AddValue = values.Count
End Function
Public Shared Function GetRankPercentile(ByVal CurrentValue As Decimal) As Decimal
Dim countTotal As Integer = values.Count 'nombre total de données
Dim countGreater As Integer = 0
Dim countEqual As Integer = 0
Dim iLoop As Integer
Dim tmpArray as system.array
tmpArray = values.ToArray()
For iLoop = LBound(tmpArray) To UBound(tmpArray)
If tmpArray(iLoop) CurrentValue Then countGreater = countGreater + 1
If tmpArray(iLoop) = CurrentValue Then countEqual = countEqual + 1
Next
GetRankPercentile = Math.Ceiling((countGreater + (countEqual / 2)) / countTotal * 5)
End Function
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.