병합된 결과는 쿼리 후 처리 기능으로, 신중하게 사용하지 않을 경우 Looker 인스턴스 리소스를 오버로드하고 Looker 인스턴스가 모든 사용자에 대해 더 느리게 응답하게 될 수 있습니다. 대신 데이터베이스에서 처리하는 SQL을 생성하는 LookML에서 함수와 로직을 정의하는 것이 좋습니다. Looker 성능 최적화에 대한 자세한 내용은 Looker 성능 최적화 권장사항 페이지를 참조하세요.
Looker에서 Explore는 Looker 개발자가 데이터 필드와 테이블 간에 정의된 관계를 사용하여 가장 효과적인 방법으로 데이터베이스 테이블의 데이터를 결합하도록 설계되었습니다. 따라서 단일 Explore 분석을 사용하여 데이터를 검사하는 것이 가장 좋습니다.
그러나 Looker 개발자가 필요한 관계를 만들지 않았거나 기술적 제한이 발생했을 수 있습니다. 이러한 경우 병합된 결과를 사용하면 다양한 Explore의 결과(다른 모델 또는 프로젝트의 결과)를 결합하여 Explore와 시각화 생성에 대한 데이터 테이블을 만들 수 있습니다. 개념 증명으로 병합된 결과를 사용하여 LookML 프로젝트와 모델을 추가로 개발하고 정의할 수 있습니다.
병합된 결과 이해
쿼리를 병합할 때는 단일 Explore에서 단일 쿼리를 만든 다음 다른 쿼리를 첫 번째 쿼리와 결합합니다.
기본적으로 첫 번째 쿼리는 기본 쿼리로 간주됩니다. 이는 알아 두어야 할 중요한 개념인데, Looker가 데이터를 일치시켜 병합된 결과를 생성할 때 추가된 각 쿼리를 다른 추가된 쿼리가 아니라 기본 쿼리와 일치시키기 때문입니다. 따라서 쿼리를 추가할 때마다 기본 쿼리의 측정기준과 일치할 수 있는 측정기준을 포함해야 합니다.
예를 들어, 다음 쿼리를 살펴보겠습니다.
기본 쿼리는 다음 결과를 반환합니다.
제품 카테고리 | 제품 카운트 |
---|---|
활성 | 5 |
청바지 | 9 |
정장 | 3 |
보조 쿼리는 다음 결과를 반환합니다.
제품 카테고리 | 인벤토리 카운트의 항목 |
---|---|
활성 | 11 |
청바지 | 16 |
정장 | 6 |
이러한 쿼리를 제품 카테고리 필드에 병합하면 Looker가 다음과 같은 병합된 결과를 생성합니다.
제품 카테고리 | 제품 카운트 | 인벤토리 카운트의 항목 |
---|---|---|
활성 | 5 | 11 |
청바지 | 9 | 16 |
정장 | 3 | 6 |
병합된 결과는 실제 SQL 조인을 수행하지 않습니다. 하지만 SQL 조인에 익숙한 사용자를 위해 병합된 결과 기능은 여러 개의 Explore 결과를 왼쪽 조인과 비슷한 방식으로 결합합니다. 추가된 쿼리의 결과가 기본 쿼리에 조인된 것처럼 기본 쿼리의 결과와 결합됩니다.
병합된 결과가 어떻게 작동하는지 이해하기 위해 왼쪽 조인의 개념에 대해 잘 알아야 하는 것은 아닙니다. 실질적으로 어떤 쿼리가 기본 쿼리인지가 중요한 이유는 다음과 같습니다.
- 필드 이름 표시 방식: 일치하는 필드의 경우 이전 예시와 같이 병합된 결과에는 기본 쿼리의 필드 이름이 사용됩니다.
병합된 결과가 일치하는 값이 없는 쿼리를 처리하는 방법: 다음 섹션인 하나의 쿼리에 일치하는 데이터 값이 없으면 어떻게 해야 하나요?에서 일치하는 측정기준에 대해 일부 쿼리에만 특정 값이 있는 경우 Looker가 병합 데이터를 처리하는 방법을 설명합니다.
또한 보조 병합된 결과 쿼리에 null이 있는 이유는 무엇인가요?를 참조할 수 있습니다. 누락되거나 null 병합된 결과 값에 대한 추가적인 문제 해결 팁을 보려면 권장사항 페이지를 참조합니다.
병합된 결과가 일치하는 값이 여러 개인 쿼리를 처리하는 방법: 이 페이지의 뒷부분에 있는 하나의 쿼리에 동일한 값의 행이 여러 개 있으면 어떻게 해야 하나요? 섹션에서는 일부 쿼리에 일치하는 측정기준의 특정 값(또는 값 조합)이 있는 여러 행이 있는 경우 Looker에서 데이터 병합을 처리하는 방법을 설명합니다.
하나의 쿼리에 일치하는 데이터 값이 없으면 어떻게 해야 하나요?
기본 쿼리가 중요한 또 다른 이유는 일치하는 측정기준에서 null 값이 처리되는 방식 때문입니다.
기본 쿼리에 행이 있지만 추가 쿼리에 없는 경우, 추가된 쿼리의 해당 행에 대한 필드는 NULL입니다.
추가된 쿼리에 행이 있지만 기본 쿼리에는 없는 경우 행이 결과에 전혀 표시되지 않습니다.
이러한 예시를 설명하기 위해 다음 쿼리 예시를 살펴보세요.
기본 쿼리는 다음 결과를 반환합니다.
제품 카테고리 | 제품 부문 | 제품 카운트 |
---|---|---|
활성 | 어린이 | 522 |
활성 | 성인 | 545 |
드레스 | 성인 | 878 |
정장 | 성인 | 349 |
보조 쿼리는 다음 결과를 반환합니다.
제품 카테고리 | 제품 브랜드 이름 | 인벤토리 카운트의 항목 |
---|---|---|
활성 | 브랜드 1 | 223 |
드레스 | 브랜드 2 | 80 |
드레스 | 브랜드 3 | 3 |
청바지 | 브랜드 3 | 8 |
청바지 | 브랜드 2 | 19 |
이러한 쿼리를 제품 카테고리 필드에 병합하면 Looker가 다음과 같은 병합된 결과를 생성합니다.
제품 카테고리 | 제품 부문 | 제품 브랜드 이름 | 제품 카운트 | 인벤토리 카운트의 항목 |
---|---|---|---|---|
활성 | 성인 | 브랜드 1 | 545 | 223 |
활성 | 어린이 | 브랜드 1 | 522 | 223 |
드레스 | 성인 | 브랜드 2 | 878 | 80 |
드레스 | 성인 | 브랜드 3 | 878 | 3 |
정장 | 성인 | ∅ | 349 | ∅ |
기본 쿼리에는 정장 행이 있으므로 병합된 결과에 이 행이 표시됩니다. 추가된 쿼리에는 정장 행이 없으므로 추가된 쿼리의 필드에는 정장에 대한 NULL(∅)이 표시됩니다.
추가된 쿼리에는 청바지에 대한 행이 두 개 있지만 기본 쿼리에는 없습니다. 따라서 이 행은 병합된 결과에 전혀 표시되지 않습니다.
이 예시에서 추가된 쿼리를 새 기본 쿼리로 만들기 위해 기본 쿼리를 전환하면 Looker가 다음과 같은 병합된 결과를 대신 생성합니다.
제품 카테고리 | 제품 브랜드 이름 | 제품 부문 | 인벤토리 카운트의 항목 | 제품 카운트 |
---|---|---|---|---|
활성 | 브랜드 1 | 성인 | 223 | 545 |
활성 | 브랜드 1 | 어린이 | 223 | 522 |
드레스 | 브랜드 2 | 성인 | 80 | 878 |
드레스 | 브랜드 3 | 성인 | 3 | 878 |
청바지 | 브랜드 2 | ∅ | 19 | ∅ |
청바지 | 브랜드 3 | ∅ | 8 | ∅ |
정장 행은 더 이상 새 기본 쿼리에 없으므로 Looker가 표시하지 않습니다. 하지만 Looker는 이제 청바지 행을 표시하고 기본 쿼리에 추가된 쿼리에만 있는 측정기준 및 측정에 대해 이러한 행은 NULL을 표시합니다.
또한 보조 병합된 결과 쿼리에 null이 있는 이유는 무엇인가요?를 참조할 수 있습니다. 누락되거나 null 병합된 결과 값에 대한 추가적인 문제 해결 팁을 보려면 권장사항 페이지를 참조합니다.
하나의 쿼리에 동일한 값의 행이 여러 개 있으면 어떻게 해야 하나요?
마지막으로, 일치하는 값이 있는 여러 행이 처리되는 방식으로 인해 원하는 기본 쿼리를 지정하는 것도 중요합니다. 추가된 쿼리에 기본 쿼리의 행과 일치하는 값이 있는 행이 2개 이상 있으면 기본 쿼리 행이 해당 횟수로 중복됩니다.
아래 예에서, 추가된 쿼리에 드레스 행이 2개 있습니다. 병합된 결과에서 기본 쿼리의 드레스 값은 추가된 쿼리의 각 드레스 행에 1번씩 총 2번 표시됩니다.
기본 쿼리는 다음 결과를 반환합니다.
제품 카테고리 | 제품 부문 | 제품 카운트 |
---|---|---|
활성 | 어린이 | 522 |
활성 | 성인 | 545 |
드레스 | 성인 | 878 |
정장 | 성인 | 349 |
보조 쿼리는 다음 결과를 반환합니다.
제품 카테고리 | 제품 브랜드 이름 | 인벤토리 카운트의 항목 |
---|---|---|
활성 | 브랜드 1 | 223 |
드레스 | 브랜드 2 | 80 |
드레스 | 브랜드 3 | 3 |
청바지 | 브랜드 3 | 8 |
청바지 | 브랜드 2 | 19 |
제품 카테고리 필드에 병합되는 병합된 결과 쿼리는 다음 결과를 반환합니다.
제품 카테고리 | 제품 부문 | 제품 브랜드 이름 | 제품 카운트 | 인벤토리 카운트의 항목 |
---|---|---|---|---|
활성 | 성인 | 브랜드 1 | 545 | 223 |
활성 | 어린이 | 브랜드 1 | 522 | 223 |
드레스 | 성인 | 브랜드 2 | 878 | 80 |
드레스 | 성인 | 브랜드 3 | 878 | 3 |
정장 | 성인 | ∅ | 349 | ∅ |
이 경우 기본 쿼리를 전환하면 새로 지정된 기본 쿼리에 드레스에 대한 행이 2개 있으므로 여전히 드레스 행이 2개 남게 됩니다. 핵심은 쿼리를 병합할 때 결과에 기본 쿼리보다 더 많은 행이 있을 수 있지만 행이 더 적은 경우는 없다는 것입니다.
쿼리 병합
여러 쿼리의 결과를 병합하려면 다음 단계를 따르세요.
- 기본 쿼리라는 첫 번째 소스 쿼리를 만듭니다.
- 다음 소스 쿼리를 추가합니다.
- 해당 쿼리의 병합 규칙을 확인하고 병합을 실행합니다.
-
- 결과를 정렬하고, 피벗하고, 시각화를 만듭니다.
- URL을 사용하여 결과를 재사용하고 공유합니다.
- 소스 쿼리를 수정하거나 소스 쿼리를 추가하여 결과를 수정합니다.
기본 쿼리 만들기
여러 쿼리의 결과를 병합하려면 먼저 다음 단계에 따라 기본 쿼리를 준비합니다.
- Explore 메뉴에서 Explore 항목을 선택합니다.
필드 선택 도구에서 관심 있는 측정기준 및 측정값을 선택합니다. 이 단계에서는 측정기준을 피벗하지 마십시오.
이렇게 하면 결과 병합이 시작됩니다. 하지만 몇 가지 고급 탐색 기법을 사용하여 쿼리를 더 세분화할 수도 있습니다. 다음과 같은 작업을 할 수 있습니다.
원하는 경우 데이터의 필터를 추가합니다.
임시 측정항목을 만들려면 테이블 계산을 포함합니다.
선택적으로 실행을 클릭하여 기본 쿼리의 결과를 보고 필터와 테이블 계산을 테스트합니다.
다음 소스 쿼리 추가
기본 Explore를 만든 후 다음 단계에 따라 다른 소스 쿼리를 추가합니다.
- Explore에서 톱니바퀴 아이콘을 클릭합니다.
- 결과 병합을 선택합니다. Explore 선택 창이 열립니다.
Explore 선택 창에서 다음 쿼리를 만들 Explore의 이름을 클릭합니다.
Looker는 쿼리 수정 창에서 Explore 창을 열고 기본 쿼리와 병합할 새 쿼리를 빌드할 수 있습니다.
쿼리를 병합하기 위해 Looker는 값이 일치할 수 있는 쿼리에서 측정기준을 찾습니다. 쿼리와 값이 정확하게 일치할 수 있는 공통 측정기준을 하나 이상 포함해야 합니다. 예를 들어 두 쿼리 모두 날짜 측정기준이 있지만 한 쿼리는 값으로 '2017-10-01'을 사용하고 다른 쿼리는 값으로 'Aug 2017'을 사용하는 경우 Looker가 쿼리를 병합할 때 사용할 수 없습니다.
필드 선택 도구에서 관심 있는 측정기준 및 측정값을 선택합니다. 기본 쿼리의 측정기준과 정확하게 일치하는 측정기준이 하나 이상 포함되어야 합니다. 이 단계에서는 측정기준을 피벗하지 마십시오.
선택적으로 필터를 포함하여 데이터 범위를 좁힙니다.
선택적으로 테이블 계산을 통합하여 쿼리 필드를 기준으로 새 필드를 만듭니다.
선택적으로 실행을 클릭하여 소스 쿼리의 결과를 보고 필터와 테이블 계산을 테스트합니다.
저장을 클릭하여 쿼리를 기본 쿼리에 병합합니다.
병합 규칙 확인 및 병합 실행
Looker는 쿼리 일치에 사용할 최적의 측정기준을 자동으로 찾아 병합 규칙 섹션에 표시합니다. Looker에는 각 병합에 사용될 필드가 표시됩니다.
Looker가 쿼리 일치에 사용한 측정기준을 검토합니다. (이러한 규칙 변경에 대한 자세한 내용은 병합 규칙 수정을 참조하세요.)
실행을 클릭하여 병합된 쿼리 결과를 확인합니다.
소스 쿼리의 테이블 계산은 병합된 결과에 표준 측정기준으로 표시됩니다.
병합된 결과 사용 및 수정
병합된 결과를 사용하여 다음을 수행할 수 있습니다.
- 데이터 분석을 포함한 데이터 검토 및 정렬 그러나 두 Explore를 병합하는 데 사용하는 측정기준을 자세히 분석하면 Looker는 기본 Explore의 드릴 필드만 표시합니다.
- 총계를 봅니다. Looker는 각 구성요소 쿼리의 총계를 계산하고 이 총계를 병합된 결과에 사용합니다. 따라서 표시되는 결과가 총계가 너무 많아 보일 수 있습니다. 결과가 병합되기 전에 총계가 계산되기 때문입니다. 이를 방지하기 위한 한 가지 방법은 각 쿼리에서 필터를 정렬하는 것입니다.
- 시각화를 만듭니다.
- 데이터 테이블의 측정기준 열에 있는 톱니바퀴 메뉴에서 피벗을 선택하여 병합된 결과에서 측정기준을 피벗합니다. 소스 쿼리에서는 측정기준을 피벗할 수 없습니다.
병합된 결과를 재사용하려면 다음을 수행하면 됩니다.
- 브라우저 URL을 사용하여 결과를 공유합니다.
- 브라우저에서 URL을 북마크하여 나중에 동일한 병합된 쿼리를 다시 실행합니다. 병합된 결과를 Look으로 저장할 수 없습니다.
- 병합된 결과를 대시보드에 타일로 저장합니다(대시보드에 병합된 결과 저장 참조).
병합된 결과를 수정하려면 다음을 수행하면 됩니다.
- 쿼리 추가 버튼을 클릭하고 동일한 단계를 수행하여 추가 Explore에서 쿼리를 병합합니다.
- 소스 쿼리를 수정하거나 쿼리가 병합되는 방식을 구성합니다. 자세한 내용은 병합된 결과 수정을 참조하세요.
- 쿼리를 만들고 병합할 때 또는 병합된 결과 페이지에서 쿼리를 수정하여 소스 쿼리에 이러한 필터를 추가하여 필터를 만듭니다. 병합된 결과에 필터를 직접 추가할 수는 없습니다.
캐시를 지우고 데이터베이스에서 새 결과를 검색하려면 병합된 결과 창의 오른쪽 상단에 있는 톱니바퀴 메뉴에서 캐시 삭제 및 새로고침 옵션을 선택합니다.
병합된 결과 쿼리를 다운로드하려면 대시보드에 쿼리를 저장한 다음 대시보드를 PDF 또는 CSV 파일 모음으로 다운로드합니다.
병합된 결과 수정
병합된 결과가 있으면 병합된 결과를 다음과 같이 변경할 수 있습니다.
소스 쿼리 수정
병합된 결과 창에서 돌아가서 왼쪽 창의 쿼리 이름을 클릭하거나 쿼리의 톱니바퀴 메뉴에서 수정을 선택하여 소스 쿼리를 수정할 수 있습니다. 이러한 옵션은 쿼리 수정 화면으로 돌아갑니다.
필드를 추가 또는 삭제하거나, 테이블 계산을 추가하거나, 소스 쿼리의 필터를 변경할 수 있습니다. 저장을 클릭하여 병합된 결과로 돌아갑니다.
쿼리의 톱니바퀴 메뉴에는 다음 옵션도 있습니다.
- 이름 바꾸기: 병합된 결과 창에서 쿼리에 표시할 다른 이름을 지정합니다.
- 기본으로 설정: 쿼리를 병합된 결과의 기준으로 만듭니다. 기본 쿼리의 역할을 이해하려면 병합된 결과 이해를 참조하세요.
- 삭제: 병합된 결과에서 쿼리를 삭제합니다. (쿼리를 삭제한 후 병합된 결과에 쿼리를 다시 추가하려면 브라우저에서 뒤로 버튼을 사용하면 됩니다.)
병합 규칙 수정
쿼리를 추가하면 Looker가 추가된 쿼리를 기본 쿼리와 일치시키는 데 사용할 수 있는 측정기준을 자동으로 찾습니다. 추가된 각 쿼리에는 값이 기본 쿼리의 측정기준과 정확하게 일치하는 측정기준이 하나 이상 있어야 합니다. Looker는 병합 규칙 섹션에 이러한 일치 항목을 표시하여 쿼리를 병합하는 데 사용할 필드를 보여줍니다.
병합 규칙 섹션을 사용하여 Looker가 쿼리를 병합하는 데 사용하는 필드를 변경하거나 추가할 수 있습니다.
- 드롭다운 메뉴를 사용하여 데이터와 일치하는 다른 측정기준 옵션을 확인하세요.
- 일치에 사용할 수 있는 추가 측정기준이 있는 경우 Looker에 + 측정기준 추가가 표시됩니다. + 측정기준 추가를 클릭하여 쿼리 병합에 사용할 추가 측정기준 집합을 구성합니다.
- 두 측정기준 간에 데이터 일치를 원하지 않으면 X를 클릭합니다.
기본 쿼리 전환
쿼리를 병합할 때는 단일 Explore에서 단일 쿼리를 만든 다음 첫 번째 쿼리와 결합하여 다른 쿼리를 추가합니다. 기본적으로 첫 번째 쿼리가 기본 쿼리이지만 쿼리의 톱니바퀴 메뉴에서 기본으로 설정 쿼리 옵션을 선택하여 모든 쿼리를 기본 쿼리로 지정할 수 있습니다.
추가된 각 쿼리에는 기본 쿼리의 측정기준과 정확하게 일치할 수 있는 측정기준이 하나 이상 있어야 합니다.
기본 쿼리를 전환하면 병합된 결과가 변경될 가능성이 높습니다. 기본 쿼리의 역할을 이해하려면 병합된 결과 이해를 참조하세요.
병합된 결과를 대시보드에 저장
병합된 결과 쿼리를 대시보드에 추가하면 병합된 결과 타일에 대시보드 필터를 추가 또는 적용하거나, 타일 재정렬 ,타일 수정 또는새 타일 추가를 할 수 있습니다. 병합된 결과를 기반으로 타일에서 데이터를 다운로드할 수 없지만 대시보드를 PDF로 다운로드하거나 CSV 파일 모음으로 다운로드할 수 있습니다.
병합된 결과가 어떤 방식으로든 변경되면 병합된 결과 타일에 적용된 대시보드 필터가 사용 중지됩니다. 필터 구성 창에서 필터를 다시 사용 설정하여 복원할 수 있습니다.
삽입된 Look, 대시보드, Explore에서 쿼리 병합
적절한 권한이 있는 경우 삽입된 Look, 대시보드, Explore 내에 쿼리를 병합할 수 있습니다. 삽입된 Look 쿼리를 다른 쿼리와 병합하려면 다음과 같이 합니다.
- Look 제목 위에 마우스를 가져가 Look의 톱니바퀴 메뉴를 표시하고 톱니바퀴 메뉴를 클릭합니다.
- 결과 병합을 선택한 후 쿼리 병합 단계를 따릅니다.
삽입된 대시보드 타일의 쿼리를 병합하려면 다음과 같이 합니다.
- 대시보드 타일 위로 마우스를 가져가면 대시보드 타일의 드롭다운 메뉴를 검토할 수 있습니다.
- 드롭다운 메뉴에서 여기에서 탐색을 선택합니다. Looker에서 해당 타일의 Explore를 엽니다.
- Explore의 톱니바퀴 메뉴를 클릭하고 결과 병합을 선택합니다.
- 쿼리 병합 단계를 따릅니다.
참고
병합된 결과 기능에는 각 병합된 쿼리마다 데이터 행이 5,000개로 제한됩니다. 5,000개가 넘는 데이터 행을 반환하는 쿼리를 포함하면 반환되는 처음 5,000개의 행만 병합된 결과에 포함됩니다.
모든 기본 쿼리의 필드는 필드에 기본 쿼리의 이름을 사용하여 병합된 결과에 표시됩니다. 즉, 기본 쿼리와 추가된 쿼리가 일치하는 측정기준에 대해 다른 이름을 사용하면 결과에 기본 쿼리의 측정기준 이름만 표시됩니다.
결론
Looker 개발자가 여러 데이터베이스 테이블의 데이터를 결합하는 방법을 신중하게 고려했으므로 가능한 모든 경우에 단일 Explore의 데이터를 사용해야 합니다. 그러나 필요한 경우 여러 Explore 및 데이터베이스의 데이터를 결합할 수 있는 강력한 기법이 결과 병합입니다.