필터는 큐브에서 데이터 값에 대한 보안 액세스를 제어합니다. 필터는 사용 가능한 보안의 가장 세부적인 형태입니다.
필터를 생성할 때는 특정 큐브 셀 또는 셀 범위에 대해 일련의 제한사항을 지정합니다. 그런 다음 사용자 또는 그룹에게 필터를 지정할 수 있습니다.
고유의 보안 롤에 따라 필터를 생성, 지정, 편집, 복사 또는 삭제하거나 필터 이름을 바꿀 수 있는지 여부가 결정됩니다.
큐브에 대한 필터를 여러 개 생성할 수 있습니다. 필터를 편집하는 경우 해당 필터의 모든 사용자가 관련 정의에 대한 수정사항을 상속합니다.
Controlling Access to Database Cells Using Security Filters을(를) 참조하십시오.
Redwood 인터페이스에서 필터를 편집하려면 큐브를 선택하고 사용자정의 페이지를 선택하여 [필터] 탭을 찾습니다. 그런 다음, 필터 이름을 누르고 필터 편집기에서 변경을 수행하여 필터를 편집합니다. 기존 행을 편집하려면 해당 행을 두 번 누릅니다.
클래식 웹 인터페이스에서 필터를 편집하려면 검사기에서 [필터] 탭으로 이동하고, 필터 이름을 누르고 필터 편집기에서 변경을 수행하여 필터를 편집합니다.
필터 이름 오른쪽에 있는 [작업] 메뉴를 누르고 옵션을 선택하여 필터를 복사하고 이름을 바꾸거나 삭제할 수 있습니다.
필터를 생성한 후 사용자 또는 그룹에 지정합니다.
외부 소스 데이터를 기반으로 동적 필터를 생성하여 필요한 필터 정의 수를 줄일 수 있습니다.
@datasourceLookup
메소드와 $LoginUser
및 $LoginGroup
변수 등 동적 필터 정의 구문을 사용하면 됩니다. 외부 소스 데이터는 csv 파일 또는 관계형 테이블입니다. 관계형 소스 데이터의 경우 관계형 테이블에 .csv를 로드할 수 있습니다.동적 필터 구문을 사용하여 여러 사용자와 그룹에 지정할 수 있는 유연한 필터를 생성합니다.
필터 행에는 멤버 표현식과 함께 정의의 일부로 다음 요소가 포함될 수 있습니다.
$loginuser
이 변수는 런타임 시 현재 로그인한 사용자의 값을 저장합니다. @datasourcelookup
메소드에서 함께 사용할 수 있습니다.
$logingroup
이 변수는 현재 로그인한 사용자가 속한 모든 그룹의 값을 저장합니다. 직접 그룹과 간접 그룹이 모두 포함됩니다. @datasourcelookup
메소드와 함께 사용할 때 각 그룹은 데이터 소스에 대해 개별적으로 조회됩니다.
@datasourcelookup
이 메소드는 데이터 소스에서 레코드를 인출합니다.
구문
@datasourcelookup (dataSourceName, columnName, columnValue, returnColumnName)
매개변수 | 설명 |
---|---|
dataSourceName |
Essbase에서 정의된 외부 데이터 소스의 이름입니다. 애플리케이션 레벨 데이터 소스의 경우 이름에 애플리케이션 이름과 마침표를 접두어로 사용합니다. |
columnName |
제공된 columnValue를 검색할 데이터 소스 열의 이름입니다. |
columnValue |
columnName에서 검색할 값입니다. |
returnColumnName |
값 목록을 반환할 데이터 소스 열의 이름입니다. |
설명
@datasourcelookup 호출은 다음 SQL 질의와 동등합니다.
select returnColumnName from dataSourceName where columnName=columnValue
@datasourcelookup은 제공된 데이터 소스를 조회하고 columnName에 columnValue가 포함된 레코드를 검색합니다. columnValue를 $loginuser
로 지정할 경우 이 메소드는 columnName에 현재 로그인한 사용자의 이름이 포함된 레코드를 검색합니다.
Essbase는 콤마로 구분된 문자열로 목록 요소를 결합하여 필터 정의 행을 구성합니다. 레코드에 특수 문자 또는 공백이 포함되거나 숫자만 포함된 경우 따옴표로 묶입니다.
예제
매개변수를 따옴표로 묶습니다.
다음 호출은 전역 데이터 소스를 조회하고 Mary가 상점 관리자인 상점 이름 목록을 반환합니다.
@datasourceLookup("StoreManagersDS","STOREMANAGER","Mary","STORE")
다음 호출은 애플리케이션 레벨 데이터 소스를 조회하고 현재 로그인한 사용자가 상점 관리자인 상점 이름 목록을 반환합니다.
@datasourceLookup("Sample.StoreManagersDS","STOREMANAGER","$loginuser","STORE")
다음 호출은 애플리케이션 레벨 데이터 소스를 조회하고 로그인한 사용자가 속한 그룹과 상점 부서가 일치하는 상점 이름 목록을 반환합니다.
@datasourceLookup("Sample.StoreManagersDS","STORE_DEPARTMENT","$logingroup","STORE")
로그인한 사용자가 3개 그룹에 속하는 경우 위의 @datasourcelookup
메소드는 각 그룹에 대해 모든 일치 열 값을 반환합니다.
다음과 같은 일반적인 워크플로우를 사용하여 동적 필터를 생성할 수 있습니다.
이 동적 필터 워크플로우에서는 이미 큐브가 있고 프로비전된 사용자 및 그룹이 있다고 간주합니다.
클래식 웹 인터페이스에서 데이터베이스 검사기의 필터 섹션을 사용합니다.
$loginuser
변수, $logingroup
변수와 @datasourcelookup
메소드를 사용하여 각 필터에 대한 필터 행을 정의합니다.