Loading

테이블 하나에서 다른 테이블에 없는 값 반환하기

게시 일자: Jul 20, 2023
과업
Tableau Desktop에서 지정된 날짜 범위에 대해 한 테이블에 포함되어 있지만 다른 테이블에는 없는 계정 값을 반환하는 방법은 무엇인가요?

SQL을 사용하여 다음 쿼리로 원하는 결과를 달성할 수 있습니다.
SELECT AccountName FROM Accounts
WHERE AccountId NOT IN (SELECT AccountId FROM LoggingTable WHERE Date > 2016-08-01)

 
단계
주어진 날짜 범위에 대해 두 번째 테이블에 없는 계정은 Left 조인을 사용하여 두 테이블을 조인하고 NULL 값 및 지정된 날짜 범위로 뷰를 필터링하여 반환할 수 있습니다. 첨부된 패키지 통합 문서와 Excel 파일을 사용하여 아래 단계를 따라 원하는 결과를 달성하세요.
  1. 두 데이터 테이블 간에 조인을 생성합니다.
    1. Tableau Desktop에서 계정 테이블 추출에 연결합니다. 고객/계정 목록이 있는 테이블을 가져옵니다.
    2. Add(추가)를 선택하여 두 번째 데이터 원본을 가져오고 Logging(로깅) 테이블 추출을 선택합니다. 사용 정보가 있는 테이블을 뷰로 끌어옵니다. Left 조인을 사용하고 "AccountId"를 링크 필드로 하여 두 테이블을 조인합니다.
    3. Left 조인이 계정 테이블 추출로부터 모든 "AccountId" 값을 반환하고 일치하는 계정이 없는 경우 Logging(로깅) 테이블 추출의 "AccountId"를 Null 값으로 채웁니다.
  2. 원본 Logging(로깅) 테이블 추출 테이블에 지난 3개월에 대한 행만 포함된 경우 이 단계는 필요하지 않습니다. 그렇지 않다면 "8/1/2016" 이전의 데이터를 가지고 있더라도 이 3개월 간의 데이터를 가지고 있지 않은 "AccountId" 값을 반환하도록 필터링해야 합니다.
    1. 시트 1로 이동합니다.
    2. 새 계산된 필드를 만듭니다. 필드 이름을 "!Filter"로 지정하고 다음 수식을 입력한 다음 OK(확인)를 클릭합니다.
      IF ISNULL([AccountId (LoggingTable)]) OR [Date] < DATEADD('month',-3,TODAY()) THEN "Show" ELSE "Hide" END
    3. 위 표현식을 필터 선반에 놓으면 "AccountId (Logging Table)"에 대해 Null 값을 가지고 있거나 오늘 날짜 기준 3개월 한계치보다 적은 날짜 값을 갖는 "Account Name" 값이 반환될 것입니다.
  3. 뷰를 만듭니다.
    1. "Account Name"을 Rows(행)로 끌어옵니다.
    2. "!Filter"를 필터로 끌어오고 "Show(표시)"를 선택합니다.
또는 2020.3 이상으로 업그레이드하면 자동으로 픽업되도록 데이터 연결 UI의 관계를 비슷한 방식으로 정의할 수 있습니다. 
Knowledge 기사 번호

001453725

첨부 파일

Accounts Example.twbx

19 KB

__Accounts.xlsx

8 KB

__Logging.xlsx

8 KB

 
로드 중
Salesforce Help | Article