#reporting-services #ssrs-tablix #divide
Вопрос:
Я чувствую, что это должно быть легко, но я не могу этого понять.
[Просмотр результатов]
Это логически то, что, по моему мнению, должно сработать:
=(ReportItems("CustCounts2").value/ReportItems("RowTotal2").value)
Но RowTotal2 является внешней группой и не будет отображаться.
Комментарии:
1. Можете ли вы поделиться своими группами строк и столбцов (ниже главного окна дизайна). Также расширьте снимок экрана основного дизайна, чтобы мы могли видеть, где находятся ваши группы строк
Ответ №1:
Похоже, вы используете матрицу, так что это основано на том, как, по-моему, выглядят ваши данные..
Я использовал это для создания некоторых примеров данных
Я создал набор DataSet1
данных со следующим запросом к набору данных
DECLARE @t table(office varchar(10), EstimateStatus varchar(10), Counts int)
INSERT INTO @t VALUES
('Office A', 'Loss', 92),
('Office A', 'Win', 971),
('Office B', 'Loss', 50),
('Office B', 'Win', 500)
SELECT * FROM @t
Затем я добавил матрицу, добавил office в качестве группы строк и EstimateStatus в качестве группы столбцов и, наконец, посчитал данные. Затем я добавил итоговые значения как для групп строк, так и для групп столбцов.
Наконец, я удалил последний столбец, который был сгенерирован (так как это был столбец общего процента, которого у вас не было в вашем дизайне).
Я переименовал группу строк для ясности GrpOffice
, как вы можете видеть
Дизайн выглядит так
В столбце процент на уровне офиса я использовал следующее выражение
=SUM(Fields!Counts.Value)/SUM(Fields!Counts.Value, "GrpOffice")
Это означает, что вы получаете сумму подсчетов для этой строки (даже если их всего 1) и делите ее на сумму подсчетов для всей группы "GrpOffice"
. Обратите внимание, что это имя должно быть заключено в кавычки и учитываться регистр.
Для общей строки я использовал аналогичное выражение..
=Sum(Fields!Counts.Value) / Sum(Fields!Counts.Value, "DataSet1")
Это считывает, получает сумму подсчетов в текущей области (в данном случае общая группа столбцов) и делит на сумму подсчетов для всего набора данных, называемого "DataSet1"
С форматом p2
в этих ячейках, чтобы привести его в порядок, мы получим следующий результат.
Комментарии:
1. Спасибо! Я бы никогда не предположил, что вам нужно включить фактическое имя группы строк.
2. Без проблем. Это стоит прочитать, как только вы поймете области применения, жизнь станет немного проще. Вы не тратите время на попытки, которые никогда не сработают, и часто находите пути решения проблем, которые кажутся гораздо более сложными. Это немного многословно, но примерно в середине страницы приведены примеры, которые объясняют некоторые вещи.. docs.microsoft.com/en-us/sql/reporting-services/report-design/…
3. Я делаю много отчетов SSRS, так что это очень полезно. Еще раз спасибо, Алан.