Как использовать сумму значение 2 итога в другой таблице (службы отчетов)? - PullRequest
2 голосов
/ 03 июня 2010

В дизайне отчетов у меня есть 2 таблицы (текущая и предлагаемая), структура которых выглядит следующим образом:

Текущее

Parameter | Value | Rate | Total

Value ...

Предлагаемый

Parameter | Value | Rate | Total

Value ...

В каждой нижней части таблицы (Нижний колонтитул таблицы) у меня есть что-то под названием: «Итого:», которое является суммой общего поля. Я назвал эти текстовые поля txtbxCurrent и txtbxProposed, и формат уже в валюте.

Эта штука работает хорошо.

Но теперь мне нужно получить в общей сложности эти txtbxCurrent и txtbxProposed. Как мне это сделать? Могу ли я принять значение этого или нет?

Кстати ... Я использую MS SQL Server 2005 (ReportViewer - клиент)

Также здесь мой ОДИНОЧНЫЙ набор данных выглядит так:

RecID | ReportView | Type | Parameter | Value | Rate | Total
1, 'Detail', CURRENT, 'Param1', 100, 0.1, 10
1, 'Detail', CURRENT, 'Param2', 200, 0.2, 10
1, 'Detail', PROPOSED, 'Param1', 100, 0.2, 20
1, 'Detail', PROPOSED, 'Param2', 200, 0.2, 20

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

Спасибо

Ответы [ 4 ]

2 голосов
/ 03 июня 2010

Не могли бы вы создать новую таблицу, в которой есть только итоги для третьей таблицы?

например:

Таблица 1 Таблица 2 Таблица 3 (имеет только Таблицу 1 + Таблица 2)

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

1 голос
/ 07 декабря 2012

Если вы хотите рассчитать общее количество строк из двух или более разных таблиц, используйте это выражение: = Sum (1, «DataSet1») + Sum (1, «DataSet2») Используя 1, вы просто суммируете 1-е вместо фактических значений поля, что дает вам количество строк.

1 голос
/ 07 июня 2010

Если вы используете один набор данных для обеих таблиц, как вы ограничиваете каждую из них текущими и предлагаемыми значениями соответственно?

Если у вас есть фильтр на уровне таблицы в каждой таблице, самый простой подход может состоять в том, чтобы добавить третью таблицу без фильтра на уровне таблицы, содержащую только строку нижнего колонтитула таблицы, содержащую только

Sum(Fields!Total.Value)

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

1 голос
/ 03 июня 2010

Почему вы не используете функцию sum? Вы можете использовать функцию sum для каждого набора данных и добавить эти значения в новое текстовое поле.

РЕДАКТИРОВАТЬ:

если txtbxCurrent = Sum(Fields!Total.Value, "CurrentDS") и txtbxProposed = Sum(Fields!Total.Value, "ProposedDS")

тогда вы можете использовать это:

Sum(Fields!Total.Value, "CurrentDS") + Sum(Fields!Total.Value, "ProposedDS")
...