Куб (sql Server 2016) содержит размеры [Unit].[Unit].&[1]
и [Unit].[Unit].&[2]
. Я создал вычисленный размер:Настройка роли для расчетного измерения (SSAS Cube)
CREATE MEMBER CURRENTCUBE.[Unit].[Unit].[All].[1/2] AS [Unit].[Unit].&[1]/[Unit].[Unit].&[2]
Чтобы ограничить доступ к измерению [Unit].[Unit].[All].[1/2]
Я создал роль. Но я не могу выбрать [Unit].[Unit].[All].[1/2]
в вкладке DimensionData-Basic, потому что этот атрибут не отображается в списке атрибутов. Если я укажу атрибут [Unit].[Unit].[All].[1/2]
на вкладке DimensionData-Advanced в MDX-скрипте Denied member set: {[Unit].[Unit].[All].[1/2]}
, пользователь увидит этот атрибут. Как ограничить доступ к вычисленному измерению?
я заменил старый «создать элемент», и я имею ошибку при просмотре куба с пользователем. Я не понимаю, где я должен вставить '(IIf (IsError (StrToMember (" [Unit]. [Unit]. [1/2] ", CONSTRAINED)), Head ([Unit]. [Unit] .Members , 0), StrToMember ("[Unit]. [Unit]. [1/2]", CONSTRAINED)) = DIVIDE ([Unit]. [Unit]. & [1], [Unit]. [Unit]. & [2]) ' В разделе« Расчет »в кубе или вкладке« DimensionData-Advanced »в роли (« Запрещенный набор элементов »)? – Natalya
Перейдите на вкладку« Расчеты »и перейдите к представлению сценария. ! 'CALCULATE' – GregGalloway
Спасибо за вашу помощь Я пишу сценарий:... ' CALCULATE; CREATE ЧЛЕН CURRENTCUBE [Unit] [Unit] [1/2] AS (IIF (ISERROR (StrToMember ('[ Unit]. [Unit]. [1/2] ', CONSTRAINED)), HEAD ([U nit]. [Unit] .Members, 0), StrToMember ('[Unit]. [Unit]. [1/2]', CONSTRAINED)) = DIVIDE ([Unit]. [Unit]. & [1] , [Единица]. [Единица]. &[2])); ' Но я получаю сообщение об ошибке:« объект не был найден в кубе, когда строка [Unit]. [Unit]. & [1/2] разобрана ». – Natalya