2016-06-07 4 views
1

Мне нужно объединить результаты нескольких подобных хранимых процедур в один табликс.Как создать выражение в отчете SSRS, аналогичном формуле Excel?

Я использую несколько хранимых процедур, которые возвращают одни и те же данные, но для разных единиц. Таким образом, в одной «клетке» (я не знаю, если это правильная терминология для поля данных в Tablix) У меня есть такое выражение, как так:

=IIF((Fields!Week.Value="WK1"),Fields!Price.Value,"") 

... который условно отображает данные, когда значение поля «Неделя» - «WK1», а хранимой процедурой для единицы измерения «BARNEY» является набор данных.

После этого (в той же строке в столбце справа в Таблице) мне нужно показать одни и те же данные из другой хранимой процедуры, в которой используется значение единицы измерения «RUBBLE». Мне нужно выражение для ссылки на существующее значение (ItemCode) в Tablix из первой хранимой процедуры, так что обе ячейки в строке отображают значения для одного ItemCode (но разных Units).

Этой клетка/поле является простым указателем на значение Артикула возвращается из хранимой процедуры:

=Fields!ItemCode.Value 

Как я могу использовать формулу для отображения данных для Артикула, что первоначальная хранимая процедура отображения данных для этой строки. Что-то вроде этого:

=IIF((Fields!Week.Value="WK1" AND Fields.ItemCode=[Existing Item Code value in this row]),Fields!Price.Value,"") 

?

IOW, что мне нужно вместо «значения существующего кода товара в этой строке», чтобы сделать эту работу? Это может быть примерно так:

=IIF((Fields!Week.Value="WK1" AND Fields.ItemCode=TextboxItemCodeData.Value),Fields!Price.Value,"") 

?

+1

Если я прав, вам необходимо присоединиться к обоим наборам данных в ItemCode. 'Lookup (Поля, ItemCodeFromDataSet1.Value, поля! ItemCodeFromDataSet2, поля! PriceFromDataset2," DataSet2 ")'. Предыдущее выражение даст вам цену из набора данных 2 для ItemCode в наборе данных 1, который равен itemcode в наборе данных 2. Подробный пример ваших наборов данных и ожидаемого tablix может быть полезен. –

ответ

2

Если основной набор данных для tablix, в котором вы работаете, это BARNEY, то это основное выражение поиска, с которого вы должны начать получать данные из набора данных RUBBLE.

=Lookup(Fields!ItemCode.Value, Fields!ItemCode.Value, Fields!Price.Value, "RUBBLE") 

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

Это выражение, которое может помочь вам скрыть или показать значение из вторичного набора данных.

=IIf(Lookup(Fields!ItemCode.Value, Fields!ItemCode.Value, Fields!Week.Value, "RUBBLE")="WK1", Lookup(Fields!ItemCode.Value, Fields!ItemCode.Value, Fields!Price.Value, "RUBBLE"), "") 

Первая часть IIf проверяет поле Неделя в наборе данных бутового. Если значение WK1, то оно отображает цену из набора данных RUBBLE; иначе ничего.

Это может сработать, если вам не нужно проверять значение недели в данных RUBBLE, и просто проверка в наборе данных BARNEY будет работать.

=IIf((Fields!Week.Value="WK1"),Lookup(Fields!ItemCode.Value, Fields!ItemCode.Value, Fields!Price.Value, "RUBBLE"),"") 
Смежные вопросы