Sql SSRS条件的不同计数,每组一次
假设我有类似的数据:Sql SSRS条件的不同计数,每组一次,sql,reporting-services,Sql,Reporting Services,假设我有类似的数据: |NAME |AMOUNT|RANDOM_FLAG| |------|------|-----------| |MARK | 100| X | |MARK | 400| | |MARK | 200| X | |AMY | 100| X | |AMY | 400| | |AMY | 300| | |ABE | 3
|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| |
如何使用至少一个随机_标志集获得名称的不同计数。在我的总计行中,我希望看到计数为2,因为Mark和Amy都设置了标志,无论选择了多少次。我尝试了SSRS中我能想到的每一件事。我猜有一种方法可以达到这个目的,但我想不出来。我确实有一个组的名称。您可以在SSRS中使用有条件的
COUNTDISTINCT
select count(name) from table_name where name in (select distinct name from table_name where random_flag="x");
=COUNTDISTINCT(
IIF( not ISNOTHING(Fields!Random_Flag.Value) and Fields!Random_Flag <> "",Fields!Name.Value,Nothing),
"DataSetName"
)
=COUNTDISTINCT(
IIF(不为空(字段!Random_Flag.Value)和字段!Random_Flag“”,字段!Name.Value,Nothing),
“数据集名称”
)
用数据集的名称替换
DataSetName
。您可以在SSRS中使用有条件的COUNTDISTINCT
=COUNTDISTINCT(
IIF( not ISNOTHING(Fields!Random_Flag.Value) and Fields!Random_Flag <> "",Fields!Name.Value,Nothing),
"DataSetName"
)
=COUNTDISTINCT(
IIF(不为空(字段!Random_Flag.Value)和字段!Random_Flag“”,字段!Name.Value,Nothing),
“数据集名称”
)
用数据集的名称替换
DataSetName
。谢谢,但我希望有一个SSRS解决方案。很明显,我的示例很简单,但真正的查询要比这个复杂得多,不能很好地与子查询配合使用。谢谢,但我希望有一个SSRS解决方案。显然,我的示例很简单,但真正的查询要比这个复杂得多,并且不能很好地与子查询配合使用。这很简单,也很有道理,但出于某种原因,我暗指我……这很有效。这很简单,也很有道理,但出于某种原因,他暗指我。。。