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 변수를 사용하여 링크를 동적으로 만들 수 있습니다.
  • icon_url는 사용자 브라우저에서 액세스할 수 있는 URL이며 이미지 파일을 포함합니다. 이렇게 하면 사용자가 링크를 클릭했을 때 이동하는 위치를 한눈에 파악할 수 있습니다. 아이콘이 필요하지 않은 경우 icon_url 파라미터는 필수가 아닙니다. 기업 로고가 필요한 경우, http://www.google.com/s2/favicons?domain=[company website of interest] 형식으로 Google 검색을 실행하여 .ico 형식의 이미지를 찾아볼 수 있습니다.

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

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


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과 같이 배치된 위치에 직접 입력 값을 태그하기 때문입니다.

이 페이지의 예시를 참고하여 value_filters['view_name.field_name'] 변수와 함께 Liquid {{ }} 태그를 사용하여 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/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이 limit=500로 단축되어 Explore 결과가 500개 행으로 제한됩니다. 필요에 따라 시각화 설정의 URL 인코딩이 포함된 나머지 URL을 포함할 수 있습니다.

  1. URL에 값을 삽입할 위치에 Liquid {{ value }} 태그와 변수를 삽입합니다. 이 경우 사용자가 선택한 도시로 필터링할 탐색의 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"
  }
}

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

사용자가 링크를 클릭하면 선택한 도시로 필터링된 City Metrics 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"
    }
}

추가 리소스

알아 두어야 할 사항

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