2013-12-17 5 views

ответ

0

Пока объект, который вы пытаетесь скрыть, имеет свойство RenderVariable, вы можете подключить его для невидимости/видимости для определенных пользователей.

  1. Создать новый запрос под названием Global
  2. Добавить элемент данных в глобальных и назовите его «Текущий пользователь»
  3. Введите следующее выражение в текущий пользователь: #sq($account.defaultName)# Это макрос, который извлекает имя из текущий пользователь.
  4. Добавление второго элемента данных и назовите его «IsAuthorized»
  5. Введите следующее выражение в IsAuthorized: if ([Current User] = 'Michael Jackson') then (1) else (0)
  6. Теперь проверьте ваш новый запрос, выполнив команду View Tabular Data. (Наведите курсор на проводник запросов, чтобы развернуть список запросов. Щелкните правой кнопкой мыши на запросе, который вы только что создали, и выберите «Просмотреть табличные данные»)
  7. Вы должны увидеть свое имя в столбце «Текущий пользователь» и 0 (ноль) в IsAuthorized column. Это потому, что твое имя не «Майкл Джексон». (если, конечно, ваше имя фактически is Michael Jackson!)
  8. Предполагая, что все работает, как и планировалось, теперь вы можете двигаться дальше и сделать переменную ...
  9. Drag булевой переменной на существующий список переменных
  10. Позвоните в переменную DisplayWhenUserIsAuthorized_v
  11. Введите следующее в качестве выражение: if ([Global].[IsAuthorized]) then (1) else (0)
  12. Теперь вы можете подключить эту переменную к свойству RenderVariable вашего объекта, и вы должны проверить, что он работает ... он не должен появляться для вас (он появится только для Майкла Джексона)
+0

просто слово предупреждения, оно не работает последовательно для меня ... Я обновлю, если я это выясню – Aaronster

+0

теперь это работает ... Я думаю, что все мои эксперименты испортили мою переменную. Я сделал дополнительные тесты: 1) создал новую новую переменную и ввел выражение, 2) перетащил новую область блока на мою страницу, 3) связал мою новую переменную с свойством Render Variable блока. Это заставило все работать снова. Поэтому я перетащил свой другой объект внутри блока, и теперь он все счастлив. – Aaronster

0

Эта ссылка:

http://www-01.ibm.com/support/docview.wss?uid=swg21343986

показывает, как получить текущего пользователя в Cognos. Вы можете использовать этот синтаксис макросов для его получения:

#sq($account.defaultName)# 

Положи в выражении макета на ваш отчет и убедитесь, что она возвращает имя пользователя.

Следующий шаг: может иметь возможность использовать это в переменном выражении, которое затем можно использовать для условного форматирования, чтобы скрыть или показать элементы отчета.

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

0

Вам необходимо сохранить разные версии своего отчета для разных пользователей. Каждый пользовательский макет - это собственный отчет.

Затем вы можете назначать разрешения, чтобы пользователи видели только отчет, который применим к ним.

Например, если у вас есть отчет о продажах, а отдел маркетинга хочет добавить дополнительную дополнительную колонку в отчет, но никакие другие отделы не хотят ее видеть. Сохраните отчет о продажах с таким новым именем, как «Ежемесячные продажи - маркетинг». Добавьте новый столбец.

Теперь, если вы еще этого не сделали, создайте новую роль «Маркетинг» в Administration-> Security. Назначьте пользователей маркетинга этой роли.

В отчете «Ежемесячные продажи - маркетинг», если вы хотите, чтобы маркетинг показывал отчет, затем отредактируйте свойства отчета, перейдите к разрешениям и дайте маркетинговой группе «Чтение», «Выполнение» и «Выполнение», Traverse. Удалите других пользователей из разрешения на чтение и выполнение, и теперь только маркетинг и администраторы увидят специальный маркетинговый отчет.

+0

Если вы хотите пройти этот маршрут, я предлагаю вам создать один отчет с параметром, который будет определять его макет, а затем сохранить несколько представлений отчетов с соответствующей безопасностью. Таким образом, у вас есть только один отчет для поддержки. –

Смежные вопросы