2017-02-15 2 views
1

Скажем, у меня есть данные, подобные этим:SSRS Distinct Граф Состояние После того, как Per Group

|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, так как у Марка и Эми был установлен флаг, независимо от того, сколько раз он выбран. Я пробовал все, о чем я могу думать в SSRS. Я предполагаю, что есть способ вложить агрегаты, чтобы добраться до этого, но я не могу придумать это. У меня есть группа в NAME.

ответ

0

Вы можете использовать в SSRS условный COUNTDISTINCT.

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

Заменить DataSetName по имени набора данных.

Дайте мне знать, если это поможет.

+0

Это отлично работает. Это просто и имеет смысл, но почему-то намекает на меня ... – loganx80

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

Спасибо, но я надеялся на решение SSRS. Очевидно, что мой пример был прост, но истинный запрос намного сложнее, чем этот, и не будет работать с подзапросом. – loganx80

Смежные вопросы