SSRS报告 - 计算组行数

时间:2017-05-31 00:48:30

标签: ssrs-tablix

我正在尝试计算报告中的组数我知道我可以在SQL中执行此操作但是如果可以的话,我会尽量避免将冗余数据添加到我的数据集中。

我有一个MainDataSet,每个不同的组项可以有多个条目。我只想要的是不。组不是组内项目的数量。

例如以字母开头的单词,假设我只有2组A和B(注意:当我根据用户参数选择过滤MainDataSet时,组的数量可以动态改变):

Group | Data
------|-----
    A | Apple
    A | Ant
    B | Balloon
    B | Book
    B | Bowl

最终结果:

Group | Index | NGroups
    A |   1   | 2
    B |   2   | 2

我知道我可以使用聚合函数获取索引,如下所示:

RunningValue(Fields!Group.Value, CountDistinct, "TablixName")

但我如何获得NGroups的价值呢? 我想我也可以基于MainDataSet创建另一个数据集(使用sql函数)并执行:

SELECT 'X' AS GroupCount, COUNT(Distinct Group) AS NGroups
FROM dbo.udf_MainDataSet() 
WHERE FieldX = @Parameter1

然后使用LookUp:

Lookup("X", Fields!GroupCount.Value, Fields!NGroups.Value, "NewDataSet")

但是有一个我没有看到的简单解决方案吗?

1 个答案:

答案 0 :(得分:0)

CountDistinct(Fields!Group.Value," TablixName")