Получить количество строк таблицы за пределами таблицы в SSRS 2008

Я могу подсчитать строки в наборе данных, который потребляет таблица, но это не возвращает правильное значение, поскольку данные в таблице сгруппированы.

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

CountRows, очевидно, бесполезен, так как вы должны находиться в пределах таблицы, а я нет.

Любые идеи?


person adolf garlic    schedule 08.04.2010    source источник


Ответы (3)


Как насчет определения количества строк, которое у вас будет, следующим образом: [Количество строк заголовка] + CountRows("[DataSetName]") + CountDistinct(Fields![group1groupby].Value, "[DataSetName]") + CountDistinct(Fields ![group2groupby].Value, "[DataSetName]")... и т.д.?

person utexaspunk    schedule 08.04.2010
comment
CountDistinct: значение области не может быть выражением и должно ссылаться на текущую область или содержащую область. Я выхожу за рамки исходной таблицы. - person adolf garlic; 09.04.2010
comment
Я только что сделал это в текстовом поле над табликсом с именем table1 в одном из моих существующих отчетов, в котором было 4 строки в заголовке и 3 группы со строками заголовка ниже первых двух, и это дало мне правильное значение (название набора данных было JobCosts) : =4+(CountDistinct(Fields!Cost_Type.Value, JobCosts) * 2) + (CountDistinct(iif(Fields!Cost_Type.Value = Labor, Fields!Cost_Type.Value + CStr(Fields!Op.Value), Fields!Cost_Type) .Value + CStr(Fields!Op.Value) + + CStr(Fields!Seq.Value)), JobCosts) * 2) + CountRows(JobCosts) Вы пытаетесь сделать это в заголовке или что-то в этом роде? - person utexaspunk; 10.04.2010
comment
Нет, не в шапке, я еще раз посмотрю и отвечу вам. - person adolf garlic; 12.04.2010
comment
Я отмечаю это как ответ, но добавлю предостережение, что у меня никогда не было возможности полностью проверить это. - person adolf garlic; 18.11.2010

Добавьте в табликс скрытый столбец и в ячейке заголовка поместите выражение "=CountRows()". Нахождение в ячейке заголовка означает, что учитывается количество всех строк, а не групп. Затем вы можете ссылаться на ячейку заголовка (с именем вроде Textbox10) как на выражение в другом месте отчета как «=ReportItems!Textbox10.Value». Вы также можете добавить скрытую строку (не сгруппированную) в нижнюю часть табликса, а не столбец, что вам больше подходит. Сделайте это, щелкнув правой кнопкой мыши самую внешнюю группу и выбрав «Вставить строку» -> «Внешняя группа — ниже».

person Anthony K    schedule 20.11.2012
comment
Следует отметить, что скрытая ячейка должна находиться вне какой-либо группы (например, ячейки заголовка), в противном случае вы получите Выражения элемента отчета могут ссылаться только на другие элементы отчета в пределах той же области группировки или содержащей области группировки. . ошибка. - person Valentino Vranken; 28.05.2013

  1. Создайте один табликс, добавьте одну новую строку.
  2. В последней строке в любой ячейке напишите выражение вроде (= CountRows ("Tablix1")). Имя этой ячейки (Textbox20).
  3. Затем из Табликса вставьте одно текстовое поле (имя - Textbox50)
  4. Напишите выражение внутри текстового поля.. like(=ReportItems!Textbox20.value)
  5. Это просто работает нормально.
person Rajenthiran T    schedule 08.08.2017