|
SSRS. Как получить следуюшую запись в датасете.
|
|||
---|---|---|---|
#18+
Реализовать это в процедуре или SQL запросе возможности нет. Нужно использовать инструментарий SSRS. Есть ли возможность в коде отчета "пройтись" по датасету и выбрать следующую запись ? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2014, 14:24 |
|
SSRS. Как получить следуюшую запись в датасете.
|
|||
---|---|---|---|
#18+
_human, Гипотетически? Пожалуй... Непонятно только, что же является признаком следующей записи... Варианты 1. Lookup, LookupSet, MultyLookup 2. Через опу и кастом код... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2014, 14:49 |
|
SSRS. Как получить следуюшую запись в датасете.
|
|||
---|---|---|---|
#18+
buser, Допустим, что сортировка указана SQL коде. Возможно, SSRS хранит и отображает данные из датасета не меняя сортировку, если это не сделано явно, например в табликсе или группах и т.п. Пробовал добавить вычисляемое поле в датасет в котором есть поле что указывает порядок 1,2,3 ... Пишет ошибки ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2014, 15:03 |
|
SSRS. Как получить следуюшую запись в датасете.
|
|||
---|---|---|---|
#18+
В датасет не получится... придется в самом тельце отчета это делать. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2014, 15:13 |
|
SSRS. Как получить следуюшую запись в датасете.
|
|||
---|---|---|---|
#18+
buser, Ок, а если нет поля с идентификатором, а просто набор текстовых данных в полях. Ф-ия RowNumber() и как-то нумерует, но LookUp требует в качестве параметров поля датасета, а не выражения. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2014, 15:35 |
|
SSRS. Как получить следуюшую запись в датасете.
|
|||
---|---|---|---|
#18+
Добавляем CustomCode: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Добавляем вычисляемое поле FakeID: Код: vbnet 1.
В отчете используем LookUp: Код: vbnet 1.
P.S.: так лучше не делать... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2014, 16:10 |
|
SSRS. Как получить следуюшую запись в датасете.
|
|||
---|---|---|---|
#18+
buser, Работает. Спасибо. buserP.S.: так лучше не делать... Будет тормозить на большом обьеме данных ? Или SSRS и так глючный, не нужно его доламывать ? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2014, 16:42 |
|
SSRS. Как получить следуюшую запись в датасете.
|
|||
---|---|---|---|
#18+
_humanБудет тормозить на большом обьеме данных ? Будет... _humanИли SSRS и так глючный, не нужно его доламывать ? :) он не глючный, он местами убог, но только местами... Кормите его хорошо препарированными данными... используйте как можно меньше кастом кода... да и выражений... не забывайте, что это таки голимый asp.net а страницы это просто html, не мучайте его излишним форматированием, графики - вообще "тормоз коммунизма"... и будет вам счастье... Неплохая книжка Microsoft SQL Server 2008 R2 Unleashed ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2014, 22:04 |
|
SSRS. Как получить следуюшую запись в датасете.
|
|||
---|---|---|---|
#18+
buser, глюки тоже есть... В прошлом году штук пять точно насчитал, но постоянные отвлекаловки и загруз на работе помешали список составить. Пока назову парочку. 1. Это стандартная ситуация, когда хранимка, запущенная откуда угодно, выполняется 2 сек, а Reporting её за полчаса не может отработать. Никаких сложных группировок нет, никого кастомного кода, вычисляемых полей, матрицы, подотчетов и т.д. Причем возникает, когда ни на какой из серверов нет нагрузок, профайлер блокировки не показывает. Просто генерится вечно и всё. У нас таких два отчета, лекарство для всех работает 100%. - в тексте хранимки оставляем только одну команду типа set nocount on, остальной текст комментируем - запускаем отчет, чтобы отработала эта хранимка - снимаем комментарии и запускаем хранимку на обычное выполнение - запускаем отчет и через 2 сек. он удачно выводится на экран, экономисты счастливы Замечено, что если просто удалить хранимку, а потом воссоздать, то не помогает. Надо именно, чтобы отчет отработал set nocount on Возможно есть другое решение, но это - очень быстрое и не разу не подводило. 2. Глюк в IIF , если хотим обойти деление на ноль. Очевидное решение не работает. Код: vbnet 1.
В гугле нашел решение, оно работает Код: vbnet 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2014, 22:48 |
|
SSRS. Как получить следуюшую запись в датасете.
|
|||
---|---|---|---|
#18+
_user89, 1. по поводу iif это специфика его работы - всегда вычисляются обе части true и false (документировано - да, но не очевидно) 2. второе - тоже просто... и к ssrs не имеет отношения... это либо различие в параметрах соединения (set опции - скорее всего set arithabort) решается переписыванием процедуры, либо не оптимальный план для переданных параметров - решается либо через OPTIMIZE FOR, RECOMPILE или еще парой нехитрых трюков (googl'ится по словам parameter sniffing, либо поиском по sql.ru :) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2014, 23:27 |
|
|
start [/forum/topic.php?fid=31&tid=1533499]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
30ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 138ms |
0 / 0 |