사용자 함수
이 문서에서는 Tableau의 사용자 함수와 관련 사용법을 소개합니다. 또한 예제를 사용하여 사용자 계산을 만드는 방법을 보여 줍니다.
사용자 함수를 사용하는 이유
사용자 함수를 사용하면 Tableau Server 또는 Tableau Cloud에 게시된 비주얼리제이션에 적용되는 사용자 필터 또는 행 수준 보안 필터를 만들어 특정 사용자만 비주얼리제이션을 보게 만들 수 있습니다.
예를 들어 부서에 속한 각 직원의 매출 실적을 보여 주며 Tableau Server 또는 Tableau Cloud에 게시된 비주얼리제이션이 있는 경우 각 직원이 이 비주얼리제이션에 액세스할 때 자신의 매출 수치만 볼 수 있게 하려고 합니다.
이 경우 ISMEMBEROF 함수를 사용하여 서버에 로그인한 사람의 사용자 이름이 지정된 그룹(서버 쪽)의 멤버인 경우(예: "Managers" 그룹) True를 반환하는 필드를 만들 수 있습니다. 이런 방식으로 이 계산된 필드를 사용하여 뷰를 필터링하면 해당 그룹에 속한 사람만 데이터를 볼 수 있습니다.
이 경우 계산은 다음과 유사하게 나타납니다.
ISMEMBEROF('Managers')
참고: 그룹 또는 사용자 이름에 영숫자가 아닌 특정 문자가 포함되어 있으면 아래 함수를 사용할 때 특수 문자에 HTML URL 인코딩을 사용해야 합니다.
_ ( ) !
밑줄, 괄호 및 느낌표와 같은 일부 특수 문자는 HTML URL 인코딩 없이 허용됩니다. 다른 많은 문자는 인코딩되어야 합니다.
예를 들어 ISMEMBEROF("USERS+")
함수를 ISMEMBEROF("USERS%2B")
로 작성해야 합니다. 여기서, '%2B'는 '+' 기호의 HTML URL 인코딩입니다. HTML URL 인코딩에 대한 자세한 내용은 W3schools 웹 개발자 사이트에서 HTML URL Encoding Reference(HTML URL 인코딩 참조)(링크가 새 창에서 열림)를 참조하십시오.
Tableau Cloud의 내장 워크플로우만 해당
사용자 함수 중에 일부 사용자 특성 함수를 Tableau의 연결된 앱(링크가 새 창에서 열림)에 사용할 수 있습니다. USERATTRIBUTE 및 USERATTRIBUTEINCLUDES 같은 사용자 특성 함수를 사용하면 Tableau에서 런타임 시 인증 워크플로우의 일부로 사용자 특성을 캡처할 수 있습니다. 사용자 특성이 JWT(JSON 웹 토큰)에서 전달되는 경우 이러한 함수로 콘텐츠를 작성되고 내장하면 사용자에게 표시되는 데이터를 제어하고 사용자 지정할 수 있습니다.
참고:
워크플로우에 영향을 미칠 수 있는 알려진 문제에 대해서는 Embedding API v3(링크가 새 창에서 열림) 도움말을 확인하십시오.
사용자 특성 함수는 Tableau Desktop 또는 Tableau Cloud에서 작성된 콘텐츠에 포함할 수 있습니다.
- Tableau Desktop 또는 Tableau Cloud에서 작성하는 경우 이러한 함수를 사용하는 콘텐츠의 미리 보기를 사용할 수 없습니다. 사용자 특성 함수는 NULL 또는 FALSE 값을 반환합니다. 사용자 특성이 예상대로 작동하는지 확인하려면 외부 응용 프로그램에 내장한 후 콘텐츠를 검토하는 것이 좋습니다. 사용자 함수가 포함된 워크플로우 내장에 대한 자세한 내용은 Embedding API v3(영문)(링크가 새 창에서 열림) 도움말을 참조하십시오.
Tableau에서 사용할 수 있는 사용자 함수
FULLNAME( )
구문 | FULLNAME( ) |
출력 | 문자열 |
정의 | 현재 사용자의 전체 이름을 반환합니다. |
예 | FULLNAME( ) 로그인한 사용자의 전체 이름(예: "Hamlin Myrer")을 반환합니다. [Manager] = FULLNAME( ) 관리자 "Hamlin Myrer"가 로그인된 경우 이 예에서는 뷰의 관리자 필드에 "Hamlin Myrer"가 포함된 경우에만 TRUE를 반환합니다. |
참고 | 이 함수는 다음을 확인합니다.
사용자 필터
|
ISFULLNAME
구문 | ISFULLNAME("User Full Name") |
출력 | 부울 |
정의 | 현재 사용자의 전체 이름이 지정된 전체 이름과 일치하면 |
예 | ISFULLNAME("Hamlin Myrer") |
참고 |
이 함수는 다음을 확인합니다.
|
ISMEMBEROF
구문 | ISMEMBEROF("Group Name") |
출력 | 부울 또는 null |
정의 | 현재 Tableau를 사용하고 있는 사람이 지정된 문자열과 일치하는 그룹의 멤버인 경우 |
예 | ISMEMBEROF('Superstars') ISMEMBEROF('domain.lan\Sales') |
참고 |
사용자가 Tableau Cloud 또는 Tableau Server에 로그인한 경우 그룹 멤버십은 Tableau 그룹에 따라 결정됩니다. 주어진 문자열이 "All Users"인 경우 함수는 TRUE를 반환합니다.
사용자의 그룹 멤버십이 변경되면 그룹 멤버십을 기반으로 하는 데이터의 변경 사항이 통합 문서나 새 세션의 뷰에 반영됩니다. 기존 세션에는 오래된 데이터가 반영됩니다. |
ISUSERNAME
구문 | ISUSERNAME("username") |
출력 | 부울 |
정의 | 현재 사용자의 사용자 이름이 지정된 사용자 이름과 일치하면 TRUE 를 반환하고, 일치하지 않으면 FALSE 를 반환합니다. |
예 | ISUSERNAME("hmyrer") |
참고 |
이 함수는 다음을 확인합니다.
|
USERDOMAIN( )
구문 | USERDOMAIN( ) |
출력 | 문자열 |
정의 | 현재 사용자의 도메인을 반환합니다. |
참고 | 이 함수는 다음을 확인합니다.
|
USERNAME( )
구문 | USERNAME( ) |
출력 | 문자열 |
정의 | 현재 사용자의 사용자 이름을 반환합니다. |
예 | USERNAME( ) 로그인한 사용자의 사용자 이름(예: "hmyrer")을 반환합니다. [Manager] = USERNAME( ) 관리자 "hmyrer"가 로그인된 경우 이 예에서는 뷰의 관리자 필드에 "hmyrer"가 포함된 경우에만 TRUE를 반환합니다. |
참고 | 이 함수는 다음을 확인합니다.
사용자 필터
|
USERATTRIBUTE
참고: Tableau Cloud의 내장 워크플로우만 해당됩니다. 자세한 내용은 인증 및 내장된 뷰(영문)(링크가 새 창에서 열림)를 참조하십시오.
구문 | USERATTRIBUTE('attribute_name') |
출력 | 문자열 또는 null |
정의 |
|
예 | "Region"이 JWT에 포함되어 Tableau로 전달된 사용자 특성이라고 가정하겠습니다(사이트 관리자가 이미 구성한 연결된 앱을 사용함). 이 경우 통합 문서 작성자는 지정된 지역을 기준으로 데이터를 필터링하도록 비주얼리제이션을 설정할 수 있습니다. 이 필터에서 다음 계산을 참조할 수 있습니다. [Region] = USERATTRIBUTE("Region") 서부 지역의 User2가 내장된 비주얼리제이션을 볼 때 Tableau는 서부 지역의 해당하는 데이터만 표시합니다. |
참고 | <'attribute_name'> 에서 여러 값이 반환될 것으로 예상되는 경우 USERATTRIBUTEINCLUDES 함수를 사용할 수 있습니다. |
USERATTRIBUTEINCLUDES
참고: Tableau Cloud의 내장 워크플로우만 해당됩니다. 자세한 내용은 인증 및 내장된 뷰(영문)(링크가 새 창에서 열림)를 참조하십시오.
구문 | USERATTRIBUTEINCLUDES('attribute_name', 'expected_value') |
출력 | 부울 |
정의 | 다음이 모두 참인 경우
그렇지 않으면 |
예 | "Region"이 JWT에 포함되어 Tableau로 전달된 사용자 특성이라고 가정하겠습니다(사이트 관리자가 이미 구성한 연결된 앱을 사용함). 이 경우 통합 문서 작성자는 지정된 지역을 기준으로 데이터를 필터링하도록 비주얼리제이션을 설정할 수 있습니다. 이 필터에서 다음 계산을 참조할 수 있습니다. USERATTRIBUTEINCLUDES('Region', [Region]) 서부 지역의 User2가 내장된 비주얼리제이션에 액세스하면 Tableau가 Region 사용자 특성이 [Region] 필드 값 중 하나와 일치하는지 확인합니다. 참인 경우 비주얼리제이션에 해당하는 데이터가 표시됩니다. 북부 지역의 User3이 동일한 비주얼리제이션에 액세스할 때는 [Region] 필드 값과 일치하는 데이터가 없기 때문에 어떤 데이터도 표시되지 않습니다. |
사용자 계산 만들기
사용자 계산은 Tableau Server 또는 Tableau Cloud에서 설정한 사용자 및 그룹에 직접 작동합니다. 사용자 계산을 만들어 필터로 사용하면 사용자에게 관련 데이터만 표시할 수 있습니다.
예를 들어 미국 48개 주의 매출 데이터를 보여 주는 다음과 유사한 맵 비주얼리제이션이 있는 경우 지역 관리자와 국가 관리자의 관련 데이터와 같이, 각 사용자와 관련된 맵 부분만 표시하도록 사용자 계산을 만들 수 있습니다. (국가 관리자는 전체 지역의 데이터를 볼 수 있지만 지역 관리자는 관리하는 지역의 데이터만 볼 수 있어야 합니다.)
국가 관리자가 로그인하면 다음과 같은 비주얼리제이션이 표시됩니다.
서부 지역 관리자가 로그인하면 관리하는 지역의 매출만 표시됩니다.
이 예제와 유사한 기능을 수행하는 사용자 함수를 만들려면 아래 단계를 수행합니다.
시작하기 전에
이 예제를 따라 하려면 Tableau Server 또는 Tableau Cloud에 액세스할 수 있어야 합니다. 또한 서버 관리자이거나 사이트 관리자여야 합니다.
1단계: 사용자 및 그룹 만들기
Tableau Server 또는 Tableau Cloud에 로그인합니다.
Tableau Server 또는 Tableau Cloud에서 다음과 같은 사용자를 추가합니다.
Sadie Pawthorne
Chuck Magee
Fred Suzuki
Roxanne Rodriguez
자세한 내용은 Tableau Server 도움말에서 사이트에 사용자 추가(링크가 새 창에서 열림)를 참조하십시오.
National Managers라는 새 그룹을 만듭니다.
자세한 내용은 Tableau Server 도움말에서 로컬 그룹 만들기(링크가 새 창에서 열림)를 참조하십시오.
사용자 자신을 National Managers 그룹에 추가합니다.
자세한 내용은 Tableau Server 도움말에서 그룹에 사용자 추가(링크가 새 창에서 열림)를 참조하십시오.
2단계: 비주얼리제이션 만들기
Tableau Desktop을 열고 Tableau와 함께 제공된 Sample-Superstore 데이터 원본에 연결합니다.
작업 영역 왼쪽 아래에서 데이터 원본 탭을 클릭합니다.
데이터 원본 페이지의 왼쪽에 있는 연결 패널에서 People 시트를 조인 영역에 끌어 놓습니다.
조인 아이콘을 클릭하고 Left를 선택합니다.
새 워크시트로 이동합니다.
데이터 패널의 차원에서 State를 두 번 클릭합니다.
맵 뷰가 만들어집니다.
데이터 패널의 측정값 아래에서 Sales를 마크 카드의 색상에 끌어 놓습니다.
열 선반에서 키보드의 Ctrl 키(Mac의 경우 Comman 키)를 누른 채로 경도 필드를 선택하여 복사할 수 있게 만듭니다. 복사본을 열 선반의 원본 오른쪽으로 끌어 놓습니다.
마크 카드에서 두 번째(아래쪽) 경도 탭을 클릭합니다.
데이터 패널에서 Region을 마크 카드의 색상으로 끌어 놓습니다.
오른쪽에 있는 맵 뷰가 새 색상으로 업데이트됩니다.
마크 카드에서 마크 유형 드롭다운을 클릭한 다음 맵을 선택합니다.
마크 카드에서 색상을 클릭하고 불투명도 아래에서 슬라이더를 50%로 조정합니다.
마크 카드에서 첫 번째 경도 탭을 클릭합니다.
마크 카드에서 색상 > 색상 편집을 클릭한 다음 색상표 드롭다운 목록에서 회색을 선택합니다.
왼쪽의 맵 뷰가 업데이트됩니다.
열 선반에서 오른쪽에 있는 경도 필드를 마우스 오른쪽 단추로 클릭하고 이중 축을 선택합니다.
맵은 다음과 유사합니다.
3단계: 사용자 계산 만들기
분석 > 계산된 필드 만들기를 선택합니다.
계산 에디터가 열리면 다음을 수행합니다.
계산된 필드의 이름을 User Filter로 지정합니다.
다음 수식을 입력합니다.
[Regional Manager] = USERNAME() OR ISMEMBEROF("National Managers")
이 계산은 사용자가 Region (People) 필드에 포함되는지 또는 National Managers 그룹에 포함되는지 여부를 확인합니다. 포함되는 경우 true를 반환합니다.
작업을 마쳤으면 확인을 클릭합니다.
새 사용자 계산이 데이터 패널의 차원 아래에 나타납니다. 다른 필드와 마찬가지로, 하나 이상의 비주얼리제이션에서 이 필드를 사용할 수 있습니다.
4단계: 사용자 계산을 필터 선반에 추가
데이터 패널의 차원에서 User Filter를 필터 선반에 끌어 놓습니다.
필터 대화 상자가 열리면 True를 선택하고 확인을 클릭합니다.
참고: Tableau Server 또는 Tableau Cloud에 로그인하지 않는 경우 True 옵션이 표시되지 않습니다. 이 옵션을 선택하려면 Tableau Desktop에서 Tableau Server 또는 Tableau Cloud에 로그인하십시오. 자세한 내용은 Tableau Server 또는 Tableau Cloud에 로그인(링크가 새 창에서 열림)을 참조하십시오.
5단계: 계산 테스트
Tableau Desktop의 작업 영역 오른쪽 아래에서 사용자로 필터링 드롭다운을 클릭하고 사용자를 Sadie Pawthorne으로 변경합니다.
Sadie는 People 시트에서 West 지역에 할당되어 있기 때문에 맵이 미국 서부 지역만 표시하도록 업데이트됩니다.
다시 사용자로 필터링 드롭다운을 선택하고 사용자를 Roxanne Rodriguez로 변경합니다.
Roxanne는 People 시트에서 Central 지역에 할당되어 있기 때문에 맵이 미국 중부 지역만 표시하도록 업데이트됩니다.
다시 사용자로 필터링 드롭다운을 선택하고 사용자를 Chuck Magee로 변경합니다.
Chuck은 People 시트에서 East 지역에 할당되어 있기 때문에 맵이 미국 동부 지역만 표시하도록 업데이트됩니다.
다시 사용자로 필터링 드롭다운을 선택하고 사용자를 Fred Suzuki로 변경합니다.
Fred는 People 시트에서 South 지역에 할당되어 있기 때문에 맵이 미국 남부 지역만 표시하도록 업데이트됩니다.
사용자로 필터링 드롭다운을 한 번 더 선택하고 사용자를 자신으로 변경합니다.
사용자는 서버에서 National Managers 그룹에 속하므로 맵이 모든 데이터를 표시하도록 업데이트됩니다.
이 동작은 Tableau Server 또는 Tableau Cloud에 뷰를 게시할 때 계속 유지됩니다. National Managers 그룹이나 Sample Superstore 데이터 원본의 People 시트에 나열되어 있지 않은 사용자인 경우 빈 비주얼리제이션만 표시됩니다.