link

사용

view: view_name {
  dimension: field_name {
    link: {
      label: "desired label name"
      url: "desired_url"
      icon_url: "url_of_an_image_file"
    }
    # Possibly more links
  }
}
계층 구조
link
사용 가능한 입력란 유형
측정기준, 측정값

허용
다양한 매개변수

정의

link 매개변수를 사용하면 측정기준과 측정값에 웹 링크를 추가하여 사용자가 Looker에서 직접 관련 콘텐츠로 쉽게 이동할 수 있습니다. link 매개변수의 형식은 다음과 같습니다.

dimension: field_name {
  link: {
    label: "desired label name"
    url: "desired_url"
    icon_url: "url_of_an_image_file"
  }
  # Possibly more links
}

link 매개변수에는 여러 하위 매개변수가 있습니다.

  • label은 사용자에게 표시할 링크의 이름입니다.
  • url은 링크가 이동할 URL입니다. 이 페이지의 `link`와 함께 Liquid 변수 사용 섹션에 설명된 대로 Liquid 변수를 사용하여 링크를 동적으로 만들 수 있습니다.link
  • icon_url은 사용자 브라우저에서 액세스할 수 있으며 이미지 파일이 포함된 URL입니다. 이를 통해 사용자는 링크가 어디로 연결되는지 한눈에 쉽게 파악할 수 있습니다. 아이콘이 필요하지 않은 경우 icon_url 매개변수는 필수가 아닙니다. 기업 로고가 필요한 경우, http://www.google.com/s2/favicons?domain=[company website of interest] 형식으로 Google 검색을 실행하여 .ico 형식의 이미지를 찾아볼 수 있습니다.

전자상거래 회사는 직원이 지난달의 보류 중인 주문을 표시하는 Look과 같은 Looker 콘텐츠에서 직접 창고 지원팀에 문의할 수 있도록 하려고 합니다. Look에는 주문 ID와 각 주문과 연결된 고객의 사용자 ID가 포함되어 있습니다.

주문 ID 측정기준에 링크를 추가하여 Look을 보는 사용자가 이 작업을 실행할 수 있도록 할 수 있습니다.


dimension: id {
  primary_key: yes
  type: number
  sql: ${TABLE}.id ;;
  link: {
    label: "Contact Warehouse Support"
    url: "mailto:warehouse@altostrat.com"
  }
}

Look에서 사용자는 주문 ID 필드의 값에 대한 점 3개로 된 메뉴를 클릭하여 액세스하는 링크 메뉴의 옵션 중에서 창고 지원팀에 문의 링크를 볼 수 있습니다.

링크 이름을 클릭하면 사용자가 연결된 콘텐츠로 이동합니다. 이 경우 지정된 이메일 주소로 전송되는 빈 이메일 초안이 있는 새 탭입니다.

사용자가 링크를 클릭하면 Looker는 새 브라우저 탭 또는 동일한 탭 (또는 삽입된 쿼리의 경우 iframe)에서 링크를 엽니다.

  • https://example.looker.com과 같은 절대 링크는 새 브라우저 탭에서 열립니다.
  • /dashboards/456과 같은 상대 링크는 동일한 브라우저 탭 또는 iframe에서 열립니다. 링크가 열리면 사용자는 브라우저에서 뒤로 를 클릭하여 원래 쿼리로 돌아갈 수 있습니다.

사용자가 링크에 액세스하려면 explore 또는 see_drill_overlay 권한이 있어야 합니다.

link 매개변수는 Liquid 변수를 지원하여 콘텐츠를 행 및 값 수준까지 더욱 상호작용적으로 만듭니다. LookML은 두 가지 종류의 Liquid 사용 태그를 지원합니다. 값 입력 {{ }} 태그와 조건부 로직 {% %} 태그입니다.

이 두 가지 중에서 {{ }}value_filters['view_name.field_name'] Liquid 변수와 함께 link에 가장 일반적으로 사용됩니다. 이는 {{ }} 태그가 URL과 같이 배치된 위치에 값을 직접 입력하기 때문입니다.

이 페이지의 예시에서 Liquid {{ }} 태그를 value_filters['view_name.field_name'] 변수와 함께 사용하여 콘텐츠를 link와 상호작용적으로 만드는 방법을 알아보세요.

외부 콘텐츠에 연결

예를 들어 artist_name 측정기준이 있고 사용자가 Looker에서 바로 해당 아티스트에 대한 Google 검색을 실행할 수 있도록 하려고 한다고 가정해 보겠습니다. value Liquid 변수를 사용하여 다음과 같이 측정기준에 해당 옵션을 추가할 수 있습니다.

dimension: artist_name {
  link: {
    label: "Google"
    url: "http://www.google.com/search?q={{ value }}"
    icon_url: "http://google.com/favicon.ico"
  }
}

사용자가 아티스트 이름 필드의 값에 대한 점 3개로 된 메뉴를 클릭하면 Looker는 샘플 LookML에서 생성된 링크를 포함하는 링크 메뉴를 표시합니다. 링크는 선택한 아티스트에 대한 Google 검색을 새 브라우저 탭에서 엽니다. 선택한 아티스트 이름은 {{ value }}가 배치된 URL에 삽입됩니다.

이 패턴은 웹 애플리케이션 간의 탐색을 용이하게 하기 위해 티켓 관리 시스템, 클라이언트 관리 시스템, 기타 비즈니스 관련 도구와 같이 사용자 브라우저에서 액세스할 수 있는 다른 외부 웹사이트에 복제할 수 있습니다.

Looker의 콘텐츠에 연결

외부 사이트 외에도 link 매개변수를 사용하여 사용자에게 맞춤 드릴링 환경을 위한 다른 관련 Looker Explore, Look 또는 대시보드로 안내할 수 있습니다. 필드의 LookML html 매개변수의 링크에도 동일한 예를 적용할 수 있습니다.

시작하려면 연결할 기존 Explore, Look 또는 대시보드의 URL을 가져와야 합니다. 그런 다음 필터 값 및 이름과 같은 URL의 특정 요소를 {{ }} 태그로 바꿀 수 있습니다. 여기에는 value_filters['view_name.field_name'] 변수가 포함됩니다. 변수는 사용자가 선택한 값을 대체하는 URL 요소에 입력합니다. 콘텐츠 URL의 기본 구조는 다음과 같습니다.

  • Explore: /explore/YOUR_MODEL_NAME/YOUR_EXPLORE_NAME?fields=view_name.field_name1,view_name.field_name2...
    • 확장된 URL 톱니바퀴 아이콘 옵션을 선택하여 기존 Explore의 Explore URL을 가져올 수 있습니다.
    • Explore 필터는 URL에 f[view_name.field_name]로 표시됩니다. 예시는 관련 Explore에 연결 섹션을 참고하세요.
  • Look: /looks/YOUR_LOOK_NUMBER
  • 사용자 정의 대시보드: /dashboards/YOUR_DASHBOARD_NUMBER?FILTER_NAME_1=VALUE&FILTER_NAME_2=VALUE

    • 대시보드 페이지에서 브라우저 URL을 복사하여 기존 대시보드의 URL을 가져올 수 있습니다.
  • LookML 대시보드: /dashboards/YOUR_MODEL::YOUR_DASHBOARD

    • 대시보드 페이지에서 브라우저 URL을 복사하여 기존 LookML 대시보드의 URL을 가져올 수 있습니다.

사용자 정의 대시보드와 LookML 대시보드의 대시보드 필터는 URL에 filter_name으로 표시됩니다. 여기서 filter_name은 대시보드에 배치된 필터에 지정된 이름입니다. 예시는 연결된 콘텐츠에 기존 필터 값 전달 섹션을 참고하세요.

필터 값 및 이름과 같은 URL 요소는 쿼리 문자열의 시작을 나타내는 ? 요소를 구분하는 & 공백을 나타내는 %20와 같은 특수문자로 URL 인코딩됩니다. 예시는 다른 비교 연산자 URL 인코딩 섹션을 참고하세요.

연결할 콘텐츠의 URL이 있으면 Liquid를 사용하여 value 또는 _filters['view_name.field_name'] 변수와 {{ }} 태그를 사용하여 필드 값을 URL의 모든 요소에 삽입할 수 있습니다. 쿼리 URL의 부분에 대한 자세한 내용은 URL 및 쿼리 매개변수 사용 Looker 커뮤니티 게시물을 참고하세요.

도시 라는 측정기준이 있습니다. 사용자가 도시 측정항목과 도시 필터가 있는 다른 기존 Explore에 액세스할 수 있도록 하려고 합니다. 연결된 Explore가 사용자가 선택한 도시로 필터링되도록 하려고 합니다.

이렇게 하려면 다음과 같은 조치가 필요합니다.

  1. 드릴할 기존 Explore의 URL을 가져옵니다.
  2. 도시 측정기준에 link 매개변수를 추가합니다.
  dimension: city {
  type: string
  sql: ${TABLE}.city ;;
  link: {
    label: "City Metrics Explore"
    url: "/explore/ecommerce_model/order_items_explore?fields=users.city,orders.count,users.count&f[users.city]=&sorts=orders.count+desc&limit=500"
  }
  }

여기서 URL은 명확성을 위해 Explore 결과를 500개 행으로 제한하는 limit=500으로 단축되었습니다. 필요에 따라 시각화 설정의 URL 인코딩을 일반적으로 포함하는 나머지 URL을 포함할 수 있습니다.

  1. 값을 URL에 삽입할 위치에 Liquid {{ value }} 태그와 변수를 삽입합니다. 이 경우 사용자가 선택한 도시로 필터링할 Explore의 URL 문자열에 필터 요소 f[users.city]=가 있는 위치에 값을 배치하려고 합니다.
dimension: city {
  type: string
  sql: ${TABLE}.city ;;
  link: {
    label: "City Metrics Explore"
    url: "/explore/ecommerce_model/order_items_explore?fields=users.city,orders.count,users.count&f[users.city]={{ value }}&sorts=orders.count+desc&limit=500"
  }
}

그러면 도시 측정기준에 도시 측정항목 Explore 옵션을 표시하는 점 3개로 된 링크 메뉴가 표시됩니다.

사용자가 링크를 클릭하면 선택한 도시로 필터링된 도시 측정항목 Explore로 리디렉션됩니다.

다음 예에서 설명한 대로 Looker 콘텐츠에 연결할 때 기존 필터 값을 유지할 수도 있습니다.

예: 연결된 콘텐츠에 기존 필터 값 전달

link 매개변수에서 지원하는 또 다른 Liquid 변수는 _filters['view_name.field_name']입니다. 이 변수는 필드에 입력된 기존 값을 가져와서 연결된 Explore, 대시보드 또는 Look에 전달합니다.

콘텐츠 URL에서 필터 값이 지정된 위치를 확인하고 _filters['view_name.field_name'] 변수로 바꿀 수 있습니다. 쿼리 URL의 부분에 대한 자세한 내용은 URL 및 쿼리 매개변수 사용 Looker 커뮤니티 게시물을 참고하세요.

다음은 link 매개변수에서 _filters['view_name.field_name'] 변수를 사용하여 users.state라는 필드의 기존 필터 값을 전달하는 측정기준의 예입니다.

dimension: name {
  link: {
    label: "Business Pulse By State Dashboard"
    url: "/dashboards/694?State={{ _filters['users.state'] | url_encode }}"
  }
}

이 예에서 사용자가 users.state 측정기준으로 쿼리를 필터링하면 연결된 대시보드가 원래 쿼리에서 선택한 동일한 주로 자동 필터링됩니다. 이 예에서 Liquid 필터 url_encode를 포함하면 URL에 안전하지 않은 문자열이 퍼센트 인코딩된 문자열로 변환됩니다. 이렇게 하면 공백이나 쉼표와 같은 특수문자가 포함된 필터 값을 연결된 대시보드로 전달할 수 있습니다.

예를 들어 사용자가 '캘리포니아' 주로 쿼리를 필터링했다고 가정해 보겠습니다. 사용자가 이름 필드의 값 옆에 있는 점 3개로 된 메뉴를 클릭하면 링크 메뉴에 주별 비즈니스 현황 대시보드로 연결되는 링크가 표시됩니다. 사용자가 이 링크를 클릭하면 주별 비즈니스 현황 대시보드가 이미 '캘리포니아' 주로 필터링됩니다.

이 방법은 연결된 Look 및 Explore에 필터 값을 전달하는 데도 사용할 수 있습니다.

dimension: name {
    link: {
      label: "Average Order Profit Look"
      url: "/looks/249?&f[users.state]={{ _filters['users.state'] | url_encode }}"
    }
    link: {
      label: "User Facts Explore Explore"
      url: "/explore/ecommerce/users?fields=users.id,users.name&f[users.state]={{ _filters['users.state'] | url_encode }}"
    }
  }

다음 URL과 같이 필터 사이에 &를 배치하여 여러 필터를 전달할 수 있습니다.

dimension: name {
  link: {
    label: "Business Pulse By State Dashboard"
    url: "/dashboards/694?State={{ _filters['users.state'] | url_encode }}&Date={{ _filters['orders.date'] | url_encode }}"
  }
  link: {
    label: "Average Order Profit Look"
    url: "/looks/249?&f[users.state]={{ _filters['users.state'] | url_encode }}&f[orders.date]={{ _filters['orders.date'] | url_encode }}"
  }
}

대시보드 필터 생성에 대한 자세한 내용은 LookML 대시보드 빌드사용자 정의 대시보드 필터 추가 및 수정 문서 페이지를 참고하세요.

Looker 관리자가 시각적 드릴 실험실 기능을 사용 설정한 경우 link 매개변수와 Liquid 변수를 사용하여 Explore 및 Look의 드릴 오버레이에 표시되는 시각화를 맞춤설정할 수 있습니다. 대시보드link 매개변수를 사용하여 시각적 드릴 실험실 기능을 사용 설정하지 않고도 시각적 드릴을 지원합니다.

다음은 드릴 시각화를 분산형 차트로 설정하는 예입니다.


  measure: count {
    type: count_distinct
    sql: ${id} ;;
    drill_fields: [created_date, total_sale_price]
    link: {
      label: "Drill as scatter plot"
      url: "
      {% assign vis_config = '{\\"type\\": \\"looker_scatter\\"}' %}
        \{\{ link \}\}&vis_config=\{\{ vis_config | encode_uri \}\}&toggle=dat,pik,vis&limit=5000"
    }
  }

드릴 시각화 맞춤설정의 더 많은 예는 더 강력한 데이터 드릴링 권장사항 페이지를 참고하세요.

Looker 콘텐츠에 연결할 때 고려할 사항

같음 외에 필터 비교 연산자를 포함하거나, 여러 필터를 포함하거나, Looker 콘텐츠로 연결되는 링크에서 쉼표를 이스케이프 처리해야 하는 경우가 있을 수 있습니다. 다음 섹션에서는 이러한 사용 사례에 대해 자세히 설명합니다.

다른 비교 연산자 URL 인코딩

연결된 필터에 같음 (=) 외에 비교 연산자를 포함하려면 연산자를 URL 인코딩하면 됩니다.

예를 들어 연결된 Look의 order_id 필터에 클릭하는 값과 연결된 order_id 필드보다 작은 (<) 값이 포함되도록 하려면 연산자 문자 (이 경우 %3C)를 부분적으로 인코딩하고 URL에 추가하면 됩니다.

f[orders.order_id]=%3C{{ other_orders.order_id._value }}
여러 필터 포함

앰퍼샌드 (&)를 사용하여 각 필터를 구분하면 연결된 Look, 대시보드, Explore에 둘 이상의 필터를 적용할 수 있습니다.

dimension: name {
  link: {
    label: "Drill Look"
    url:"/looks/looknumber?&f[users.state]={{ value }}[users.region]={{ users.region._value }}&f[users.age]={{ _filters['users.age'] | url_encode }}"
  }
}
쉼표 이스케이프 처리

연결된 값에서 일반적으로 value 변수를 사용하는 경우 filterable_value 변수를 사용하여 쉼표를 이스케이프 처리할 수 있습니다.

다음 링크는 선택한 users.city 값으로 결과를 필터링하는 Explore로 드릴합니다.

dimension: city {
    type: string
    sql: ${TABLE}.city ;;
    link: {
        label: "Drill by City"
        url: "/explore/model_name/explore_name?fields=users.email,users.id&f[users.city]={{ value }}"
    }
}

사용자가 Santa Cruz, CA 를 클릭하여 이 도시로 필터링된 결과를 드릴하면 결과 드릴은 Santa Cruz 또는 CA 를 포함하는 모든 결과를 반환합니다.

value 대신 filterable_value를 사용하면 쉼표가 이스케이프 처리됩니다.

dimension: city {
    type: string
    sql: ${TABLE}.city ;;
    link: {
        label: "Drill by City"
        url: "/explore/model_name/explore_name?fields=users.email,users.id&f[users.city]={{ filterable_value }}"
    }
}

결과 드릴은 전체 문자열 값 Santa Cruz, CA 를 포함하는 모든 결과를 반환합니다.

드릴 URL에 쉼표가 포함된 필터 값을 하드 코딩하려면 값을 큰따옴표로 묶은 다음 백슬래시 (\)로 이스케이프 처리하여 쉼표를 이스케이프 처리하면 됩니다.

dimension: city {
    type: string
    sql: ${TABLE}.city;;
    link: {
        label: "Drill by City"
        url: "/explore/model_name/explore_name?fields=users.email,users.id&f[users.city]=\"Santa Cruz, CA\"&sorts=users.email"
    }
}

추가 리소스

  • 더 고급 맞춤 드릴링 예시는 더 강력한 데이터 드릴링 권장사항 페이지를 참고하세요.
  • 링크에서 {{ value }} 사용에 대한 더 많은 예시는 Liquid 변수 문서 페이지를 참고하세요.

알아 두어야 할 사항

측정기준에 다른 필드를 참조하는 link 매개변수가 포함되어 있으면 해당 추가 필드가 측정기준이 사용되는 쿼리의 기본 SQL에 추가될 수 있습니다. 참조된 필드가 쿼리의 시각화에 없고 시각화가 수동으로 재정렬된 열이 있는 표 차트인 경우 일부 다운로드된 형식의 열 순서가 영향을 받을 수 있습니다.