포함

사용


include: "/views/airports.view"
계층 구조
include

- 또는 -

include

- 또는 -

include
기본값
없음

수락
파일 이름 또는 패턴이 포함된 문자열

정의

include 파라미터는 모델, 뷰 또는 Explore에서 사용할 수 있는 LookML 파일을 지정합니다. 다른 파일 내에서 LookML 파일을 사용하거나 참조하려면 include 매개변수를 사용하여 추가해야 합니다.

모델 파일, 뷰 파일, Explore 파일에서 include 매개변수를 사용할 수 있습니다. include 매개변수는 컨텍스트에 따라 다양한 유형의 LookML 파일을 참조할 수 있습니다.

모델 파일에서 include를 사용하여 다음 파일 형식을 참조할 수 있습니다.

뷰 파일에서 include를 사용하여 다음 파일 형식을 참조할 수 있습니다.

Explore 파일에서 include를 사용하여 다음 파일 형식을 참조할 수 있습니다.

include를 사용하여 다른 프로젝트의 파일을 가져올 수도 있습니다. 다른 프로젝트의 파일을 포함하는 방법에 관한 자세한 내용은 다른 프로젝트에서 파일 가져오기 문서 페이지를 참고하세요.

include 사용 시 다음 사항에 유의하세요.

  • 문서 파일 또는 데이터 파일과 같은 LookML이 아닌 파일 유형에는 include을 사용하지 않아도 됩니다.
  • 파일 포함은 전체 또는 없음이므로 포함 파일의 모든 정보가 포함하는 파일에 추가됩니다.
  • 파일에서 include 매개변수를 여러 개 사용할 수 있습니다.
  • * 와일드 카드 문자를 사용하여 전략적 명명 규칙이 적용된 파일이나 확장자가 동일한 파일을 나타낼 수 있습니다. 예를 들어 "*base.dashboard"을 사용하여 "database.dashboard""crunchbase.dashboard"을 모두 일치시키고 포함할 수 있습니다. "*.dashboard"를 사용하여 확장자가 .dashboard인 모든 파일을 나타낼 수 있습니다.
  • * 와일드 카드 문자를 사용하여 디렉터리의 모든 파일을 포함할 수 있습니다. 예를 들어 include: "/views/users/*.view"을 지정하여 views/users/ 디렉터리에 모든 뷰 파일을 포함할 수 있습니다. IDE 폴더에서 와일드 카드를 사용하는 방법에 대한 자세한 내용은 IDE 폴더 문서 페이지를 참고하세요.

모델 파일에서 include 사용

모델 파일에서 include 매개변수를 사용하여 뷰 및 대시보드 또는 Explore를 포함할 수 있습니다.

모델에 뷰 및 대시보드 포함

모델 파일에서 include 매개변수를 사용하여 해당 모델에서 사용할 수 있는 대시보드 및 뷰 파일을 지정합니다. 모델 내에서 LookML 파일을 사용하거나 참조하려면 include 매개변수를 사용하여 추가해야 합니다.

include 파라미터에서 뷰 파일에는 .view 확장 프로그램을 사용하고 대시보드에는 .dashboard 확장 프로그램을 사용합니다. 이러한 확장 프로그램의 .lkml.lookml 부분을 생략할 수 있습니다.

* 와일드 카드 문자를 사용하여 전략적 명명 규칙이 적용된 파일이나 확장자가 동일한 파일을 나타낼 수 있습니다. include 매개변수 페이지의 와일드 카드 예 섹션에 설명된 대로 디렉터리 경로와 함께 * 와일드 카드를 사용하여 여러 파일을 지정할 수도 있습니다.

예를 들어 모델 파일에서 다음과 같은 include 매개변수를 사용할 수 있습니다.

include: "/**/*.dashboard"
include: "/*/*base.view.lkml"
include: "//e_commerce/views/*.view.lkml"

이러한 파라미터에는 다음 파일이 포함됩니다.

  • 프로젝트의 모든 디렉터리에 있는 모든 대시보드 파일
  • 프로젝트의 바로 하위 디렉터리(예: /views/database.view.lkml 또는 /public/crunchbase.view.lkml)에서 base.view.lkml로 끝나는 모든 뷰 파일
  • e_commerce라는 가져온 프로젝트/views/ 디렉터리에 있는 모든 뷰 파일

프로젝트에 뷰 파일이 많은 경우 또는 프로젝트에 영구 파생 테이블 (PDT)이 사용되는 경우 모델에 모든 뷰 파일을 포함하지 않는 것이 좋습니다. 대신 다음과 같이 개별 보기 파일을 포함하세요. 다음은 프로젝트에 개별 뷰 파일과 모든 대시보드를 포함하는 예입니다.

include: "/views/order.view"
include: "/views/user.view"
include: "/**/*.dashboard"

모델에 모델 포함

다른 프로젝트의 모델 파일은 포함할 수 없습니다. 대신 프로젝트 간에 Explore를 재사용, 상세검색 또는 확장하려면 가져온 프로젝트에서 별도의 Explore 파일을 생성한 다음 다른 프로젝트의 Explore 파일을 포함합니다. 자세한 내용은 모델에 Explore 포함을 참고하세요.

모델에 Explore 포함

Explore는 일반적으로 모델 파일 내에서 정의됩니다. 하지만 파생 테이블에 대해 또는 모델 전체에서 Explore를 확장하거나 세분화하기 위해 별도의 Explore 파일이 필요한 경우도 있습니다.

별도의 Explore 파일이 있는 경우 모델 파일에서 include 매개변수를 사용하여 포함해야 합니다. include 매개변수에서 Explore 파일에 확장 프로그램 .explore.lkml을 사용합니다.

다음 예시는 Explore가 두 개인 모델 파일입니다.

  • explores 폴더의 aircraft_new.explore.lkml이라는 자체 파일에 정의된 aircraft_new Explore 해당 Explore는 자체 파일에 정의되어 있으므로 include 매개변수에 Explore 파일의 경로를 지정해야 합니다.
  • 모델 파일 내에 정의된 accidents Explore 모델 파일 자체에 정의되어 있으므로 모델에서 include 매개변수를 사용할 필요가 없습니다. 하지만 accidents Explore의 기반이 되는 뷰에는 include가 필요합니다.
connection: "faa"

include: "/explores/aircraft_new.explore.lkml"
include: "/views/accidents.view"

explore: accidents {
  view_name: accidents
  from: accidents
}

모델에 데이터 테스트 포함

데이터 테스트는 모델 파일 또는 뷰 파일에서 직접 정의할 수 있습니다. 하지만 프로젝트의 여러 위치에서 데이터 테스트를 재사용하려면 별도의 데이터 테스트 파일을 만들 수도 있습니다.

별도의 데이터 테스트 파일이 있는 경우 데이터 테스트를 실행할 수 있도록 모델 파일 또는 뷰 파일에서 include 매개변수를 사용해야 합니다. include 매개변수에서 데이터 테스트 파일의 확장 프로그램 .lkml을 사용합니다.

예를 들어 다음은 데이터 테스트 파일이 포함된 모델 파일의 일부입니다.

connection: "faa"

include: "/explores/aircraft_new.explore.lkml"
include: "/views/accidents.view"
include: "/tests/data_tests.lkml"

. . .

모델 파일에 데이터 테스트 파일을 포함하면 데이터 테스트를 실행하여 데이터 테스트가 제대로 작동하는지 확인하고 모델의 논리가 테스트를 통과하는지 확인할 수 있습니다.

이 페이지의 뷰에 데이터 테스트 포함 섹션에 설명된 대로 뷰 파일에 데이터 테스트 파일을 포함할 수도 있습니다.

뷰 파일에서 include 사용

대부분의 경우 뷰 파일에서 include를 사용할 필요가 없습니다. 하지만 뷰 파일에 파일을 포함해야 하는 몇 가지 경우가 있습니다.

뷰에 뷰 포함 (확장 또는 상세검색)

다른 뷰 파일에 뷰 파일을 포함하여 포함된 뷰를 확장하거나 세부적으로 조정할 수도 있습니다.

예를 들어 basic_order_fields 뷰 파일을 포함한 후 확장하는 marketing_order_fields 뷰 파일은 다음과 같습니다.

include: "/views/basic_order_fields.view"
view: marketing_order_fields {
  extends: [basic_order_fields]  # The file that contains the basic_order_fields
}                                # view should be included

뷰에 Explore 포함

대부분의 경우 뷰에 Explore를 포함할 필요가 없습니다. 하지만 네이티브 파생 테이블explore_source 매개변수가 있는 자체 뷰 파일에 정의되어 있으므로 특별한 경우입니다. explore_source 매개변수를 사용하여 Explore를 지정하고 기본 파생 테이블의 원하는 열과 기타 원하는 특성을 정의합니다. Explore는 일반적으로 모델 파일 내에서 정의되지만 기본 파생 테이블의 경우 .explore.lkml 파일 확장자를 사용하여 Explore에 대해 별도의 파일을 만드는 것이 더 깔끔할 수 있습니다. 별도의 Explore 파일을 만드는 경우 기본 파생 테이블 뷰 파일에 Explore 파일을 포함해야 합니다.

다음은 기본 파생 테이블 뷰 파일에서 include를 사용하여 Explore 파일을 가리키는 예입니다.

include: "/explores/order_items.explore.lkml"

view: user_order_facts {
  derived_table: {
    explore_source: order_items {
      column: user_id {field: order_items.user_id}
      column: lifetime_number_of_orders {field: order_items.order_count}
      column: lifetime_customer_value {field: order_items.total_revenue}
      derived_column: average_customer_order {
        sql:  lifetime_customer_value / lifetime_number_of_orders ;;
      }
    }
  }
  dimension: user_id {hidden: yes}
  dimension: lifetime_number_of_orders {type: number}
  dimension: lifetime_customer_value {type: number}
  dimension: average_customer_order {type: number}
}

기본 파생 테이블의 Explore 파일에 대한 자세한 내용은 include 문을 사용하여 필드 참조 사용 설정에 관한 문서를 참고하세요.

뷰에 데이터 테스트 포함

데이터 테스트는 모델 파일 또는 뷰 파일에서 직접 정의할 수 있습니다. 하지만 프로젝트의 여러 위치에서 데이터 테스트를 재사용하려면 별도의 데이터 테스트 파일을 만들 수도 있습니다.

별도의 데이터 테스트 파일이 있는 경우 데이터 테스트를 실행할 수 있도록 모델 파일 또는 뷰 파일에서 include 매개변수를 사용해야 합니다. include 매개변수에서 데이터 테스트 파일의 확장 프로그램 .lkml을 사용합니다.

예를 들어 데이터 테스트 파일이 포함된 뷰 파일의 발췌문은 다음과 같습니다.

include: "/tests/data_tests.lkml"

view: orders {
  sql_table_name: looker.orders ;;

  dimension: id {
    primary_key: yes
    type: number
    sql: ${TABLE}.id ;;
  }

. . .

데이터 테스트 파일을 뷰 파일에 포함하면 데이터 테스트를 실행하여 데이터 테스트가 올바르게 작동하는지 확인하고 뷰의 로직이 테스트를 통과하는지 확인할 수 있습니다.

이 페이지의 모델에 데이터 테스트 포함 섹션에 설명된 대로 모델 파일에 데이터 테스트 파일을 포함할 수도 있습니다.

Explore 파일에서 include 사용

Explore는 일반적으로 모델 파일 내에서 정의됩니다. 하지만 파생 테이블에 대해 또는 모델 전체에서 Explore를 확장하거나 세분화하기 위해 별도의 Explore 파일이 필요한 경우도 있습니다.

별도의 Explore 파일이 있는 경우 include 매개변수를 사용하여 또는 기타 Explore를 포함할 수 있습니다.

Explore에 뷰 포함하기

별도의 Explore 파일이 있는 경우 Explore에서 사용되는 뷰를 포함해야 합니다. 뷰 파일에는 파일 확장자 .view을 사용합니다. 파일 확장자의 .lkml 부분을 생략할 수 있습니다. 다음은 사용 중인 두 개의 뷰가 포함된 Explore 파일의 예입니다.

include: "/views/aircraft.view"
include: "/views/aircraft_types.view"

explore: aircraft {
  join: aircraft_types {
    type: left_outer
    sql_on: ${aircraft.aircraft_type_id} = ${aircraft_types.aircraft_type_id} ;;
    relationship: many_to_one
  }
}

Explore에 Explore 포함

Explore를 확장하거나 세분화하는 경우와 같이 Explore 파일 하나를 다른 Explore 파일에 포함할 수 있습니다. include 파라미터를 사용하고 파일 확장자 .explore.lkml을 추가합니다.

다음은 다른 Explore 파일을 포함한 후 Explore를 확장하는 Explore 파일의 예입니다.

include: "/explores/base.explore.lkml"

explore: aircraft_information {
  extends: [aircraft]

IDE 폴더에서 include 사용

LookML 프로젝트 파일을 폴더로 구성할 때는 include 문 내 파일의 경로를 제공해야 합니다.

include 문에서 절대 경로 또는 상대 경로를 사용할 수 있으며 (예는 이 페이지의 경로 문법 섹션 참고) 와일드 카드 ***를 사용하여 여러 파일을 한 번에 포함할 수 있습니다 (예는 이 페이지의 와일드 카드 예 섹션 참고).

예를 들어 프로젝트에 다음과 같은 디렉터리 구조가 있고 views 폴더의 최상위 콘텐츠가 다음과 같다고 가정해 보겠습니다.

  • 뷰 파일 order_factsorder_items가 포함된 orders 폴더
  • 뷰 파일 user_with_age_extension, users, users_extended가 포함된 users 폴더
  • 개별 보기 파일 distribution_centers, events, inventory_items, products

Explore, 모델, 뷰를 위한 폴더가 있는 샘플 디렉터리 구조

다음 문에는 products 뷰, order_facts 뷰, /views/users/ 디렉터리의 모든 뷰가 포함됩니다.

include: "/views/products.view"
include: "/views/orders/order_facts.view"
include: "/views/users/*.view"

파일 경로를 변경할 때는 프로젝트의 include 문을 파일의 새 경로와 일치하도록 업데이트해야 합니다. 기존 파일 또는 파일 경로를 더 이상 참조하지 않는 경우 이전 include 문에 LookML 유효성 검사 경고가 표시될 수 있습니다. 또한 파일 경로가 변경되어 더 이상 찾을 수 없는 참조된 객체에 대한 LookML 유효성 검사 오류가 표시될 수 있습니다.

경로 문법

파일을 포함하는 데 사용할 수 있는 구문의 예는 다음과 같습니다.

구문 설명
PATH 현재 파일 위치에서 시작하는 상대 경로입니다.
./PATH 현재 파일 위치에서 시작하는 상대 경로입니다. 이 예시는 이전 예시와 동일한 파일(PATH)을 가리킵니다.
../PATH 현재 파일의 상위 디렉터리에서 시작하는 상대 경로입니다.
/PATH 현재 프로젝트의 루트에서 시작하는 절대 경로입니다.
//PROJECT_NAME/PATH PROJECT_NAME라는 가져온 프로젝트의 루트에서 시작하는 절대 경로입니다.

와일드 카드 사용

관리해야 하는 파일이 몇 개뿐인 프로젝트의 경우 다음과 같이 각 파일을 자체 include 매개변수에 나열할 수 있습니다.

include: "/dashboards/user_info.dashboard"
include: "/views/users.view"

포함할 파일이 많은 프로젝트의 경우 와일드 카드를 사용하여 여러 파일을 한 번에 포함하면 작성해야 하는 include 매개변수의 수를 줄일 수 있습니다.

와일드 카드는 특히 기존 프로젝트를 IDE 폴더로 정리할 때 LookML 유효성 검사 경고에 대한 임시 수정사항을 만들어야 하는 개발 중에 유용할 수 있습니다. 하지만 include 문에서 와일드 카드를 사용할 때는 다음 사항을 고려하세요.

IDE 폴더에서 와일드 카드 사용

와일드 카드를 IDE 폴더와 함께 사용하여 LookML 프로젝트의 특정 디렉터리에 파일을 포함할 수 있습니다.

예를 들어 다음 include 문은 LookML 프로젝트의 /explores/ 디렉터리에 있는 모든 파일을 참조합니다.

include: "/explores/*"

특정 파일 형식에 와일드 카드 사용

와일드 카드를 사용하여 특정 유형의 모든 파일을 참조할 수 있습니다. 예를 들어 다음 include 문은 LookML 프로젝트의 모든 Explore 파일을 참조합니다.

include: "/**/*.explore.lkml"

LookML 파일 유형과 파일 확장자 목록은 LookML 프로젝트 파일 이해 문서 페이지의 LookML 프로젝트의 파일 유형 섹션을 참고하세요.

전략적 이름 지정 패턴과 함께 와일드 카드 사용

전략적인 파일 이름 지정과 함께 와일드 카드를 사용하여 include 문을 추가로 최적화할 수도 있습니다. 예를 들어 다음과 같이 파일 이름을 지정하는 대신

/views/apple.view
/views/banana.view
/views/cherry.view
/views/orange.view
/views/celery.view

다음과 같이 파일 이름에 전략적 접두사 또는 접미사를 추가할 수 있습니다.

/views/apple.fruit.view
/views/banana.fruit.view
/views/cherry.fruit.view
/views/orange.fruit.view
/views/celery.vegetable.view

그런 다음 와일드 카드를 사용하여 이 include를 사용하여 .fruit 접미사만 참조합니다.

include: "/views/*.fruit.view"

와일드 카드 예

와일드 카드를 사용하는 몇 가지 예는 다음과 같습니다. 이전 표의 경로 구문으로 PATH을 대체할 수 있습니다.

구문 설명
PATH/*.view PATH에서 .view로 끝나는 파일의 와일드 카드 일치
PATH/*.view.lkml PATH에서 .view.lkml로 끝나는 파일의 와일드 카드 일치

뷰 파일의 확장자는 .view.lkml이므로 이 예시에서는 이전 예시와 동일한 파일인 PATH/*.view을 지정합니다. .lkml 부분은 IDE에 표시되지 않으며 include 문에 .lkml 부분이 필요하지도 않습니다. 하지만 와일드 카드를 사용하여 파일 확장자의 공통 부분을 활용할 수 있습니다. 프로젝트 파일 확장자 목록은 LookML 프로젝트 파일 문서 페이지를 참고하세요.
PATH/*.lkml PATH에서 .lkml로 끝나는 파일의 와일드 카드 일치

.view.lkml, .model.lkml 등 여러 파일 유형이 파일 확장자의 마지막 부분으로 .lkml을 공유합니다. .lkml 부분은 IDE에 표시되지 않으며 include 문에 .lkml 부분이 필요하지도 않습니다. 하지만 와일드 카드를 사용하여 파일 확장자의 공통 부분을 활용할 수 있습니다. 프로젝트 파일 확장자 목록은 LookML 프로젝트 파일 문서 페이지를 참고하세요.
PATH/myfile.* PATH에서 확장자 유형이 myfile인 파일과 일치하는 와일드 카드
PATH/myfile.*.lkml PATH에서 .lkml 확장자 유형이 있는 myfile이라는 파일과 와일드 카드로 일치시킵니다.
PATH/my*file.view PATH에서 my로 시작하고 file.view로 끝나는 파일과 와일드 카드로 일치시킵니다.
PATH/my*fi*le.view my로 시작하고, 일부 문자가 이어지고, fi, 일부 추가 문자가 이어지고, PATH에서 le.view로 끝나는 파일과 일치하는 와일드 카드입니다.
PATH/*/myfile.lkml 폴더 이름 와일드 카드 (단일 중첩 수준만 일치) PATH의 모든 직계 하위 디렉터리에 있는 모든 myfile.lkml 파일과 일치합니다.
PATH/**/my_file.view PATH 및 모든 하위 디렉터리에 있는 my_file.view.lkml라는 모든 파일에 대한 재귀 와일드 카드 일치 (중첩 수와 관계없이 일치)
PATH/**/*.view PATH의 하위 디렉터리에서 .view.lkml로 끝나는 모든 파일과 일치하는 재귀 와일드 카드입니다.
PATH/**/my_folder/myfile.view PATH 아래의 모든 깊이에서 하위 경로 /my_folder/myfile.view와 일치하는 재귀 와일드 카드입니다.

예시

모델 파일, 뷰 파일, Explore 파일에서 include를 사용하는 예는 이전 섹션을 참고하세요.

고려사항

모든 뷰 파일을 포함하면 LookML 유효성 검사 성능에 영향을 미칠 수 있음

프로젝트에 뷰 파일이 많이 있고 모델 파일에 모든 뷰 파일을 포함하는 경우 LookML 검사기의 성능에 영향을 미칠 수 있습니다. LookML 검사기는 모델에 포함된 모든 뷰 파일을 확인하므로 모델 파일의 include 매개변수에는 필요한 뷰 파일만 포함해야 합니다.

모델 내에서 뷰 그룹을 쉽게 포함할 수 있도록 뷰 파일에 전략적 명명 규칙을 사용하는 것이 좋습니다 (이 페이지의 전략적 명명 패턴과 함께 와일드카드 사용의 예 참고). 또는 IDE 폴더를 사용하여 뷰를 폴더로 정리할 수 있습니다. 그런 다음 * 와일드 카드를 사용하여 프로젝트에 모든 뷰를 포함하는 대신 단일 폴더에 모든 뷰를 포함할 수 있습니다. 자세한 내용은 IDE 폴더에서 include 사용 섹션을 참고하세요.

모든 뷰 파일을 포함하면 데이터베이스 스키마가 혼잡해질 수 있습니다.

영구 파생 테이블 (PDT)을 사용하는 프로젝트의 경우 모델 파일에 PDT의 뷰 파일을 포함할 수 있습니다. 하지만 PDT의 뷰 파일을 포함하는 각 모델 파일은 데이터베이스의 스크래치 스키마에 PDT의 사본을 만듭니다. 모델 파일이 여러 개 있고 모델 파일에 모든 뷰 파일을 포함하는 경우 데이터베이스 스크래치 스키마에 불필요한 혼란이 추가될 수 있습니다. 따라서 PDT가 필요한 모델 파일에만 PDT의 뷰 파일을 포함해야 합니다.