powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / срочно >> Reporting Service: Каждому пользователю свои дынные
15 сообщений из 15, страница 1 из 1
срочно >> Reporting Service: Каждому пользователю свои дынные
    #34369535
Доброго времени суток всем.

Задача:
Нужно предоставить пользователю возможность просматривать отчеты посредством Reporting Service на основании "индивидуальных данных". Что это значит. В базе имеются таблицы с данными и в некоторых из них существуют данные, которые различны для каждого пользователя (в этих таблицах существует поле userID)

Проблема:
Когда я нахожусь в своем приложении (ASP.NET) то я знаю с каким пользователем я имею дело, но как только я отдаю управления построителю отчетов Reporting Service (через url), то эта информация теряется. Как мне сделать так, чтобы Reoirting Service строил отчеты на основании данных с учетом текущего пользователя?


Зарание спасибо.
...
Рейтинг: 0 / 0
срочно >> Reporting Service: Каждому пользователю свои дынные
    #34369589
AAron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вопрос не совсем в этот форум, имхо.
используется Windows-аутентификация? Если да, то надо разобраться, почему теряется пользователь при передаче запроса отчету. Если какая-то собственная, зависит от реализации. Опять же, скорее всего в форум по отчетным системам
...
Рейтинг: 0 / 0
срочно >> Reporting Service: Каждому пользователю свои дынные
    #34369598
Фотография Александр Волок (def1983)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создайте Report parameter , например, @userName , установите для него свойство Hidden и в Default values укажите
Код: plaintext
=User!UserID

Затем, формируйте датасет на основании параметра @userName:
Код: plaintext
select field1, field2 from parameters where userID = @userName...
...
Рейтинг: 0 / 0
срочно >> Reporting Service: Каждому пользователю свои дынные
    #34369855
def1983Создайте Report parameter , например, @userName , установите для него свойство Hidden и в Default values укажите
Код: plaintext
=User!UserID

Затем, формируйте датасет на основании параметра @userName:
Код: plaintext
select field1, field2 from parameters where userID = @userName...


Спасибо за открытие для меня свойства User!UserID, а есть ли что нить еще из этого?
Но вот небольшое НО. Это проперти выдает пользователя Windows, а мне этого не надо, у меня внутри системы свои пользователи и мне нужно, чтобы Reporting Service знал именно его. Или как то нужно обойти эту ситуацию, но как?
...
Рейтинг: 0 / 0
срочно >> Reporting Service: Каждому пользователю свои дынные
    #34369920
Фотография Александр Волок (def1983)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда, как вариант (не совсем безопасный) передавайте @userid как часть URL
Например:

Код: plaintext
http://server/reportserver?/Sales/Northwest/Employee Sales Report&rs:Command=Render& userid=1234 

Подробно описано в BOL2005->Passing a Report Parameter Within a URL.
...
Рейтинг: 0 / 0
срочно >> Reporting Service: Каждому пользователю свои дынные
    #34369980
def1983Тогда, как вариант (не совсем безопасный) передавайте @userid как часть URL
Например:

Код: plaintext
http://server/reportserver?/Sales/Northwest/Employee Sales Report&rs:Command=Render& userid=1234 

Подробно описано в BOL2005->Passing a Report Parameter Within a URL.

Да, по это я раскопал, но это мне (после обдумывания) все же немного не подходит

Причина:
У меня есть хранимые процедуры которые принимают 2 параметра, один из которых это userID, Чтобы заставить Reporting Service работать с результатами выполнения этих хранимых процедур (точнее функций), я не чего не нашел, кроме как написать вьюшку, в которою запихать все возможные варианты, тоесть:
open cursor
fetch next from cursor into @userID;
while
begin ...
select @userID, * from my_function(@p1,@userID)
fetch next from cursor into @userID;
end
close cursor

и соответственно уже в репортинг сервисе накладывать фильтр на userID.

НО ЭТО ОЧЕНЬ ТРУДОЕМКО ПОЛУЧАЕТСЯ, так как мне нужно это сделать для обоих параметров, тоесть m*n селектов.

Подскажите, как это можно поэлегантнее???
...
Рейтинг: 0 / 0
срочно >> Reporting Service: Каждому пользователю свои дынные
    #34370446
Я работаю через Data Model
...
Рейтинг: 0 / 0
срочно >> Reporting Service: Каждому пользователю свои дынные
    #34370822
Фотография Александр Волок (def1983)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksander V. Kalinin def1983Тогда, как вариант (не совсем безопасный) передавайте @userid как часть URL
Например:

Код: plaintext
http://server/reportserver?/Sales/Northwest/Employee Sales Report&rs:Command=Render& userid=1234 

Подробно описано в BOL2005->Passing a Report Parameter Within a URL.

Да, по это я раскопал, но это мне (после обдумывания) все же немного не подходит

Причина:
У меня есть хранимые процедуры которые принимают 2 параметра, один из которых это userID, Чтобы заставить Reporting Service работать с результатами выполнения этих хранимых процедур (точнее функций), я не чего не нашел, кроме как написать вьюшку, в которою запихать все возможные варианты, тоесть:
open cursor
fetch next from cursor into @userID;
while
begin ...
select @userID, * from my_function(@p1,@userID)
fetch next from cursor into @userID;
end
close cursor

и соответственно уже в репортинг сервисе накладывать фильтр на userID.

НО ЭТО ОЧЕНЬ ТРУДОЕМКО ПОЛУЧАЕТСЯ, так как мне нужно это сделать для обоих параметров, тоесть m*n селектов.

Подскажите, как это можно поэлегантнее???

Но Вы же получаете отчет через вебсервис (http://server/reportserver...)?
...
Рейтинг: 0 / 0
срочно >> Reporting Service: Каждому пользователю свои дынные
    #34372605
def1983 Aleksander V. Kalinin def1983Тогда, как вариант (не совсем безопасный) передавайте @userid как часть URL
Например:

Код: plaintext
http://server/reportserver?/Sales/Northwest/Employee Sales Report&rs:Command=Render& userid=1234 

Подробно описано в BOL2005->Passing a Report Parameter Within a URL.

Да, по это я раскопал, но это мне (после обдумывания) все же немного не подходит

Причина:
У меня есть хранимые процедуры которые принимают 2 параметра, один из которых это userID, Чтобы заставить Reporting Service работать с результатами выполнения этих хранимых процедур (точнее функций), я не чего не нашел, кроме как написать вьюшку, в которою запихать все возможные варианты, тоесть:
open cursor
fetch next from cursor into @userID;
while
begin ...
select @userID, * from my_function(@p1,@userID)
fetch next from cursor into @userID;
end
close cursor

и соответственно уже в репортинг сервисе накладывать фильтр на userID.

НО ЭТО ОЧЕНЬ ТРУДОЕМКО ПОЛУЧАЕТСЯ, так как мне нужно это сделать для обоих параметров, тоесть m*n селектов.

Подскажите, как это можно поэлегантнее???

Но Вы же получаете отчет через вебсервис (http://server/reportserver...)?

да, через него.
...
Рейтинг: 0 / 0
срочно >> Reporting Service: Каждому пользователю свои дынные
    #34373408
Фотография Александр Волок (def1983)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И что Вам мешает добавить в URL параметр @userID
и уже на основании этого параметра формировать dataset?
...
Рейтинг: 0 / 0
срочно >> Reporting Service: Каждому пользователю свои дынные
    #34373951
def1983И что Вам мешает добавить в URL параметр @userID
и уже на основании этого параметра формировать dataset?

то, что я использую Data Model, а как мне в Data Model использовать UDF с параметром @userID?
...
Рейтинг: 0 / 0
срочно >> Reporting Service: Каждому пользователю свои дынные
    #34374136
Фотография Александр Волок (def1983)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksander V. Kalininто, что я использую Data Model, а как мне в Data Model использовать UDF с параметром @userID?
Все, понял.
Да, с data model так не выкрутится...
...
Рейтинг: 0 / 0
срочно >> Reporting Service: Каждому пользователю свои дынные
    #34374178
def1983 Aleksander V. Kalininто, что я использую Data Model, а как мне в Data Model использовать UDF с параметром @userID?
Все, понял.
Да, с data model так не выкрутится...

а можно что то в данной ситуации посоветовать? Может быть есть пути обхода данной ситуации или отказаться от Data Model, но нужно сохранить возможность "чайникам" накидывать отчеты. В общем как то это обойти?
...
Рейтинг: 0 / 0
срочно >> Reporting Service: Каждому пользователю свои дынные
    #34374399
Фотография Александр Волок (def1983)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksander V. Kalinin
а можно что то в данной ситуации посоветовать? Может быть есть пути обхода данной ситуации или отказаться от Data Model, но нужно сохранить возможность "чайникам" накидывать отчеты. В общем как то это обойти?

Имхо, как вариант, создать готовый отчет в дизайнере, но максимально параметризировав его, для того чтобы пользователи на основании параметров могли его подгонять под свои нужды.
...
Рейтинг: 0 / 0
срочно >> Reporting Service: Каждому пользователю свои дынные
    #34377412
def1983 Aleksander V. Kalinin
а можно что то в данной ситуации посоветовать? Может быть есть пути обхода данной ситуации или отказаться от Data Model, но нужно сохранить возможность "чайникам" накидывать отчеты. В общем как то это обойти?

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

Это их не устроит. Они хотят сами вершить отчеты. )
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / срочно >> Reporting Service: Каждому пользователю свои дынные
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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