Гость
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / SSRS 2008R2 -какова последов., в которой обрабатываются dataset и tablix в отчете? / 3 сообщений из 3, страница 1 из 1
21.02.2013, 15:47
    #38160947
Andrews25
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSRS 2008R2 -какова последов., в которой обрабатываются dataset и tablix в отчете?
Добрый день!

У меня есть shared dataset ds1 (получается при вызове хранимой процедуры – proc1 с параметром Task_ID)
И есть другой dataset ds2 (Select * from TableForLookup WHERE Task_ID = @Task_ID – записи в TableForLookup рождаются в процессе работы процедуры proc1)

В моем rdl файле dataset ds1 естественно расположен ВЫШЕ по тексту, чем dataset ds2 - т.е. обрабатывается (должен обрабатываться) раньше, чем ds2

Tablix1 подключен к dataset ds1 и в нем сделана динамическая группировка (пользователь может выбрать по какому полю группировать (например, по полю field1), задав параметр отчета)
Dataset ds2 я использую для получения соответствующих значений – “лейблов” для поля группировки в header row группы Tablix1 – с помощью функции Lookup(Fields!field1.Value, Fields!ID.Value, Fields!Name.Value, “ds2”)

Вся проблема состоит в том, что когда мой отчет запускаетcя в ПЕРВЫЙ раз с определенным Task_ID и каким-нибудь полем для группировки (т.е. запускается хранимка на сервере и вставляются записи в таблицу TableForLookup),
Dataset ds2 оказывается пустым и я не вижу ничего в head row для группы.
Если я нажимаю кнопку Просмотр отчета еще раз – то с Lookup значениями уже все в порядке

Т.е. делаем вывод, что последовательность обработки отчета такова

1) Получение данных в dataset ds1
2) Группировка в tablix1
3) Получение данных в dataset ds2
Как надо исхитриться чтобы заставить RS “играть по моим правилам” – чтобы последовательность обработки была такова

1) Получение данных в dataset ds1
2) Получение данных в dataset ds2
3) Группировка в tablix1


Буду благодарна за подсказки
...
Рейтинг: 0 / 0
21.02.2013, 16:34
    #38161055
Andrews25
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSRS 2008R2 -какова последов., в которой обрабатываются dataset и tablix в отчете?
Вдогонку

1) Я, конечно, знаю про свойство Datasource "Use single transaction when processin the queries" - оно мне не поможет, потому что у меня SHARED dataset
2) возможно зависимость последовательности обработки dataset от места его определения в rdl файле выполняется ТОЛЬКО при включении этого (USE SINGLE TRANSACTION..) - но вопрос все равно остается (:
...
Рейтинг: 0 / 0
22.02.2013, 11:17
    #38161892
Andrews25
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSRS 2008R2 -какова последов., в которой обрабатываются dataset и tablix в отчете?
Опять про то же
ну да, к сожалению, "datasets are executed in parallel"
т.е. нужная мне последовательность действий
1) Получение данных в dataset ds1
2) После завершения получения данных в dataset ds1 - получение данных в dataset ds2

и все это БЕЗ включения флага USE SINGLE TRANSACTION

Кто-то предлагает ставить во второй dataset WAITFOR DELAY - но , IMHO, это опасное решение
...
Рейтинг: 0 / 0
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / SSRS 2008R2 -какова последов., в которой обрабатываются dataset и tablix в отчете? / 3 сообщений из 3, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]