필터 정보

필터는 큐브에서 데이터 값에 대한 보안 액세스를 제어합니다. 필터는 사용 가능한 보안의 가장 세부적인 형태입니다.

필터를 생성할 때는 특정 큐브 셀 또는 셀 범위에 대해 일련의 제한사항을 지정합니다. 그런 다음 사용자 또는 그룹에게 필터를 지정할 수 있습니다.

고유의 보안 롤에 따라 필터를 생성, 지정, 편집, 복사 또는 삭제하거나 필터 이름을 바꿀 수 있는지 여부가 결정됩니다.

  • 애플리케이션 관리자 롤을 보유한 경우 사용자 또는 그룹에 대한 모든 필터를 관리할 수 있습니다. 자신에게는 필터가 적용되지 않습니다.
  • 데이터베이스 업데이트 롤을 보유한 경우 직접 생성한 애플리케이션에 대한 필터를 관리할 수 있습니다.
  • 데이터베이스 관리자 롤을 보유한 경우 애플리케이션 또는 큐브 내에서 필터를 관리할 수 있습니다.
  • 데이터베이스 액세스 롤(기본값)을 보유한 경우 필터로 액세스 권한이 추가로 제한되지 않는 한 모든 셀의 데이터 값에 대해 읽기 액세스 권한을 갖습니다.

필터 생성

큐브에 대한 필터를 여러 개 생성할 수 있습니다. 필터를 편집하는 경우 해당 필터의 모든 사용자가 관련 정의에 대한 수정사항을 상속합니다.

Controlling Access to Database Cells Using Security Filters을(를) 참조하십시오.

  1. 필터 편집기로 이동합니다.

    Redwood 인터페이스에서:

    1. 애플리케이션 페이지에서 애플리케이션을 열고 데이터베이스(큐브)를 엽니다.
    2. 사용자정의를 누르고 필터를 누릅니다.

    클래식 웹 인터페이스에서:

    1. 애플리케이션 페이지에서 애플리케이션을 확장합니다.
    2. 큐브 이름 오른쪽에 있는 [작업] 메뉴에서 검사자를 실행합니다.
    3. 필터 탭을 선택합니다.
  2. 추가를 누릅니다.
  3. 필터 이름 텍스트 상자에 필터 이름을 입력합니다.
  4. 필터 편집기에서 추가를 누릅니다.
  5. 액세스 아래에서 드롭다운 메뉴를 눌러 여기서 액세스 레벨을 선택합니다.
    • 없음: 검색 또는 업데이트할 수 있는 데이터가 없습니다.

    • 읽기: 데이터를 검색할 수 있지만 업데이트할 수 없습니다.

    • 쓰기: 데이터를 검색 및 업데이트할 수 있습니다.

    • 메타 읽기: 메타데이터(차원 및 멤버 이름)를 검색 및 업데이트할 수 있습니다.

      메타 읽기 액세스 레벨은 기타 모든 액세스 레벨을 무효화합니다. 추가 데이터 필터는 기존 메타 읽기 필터 내에서 적용됩니다. AND 관계를 사용한 멤버 조합 필터링은 메타 읽기에 적용되지 않습니다. 메타 읽기는 OR 관계를 사용하여 각 멤버를 별도로 필터링합니다.

  6. 멤버 지정 아래에서 행을 선택하고 멤버 이름을 입력한 다음, 제출 Redwood 필터 제출 아이콘 이미지.을 누릅니다.

    멤버를 별도로 필터링할 수도 있고, 멤버 조합을 필터링할 수도 있습니다. 함수나 대체 변수 이름(앰퍼샌드(&)로 시작)으로 정의된 차원 또는 멤버 이름, 별칭 이름, 멤버 조합, 멤버 집합을 지정합니다. 다중 항목은 콤마로 구분합니다.

  7. 필요에 따라 필터에 대한 추가 행을 생성합니다.

    필터 행이 겹치거나 충돌하는 경우 더 자세한 큐브 영역 지정이 간단한 지정보다 우선하고, 허용 범위가 더 큰 액세스 권한이 허용 범위가 작은 권한보다 우선합니다. 예를 들어, 사용자에게 Actual에 대한 읽기 액세스 권한과 Jan에 대한 쓰기 액세스 권한을 부여하면 사용자는 Jan Actual에 대해 쓰기 액세스 권한을 갖습니다.

  8. 검증을 눌러 필터가 적합한지 확인합니다.
  9. 저장을 누릅니다.

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은 제공된 데이터 소스를 조회하고 columnNamecolumnValue가 포함된 레코드를 검색합니다. 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 메소드는 각 그룹에 대해 모든 일치 열 값을 반환합니다.

동적 필터를 생성하는 워크플로우

다음과 같은 일반적인 워크플로우를 사용하여 동적 필터를 생성할 수 있습니다.

이 동적 필터 워크플로우에서는 이미 큐브가 있고 프로비전된 사용자 및 그룹이 있다고 간주합니다.

  1. 데이터 소스가 파일인지 아니면 관계형 소스인지 식별합니다.
  2. 전역적으로 또는 애플리케이션 레벨에서 Essbase 내에서 접속 및 데이터 소스를 정의합니다.
  3. 큐브 레벨에서 필터를 생성합니다.
    • Redwood 인터페이스에서 큐브로 이동하여 사용자정의를 선택하고 필터를 선택합니다.
    • 클래식 웹 인터페이스에서 데이터베이스 검사기의 필터 섹션을 사용합니다.

  4. 동적 필터 구문에서 필요에 따라 $loginuser 변수, $logingroup 변수와 @datasourcelookup 메소드를 사용하여 각 필터에 대한 필터 행을 정의합니다.
  5. 사용자 또는 그룹에 필터를 지정합니다.
  6. 필터를 그룹에 지정한 경우 필터링할 애플리케이션에 그룹을 지정합니다.
    • Redwood 인터페이스에서 애플리케이션으로 이동하여 사용자정의를 선택하고 권한을 선택합니다.
    • 클래식 웹 인터페이스에서 애플리케이션 검사기의 권한 섹션을 사용합니다.

동적 필터의 예

다음 동적 필터는 갤러리에서 샘플 템플리트로 사용 가능한 Efficient.UserFilters라는 큐브에서 작동합니다.


로그인한 사용자에게 메타 읽기 액세스 권한을 부여하는 세 행을 가진 동적 필터입니다.

이 동적 필터를 생성하고 적용하는 방법을 알아보려면 갤러리의 기술 섹션에서 워크북 템플리트 Efficient_Filters.xlsx를 다운로드하고 워크북의 README 지침을 따릅니다. 갤러리는 Essbase 웹 인터페이스의 파일 섹션에서 사용할 수 있습니다.