繁体   English   中英

SSRS表达式-从数据集中查询,带有组

[英]SSRS expression - query from dataset, with group

假设对于每个学生,我都有一份考试笔记,并且我需要计算每个问题,每组问题和总考试(每个学生)的百分等级 ...。

针对每个问题,一组问题和全部考试,按照我需要的方式进行:
1)x =分数(我当然有)
2)x分数以上的计数
3)分数等于x
4)计分总数

这样做,看来我需要在T-SQL查询中使用子选择。 计算大数据集中的所有内容并使用它。

有没有办法让SSRS做到这一点

我发现了有关SSRS中的百分位功能的有趣文章,我将尝试一下。

https://www.katieandemil.com/ssrs-percentile-function-2008-r2-calculation-custom-code-example?tab=article

我必须创建另一个函数来返回排名,但主要思想是:

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM