2016-07-13 11 views
0

Я пытаюсь добавить столбец в tablix, который использует разные данные. Теперь dataset1 содержит новые данные и dataset2 содержит старые данные сравнения.SSRS LOOKUP с группировкой строк

табликса использует DataSet1 и строка в вопросе группируется по D_ID теперь я добавил колонку, которая должна переплетены с D_ID (DataSet1) до D_ID (dataset2)

=-1*sum(Lookup(Fields!D_ID.Value, Fields!D_ID.Value, Fields!BUD_OLD.Value, "OLD")+Lookup(Fields!D_ID.Value, Fields!D_ID.Value, Fields!ACK_BUD_OLD.Value, "OLD")) 

Как всегда это делает что мне нужны все строки из BUD_OLD с D_ID = smth, которые будут суммироваться вместе. Поиск возвращает только одно значение, а не сумму всех значений с помощью D_ID.

Пример

D_ID  SUM(BUD_NEW+ACK_BUD_NEW)   SUM(BUD_OLD+ACK_BUD_OLD)   
**100**   **75** (40+35)     **15**(SHOULD BE 15+20=35) 

Как я могу получить сумму?

Спасибо за любую помощь!

+0

Разделите образец обоих наборов данных, чтобы воссоздать ваш сценарий. –

+0

@ alejandrozuleta - c'mon Al, нам не нужны никакие данные. –

+0

@ HannoverFist, может быть, вы правы, но большинство пользователей не знают, что возможно с их данными, часто бывает, что вы предоставляете ответ на основе неопределенного описания данных, затем OP снова приходит к выводу, что он не работает поскольку данные не структурированы, как вы думали. –

ответ

0

LOOKUP получает только одно значение.

Вам необходимо будет использовать LOOKUPSET и специальную функцию для SUM Результаты.

К счастью, это было сделано раньше.

SSRS Groups, Aggregated Group after detailed ones

От BIDS:

LOOKUP: Использование просмотра для извлечения значения из указанного набора данных для пары имя-значение, где есть отношения 1-к-1. Например, для поля идентификатора в таблице вы можете использовать Lookup to получить соответствующее поле Name из набора данных, который не связан с областью данных.

LOOKUPSET: Использование LookupSet для извлечения набора значений из указанного набора данных для пары имя-значение, где есть отношения 1-ко-многим . Например, для идентификатора клиента в таблице может использовать LookupSet для извлечения всех связанных телефонных номеров для того клиента из набора данных, который не привязан к области данных.

0

Ваше выражение требует второй "сумму"

Попробуйте следующее:!

-1 * сумма (Lookup (Поля D_ID.Value, Поля D_ID.Value, Поля BUD_OLD.Value , «OLD») + SUM (Поиск по полям D_ID.Value, поля D_ID.Value, поля ACK_BUD_OLD.Value, «OLD»)

 Смежные вопросы

  • Нет связанных вопросов^_^