2016-05-03 6 views
0

Я пытаюсь суммировать два одинаковых поля из двух разных таблиц. Оба фильтра Tablix для разных имен зданий. «Mydata» - это имя моего набора данных.ssrs Суммируя два поля одного и того же набора данных, разные tablix

=Sum(Fields!TotalFloorArea.Value,"Mydata") +Sum(Fields!TotalFloorArea.Value, "Mydata")

Как я ссылаться на другой Tablix?

Большое спасибо заранее.

ответ

1

Существует не один способ добиться этого. Один из подходов состоит в том, чтобы использовать IIf() как часть каждого вашего звонка SUM(). Используя условия (состояния) IIf(), вы будете повторять условие (условия), используемое для фильтрации двух элементов управления Tablix.

попробовать что-то вроде этого:

=Sum(IIf(Fields!BuildingName.Value = "BLDG-A", 
     Fields!TotalFloorArea.Value, 
     0), "Mydata") + 
Sum(IIf(Fields!BuildingName.Value = "BLDG-B", 
     Fields!TotalFloorArea.Value, 
     0), "Mydata") 

Я предпочитаю использовать переменные отчета для этого. Определите несколько переменного отчет totalBuildingA и totalBuidlingB и использовать выражение выше для выражения индивидуальных переменного:

totalBuildingA

=Sum(IIf(Fields!BuildingName.Value = "BLDG-A", 
     Fields!TotalFloorArea.Value, 
     0), "Mydata") 

totalBuildingB

=Sum(IIf(Fields!BuildingName.Value = "BLDG-B", 
     Fields!TotalFloorArea.Value, 
     0), "Mydata") 

Затем вы можете добавить два сообщайте переменные вместе, чтобы получить эквивалентный результат в качестве первого примера (но с кодом, который является al Ot более гибкость для объединения СУММ для двух или более других строительных имен и т.д.):

=Variables!totalBuildingA.Value + Variables!totalBuildingB.Value 
+0

Привет, Дэвид, Спасибо за ваш ответ! Чтобы добавить к моей проблеме. Первый Tablix-фильтр для 25 зданий, второй tablix фильтрует только 1 здание. Затем мне придется скопировать эту формулу для других полей. – Camille

+0

как я могу суммировать с несколькими условиями? – Camille

+0

В этом случае вам нужен альтернативный подход. Бьюсь об заклад, вы можете найти здесь сообщение, которое объясняет это. Короче говоря: вы добавляете строку итогов в каждый из ваших элементов управления Tablix и добавляете затем простые выражения 'SUM()' в соответствующий столбец для каждого Tablix.Затем тщательно назовите элементы управления текстовыми полями, которые содержат общее значение SUM() 'в каждом tablix: THEN вы можете ссылаться на значения этих текстовых полей для ваших« итоговых итогов ». В противном случае вы также можете скрыть общую строку. Тогда условные выражения выражаются только один раз, в ФИЛЬТРЕ каждого табликса. Посмотрите вокруг - вы найдете примеры, подобные этому. –

0

Я получил эту работу прямо сейчас. Я добавил строку за пределами группы ниже, а затем добавил Totals into Rows. Затем для общей суммы я ссылался на текстовые поля, например Reportitems! Textbox22 + Reportitems! Textbox23.

Я не уверен, что это имеет смысл. Но теперь работаем! Просто пытаюсь выработать окончательные формулы.

0

Ссылаясь на текстовые поля, вы можете запутаться. И нет прямого способа ссылаться на суммы из других групп или таблиц. Хорошим вариантом, который будет работать для этого, является добавление вычисленных полей в ваш набор данных. У вас может быть одно значение для 1 здания, а другое - для других 25 зданий. Выражение будет выглядеть примерно так:

=IIf(Fields!BuildingName.Value = "BLDG-A", Fields!TotalFloorArea.Value, Nothing) 

Таким образом вы можете суммировать эти вычисленные поля из любого места отчета. Вам не нужно указывать область в вашей функции Sum, пусть она использует текущую область для ячейки следующим образом:

=Sum(Fields!BldgA_TotalFloorArea.Value) 
Смежные вопросы