Количество определенных десятичных значений в столбце в таблице SSRS - PullRequest
0 голосов
/ 13 декабря 2018

Я пытаюсь получить сумму людей определенного возраста.AgeInYears - это десятичное число.

Я попробовал сумму и каждый раз получаю 0

=SUM(IIF( Fields!AgeInYears.Value = 15, 1, 0 ) )

Если я посчитаю счет, я получу 68, что все еще неверно

=Count(IIF( Fields!AgeInYears.Value = 15, 1, 0 ) )

Я не уверен, правильно ли я сравниваю с десятичной дробью.Когда я использую свой запрос в SQL, а затем использую сводную таблицу для данных, я могу найти ответ как 47 (я гораздо лучше с Excel, чем с SSRS).Но в SSRS я могу получить только значение 0 или 68.

EDIT Я сам рассчитываю AgeInYears в своем запросе через

cast(cast(datediff(month, invl.ChildDateOfBirth, fp.enddate) as decimal) / 12 as decimal) as AgeInYears

Может ли это быть связано?

1 Ответ

0 голосов
/ 13 декабря 2018

Мне не удалось решить какую-либо проблему, которую SSRS выдавал мне при попытке подсчитать возраст.

Вместо этого я обновил свой запрос до

Select
    cast(cast(datediff(month, invl.ChildDateOfBirth, fp.enddate) as decimal) / 12 as decimal) as AgeInYears
From Table
Where
    cast(cast(datediff(month, invl.ChildDateOfBirth, fp.enddate) as decimal) / 12 as decimal) > 13 
and 
    cast(cast(datediff(month, invl.ChildDateOfBirth, fp.enddate) as decimal) / 12 as decimal) as AgeInYears < 19

Это обеспечивает только мои данныесодержит возрасты, которые я хочу (между 14-18. Затем в таблице SSRS я создал группу строк над AgeInYears и выполнил простое

=Count(Fields!AgeInYears.Value)

в текстовом поле, чтобы получить правильное число для каждого возраста.

...