Табличное имя пользователя SSAS () пусто - PullRequest
1 голос
/ 17 марта 2020

Я использую табличный сервер SSAS 2017 и сервер отчетов Power BI для размещения отчетов Power BI. У меня система безопасности Dynami c Row Level работает без проблем. Однако это только часть требований для этой задачи.

Это таблица фактов, содержащая отдельные позиции, и таблица измерений под названием «Безопасность пользователей», которая содержит пользователей и менеджера, которому они отчитываются.

Мне нужно иметь возможность динамически проверять, кто должен быть в данный момент, чтобы найти фактор, чтобы выполнить математическую логику c. Есть два уровня пользователей, которые состоят из менеджера и затем обычных пользователей. Сложная часть состоит в том, что у менеджера есть отдельные позиции в таблице фактов, а также позиции, которые являются элементами их прямого отчета. Логика c выглядит следующим образом.

  1. Если текущий пользователь, просматривающий отчет, является обычным пользователем, то коэффициент равен 5.
  2. Если текущий пользователь, просматривающий отчет, имеет значение менеджер и позиции принадлежат им, тогда коэффициент равен 5
  3. Если текущий пользователь, просматривающий отчет, является менеджером, а позиции принадлежат одному из людей, подотчетных менеджеру, то коэффициент равен 1

То, что я пробовал до сих пор:

Я попытался добавить некоторые логи c в таблицу «User Security», чтобы выяснить, кто является текущим пользователем на основе RLS, но он просто нарушает RLS всякий раз, когда я делаю ссылку на измерение «Безопасность пользователя».

Я пробовал на факте создание меры

Current User:=USERNAME()

который возвращает мое текущее имя пользователя, но как только я публикую sh отчет на сервер отчетов, он возвращается пустым. Так как он возвращает пустое значение, я не уверен, как получить текущего пользователя.

Любые мысли очень ценятся.

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