Как показать или скрыть часть отчета для разных пользователей?Скрыть/Показать элементы на основе пользователей в отчете?
ответ
Пока объект, который вы пытаетесь скрыть, имеет свойство RenderVariable, вы можете подключить его для невидимости/видимости для определенных пользователей.
- Создать новый запрос под названием Global
- Добавить элемент данных в глобальных и назовите его «Текущий пользователь»
- Введите следующее выражение в текущий пользователь:
#sq($account.defaultName)#
Это макрос, который извлекает имя из текущий пользователь. - Добавление второго элемента данных и назовите его «IsAuthorized»
- Введите следующее выражение в IsAuthorized:
if ([Current User] = 'Michael Jackson') then (1) else (0)
- Теперь проверьте ваш новый запрос, выполнив команду
View Tabular Data
. (Наведите курсор на проводник запросов, чтобы развернуть список запросов. Щелкните правой кнопкой мыши на запросе, который вы только что создали, и выберите «Просмотреть табличные данные») - Вы должны увидеть свое имя в столбце «Текущий пользователь» и 0 (ноль) в IsAuthorized column. Это потому, что твое имя не «Майкл Джексон». (если, конечно, ваше имя фактически is Michael Jackson!)
- Предполагая, что все работает, как и планировалось, теперь вы можете двигаться дальше и сделать переменную ...
- Drag булевой переменной на существующий список переменных
- Позвоните в переменную
DisplayWhenUserIsAuthorized_v
- Введите следующее в качестве выражение:
if ([Global].[IsAuthorized]) then (1) else (0)
- Теперь вы можете подключить эту переменную к свойству RenderVariable вашего объекта, и вы должны проверить, что он работает ... он не должен появляться для вас (он появится только для Майкла Джексона)
Эта ссылка:
http://www-01.ibm.com/support/docview.wss?uid=swg21343986
показывает, как получить текущего пользователя в Cognos. Вы можете использовать этот синтаксис макросов для его получения:
#sq($account.defaultName)#
Положи в выражении макета на ваш отчет и убедитесь, что она возвращает имя пользователя.
Следующий шаг: может иметь возможность использовать это в переменном выражении, которое затем можно использовать для условного форматирования, чтобы скрыть или показать элементы отчета.
Если вы не знаете, о чем я говорю, обратитесь к руководствам студии отчетов и найдите макросы, выражение макета, переменные, условное форматирование.
Вам необходимо сохранить разные версии своего отчета для разных пользователей. Каждый пользовательский макет - это собственный отчет.
Затем вы можете назначать разрешения, чтобы пользователи видели только отчет, который применим к ним.
Например, если у вас есть отчет о продажах, а отдел маркетинга хочет добавить дополнительную дополнительную колонку в отчет, но никакие другие отделы не хотят ее видеть. Сохраните отчет о продажах с таким новым именем, как «Ежемесячные продажи - маркетинг». Добавьте новый столбец.
Теперь, если вы еще этого не сделали, создайте новую роль «Маркетинг» в Administration-> Security. Назначьте пользователей маркетинга этой роли.
В отчете «Ежемесячные продажи - маркетинг», если вы хотите, чтобы маркетинг показывал отчет, затем отредактируйте свойства отчета, перейдите к разрешениям и дайте маркетинговой группе «Чтение», «Выполнение» и «Выполнение», Traverse. Удалите других пользователей из разрешения на чтение и выполнение, и теперь только маркетинг и администраторы увидят специальный маркетинговый отчет.
Если вы хотите пройти этот маршрут, я предлагаю вам создать один отчет с параметром, который будет определять его макет, а затем сохранить несколько представлений отчетов с соответствующей безопасностью. Таким образом, у вас есть только один отчет для поддержки. –
- 1. MVC4, авторизовать пользователей на основе таблицы пользователей
- 2. Показать информацию на основе пользователей
- 3. Карта на основе пользователей ip
- 4. Войти на основе ролей пользователей
- 5. пользователей на основе электронной почты
- 6. ранжировать пользователей на основе баллов
- 7. Фильтр списка пользователей на основе Sharepoint
- 8. На основе оценки поведения пользователей в Elasticsearch
- 9. Перенаправление пользователей на основе состояния в React
- 10. Фильтрация содержимого на основе пользователей в django
- 11. Как установить FONT на основе языка в отчете SSRS?
- 12. Показать/скрыть поля в отчете Pentaho на основе ввода пользователя
- 13. Как суммировать поданную на основе типа дня в отчете кристалла
- 14. Отображение разных заголовков на основе переменной в отчете
- 15. Создание промежуточного итога на основе нескольких столбцов в отчете ssrs
- 16. отображение изображения в отчете на основе двух дат
- 17. скрыть элементы на основе фильтра
- 18. Sitecore 6 Фильтрующие элементы на основе профиля
- 19. найти элементы на основе массива входных Mongoose
- 20. Элементы маркировки на основе уникальности
- 21. Защищенные элементы меню на основе пользователя
- 22. Получите и перечислите пользователей на основе idempresa зарегистрированных пользователей
- 23. Как отсортировать должности на основе взаимодействия пользователей/наиболее заинтересованных пользователей
- 24. Как показать элементы в поле many2one на основе группы пользователей в odoo-9?
- 25. элементы переразмера в списке на основе индекса
- 26. Упорядочить элементы в списке на основе состояния
- 27. Замените элементы в матрице на основе значения
- 28. Заменить элементы в колонке на основе списка
- 29. помещает элементы в массив на основе пунктуации
- 30. PHP: элементы массива на основе разрешений
просто слово предупреждения, оно не работает последовательно для меня ... Я обновлю, если я это выясню – Aaronster
теперь это работает ... Я думаю, что все мои эксперименты испортили мою переменную. Я сделал дополнительные тесты: 1) создал новую новую переменную и ввел выражение, 2) перетащил новую область блока на мою страницу, 3) связал мою новую переменную с свойством Render Variable блока. Это заставило все работать снова. Поэтому я перетащил свой другой объект внутри блока, и теперь он все счастлив. – Aaronster