SSRS不同的条件计数每组一次

时间:2017-02-15 16:27:41

标签: sql reporting-services

假设我的数据与此类似:

|NAME  |AMOUNT|RANDOM_FLAG|
|------|------|-----------|
|MARK  |   100|       X   |
|MARK  |   400|           | 
|MARK  |   200|       X   | 
|AMY   |   100|       X   |
|AMY   |   400|           | 
|AMY   |   300|           |
|ABE   |   300|           |
|ABE   |   900|           |
|ABE   |   700|           |

如何设置至少一个RANDOM_FLAG的名称的独特计数。在我的总行中,我希望看到计数为2,因为Mark和Amy都设置了标志,无论选择了多少次。我在SSRS中尝试了所有我能想到的东西。我猜有一种方法来嵌套聚合来达到这个目的,但我无法想出它。我在NAME上有一个小组。

2 个答案:

答案 0 :(得分:0)

 select count(name) from table_name where name in (select distinct name from table_name where random_flag="x");

答案 1 :(得分:0)

您可以在SSRS中使用条件COUNTDISTINCT

=COUNTDISTINCT(
  IIF( not ISNOTHING(Fields!Random_Flag.Value) and Fields!Random_Flag <> "",Fields!Name.Value,Nothing),
  "DataSetName"
)

DataSetName替换为数据集的名称。

如果有帮助,请告诉我。