Looker 표현식 만들기

Looker 표현식은 Looker 내에서 커스텀 계산을 수행하고 고급 논리를 적용하는 데 사용하는 수식입니다. Looker 표현식을 사용하여 동적 테이블 계산, 커스텀 필드, 맞춤 필터, 데이터 테스트를 만듭니다. 이 기능을 사용하면 특정 통계를 추출하고 데이터 분석을 맞춤설정할 수 있습니다. 이 가이드에서는 Looker 표현식을 효과적으로 구성하고 사용하는 방법을 설명합니다.

일반적인 함수 바로가기

Looker 표현식을 만들기 전에 기본 제공 바로가기를 사용하여 작업을 완료할 수 있는지 확인하세요.

Looker 표현식

Looker 표현식은 다음에 대한 계산을 수행하는 데 사용됩니다.

Looker 표현식은 다음 요소의 조합으로 빌드됩니다.

  • NULL: NULL 값은 데이터가 없음을 나타내며 비어 있거나 존재하지 않는 항목이 있는지 확인할 때 유용할 수 있습니다.

  • 상수: 상수는 사용자가 제공하는 변경되지 않는 값입니다. 7과 같은 숫자 또는 Completed와 같은 문자열은 상수입니다.

  • Looker 필드: 측정기준, 측정값, 테이블 계산을 포함하는 Looker 필드에 대한 참조입니다.

  • Looker 연산자: 사용 가능한 연산자 목록은 Looker 함수 및 연산자를 참고하세요. 지원되는 연산자는 다음 카테고리를 포함합니다.

    • 수학 연산자 (예: +, -, *, /)
    • 비교 연산자(예: =, >, <=)
    • 논리 연산자 (예: AND, OR, NOT)
  • Looker 함수: 스프레드시트 함수와 마찬가지로 함수를 사용하면 복잡한 방식으로 데이터를 변환하거나 데이터를 참조할 수 있습니다. 사용 가능한 함수 목록은 Looker 함수 및 연산자를 참고하세요.

Looker 표현식 만들기

테이블 계산, 커스텀 필드, 및 맞춤 필터는 Looker 표현식 편집기를 사용합니다. 표현식을 입력하면 Looker에서 사용할 함수, 연산자, 필드 이름을 묻는 메시지가 표시됩니다.

모든 추천 소식 보기

테이블 계산 커스텀 필드 또는 커스텀 필터를 만들어 Explore에서 Looker 표현식 편집기에 액세스합니다.

스페이스를 입력하여 선택할 수 있는 모든 필드, 함수, 연산자 목록을 확인합니다. 현재 Explore에서 사용 중인 필드는 필드 왼쪽에 검은색 점으로 표시되고 목록의 맨 위에 표시됩니다.

Looker 표현식 편집기에 입력을 시작하여 관심 있는 항목으로 목록을 줄입니다.

커스텀 필드의 편집기에는 커스텀 필드의 함수와 호환되는 경우 현재 사용 중인 Explore 필드가 표시됩니다.

필드 추가

표현식에 Looker 필드를 포함하려면 필드 이름을 입력합니다. 입력과 동시에 편집기는 입력한 내용을 포함하는 필드 및 함수 목록으로 검색 범위를 좁힙니다. Explore 페이지에 표시되는 필드의 이름을 입력하거나, LookML 이름을 알고 있는 경우 해당 이름을 사용할 수 있습니다.

목록에서 필드를 선택하면 Looker가 ${view_name.field_name} 형식의 LookML 이름을 사용하여 표현식에 필드를 추가합니다. 이렇게 하면 모든 필드의 이름이 표현식에서 고유한 이름을 갖게 됩니다.

합계 추가

합계가 표시된 Explore를 기반으로 표현식을 만드는 경우 표현식에 열 및 행 합계를 포함할 수도 있습니다. 열 합계는 필드 이름의 LookML 반복 앞에 Total 이라는 단어와 함께 편집기에 표시됩니다. 예를 들어 Count라는 필드의 경우 Looker에서 해당 필드에 Count - Total이라는 열 합계를 제공합니다.

합계의 LookML 이름${view_name.field_name:total} 형식이며, 여기서 :total은 필드 이름 끝에 추가됩니다.

행 합계의 경우 Row Totals 라는 단어가 편집기의 필드 이름 앞에 나타납니다. 필드의 LookML 이름에서 :row_total은 필드 이름 끝에 추가됩니다 (예: ${view_name.field_name:row_total}).

연산자 추가

필요한 경우 AND, OR, NOT과 같은 논리 연산자를 표현식에 추가할 수 있습니다. 일반적으로 AND 연산자는 OR 연산자보다 먼저 평가되지만 괄호를 사용하여 이 동작을 재정의할 수 있습니다. 또한 비교 연산자 (예: >, =, <=) 및 수학 연산자 (예: +, *)를 사용할 수 있습니다.

연산자로 포인터를 가져가면 정보 창에 올바른 사용법에 대한 메모가 표시됩니다.

함수 추가

표현식에 Looker 함수를 포함하려면 함수 이름을 입력합니다. 입력과 동시에 편집기는 입력한 내용을 포함하는 필드 및 함수 목록으로 검색 범위를 좁힙니다.

함수는 필드, 숫자, 예/아니요와 같은 특정 유형을 필요로 하는 인수 (또는 변수)로 구성될 수 있습니다. 함수로 포인터를 가져가면 정보 창에서 제공해야 하는 인수와 필요한 인수의 유형을 파악하기 위해 메모를 확인합니다.

전체 함수 목록은 Looker 함수 및 연산자를 참고하세요.

오류 힌트 및 정보 창 사용

Looker 표현식 편집기 옆에 정보 창이 표시됩니다. 이 창에는 특히 표현식에 오류가 있는 경우 문서와 제안사항이 제공됩니다.

정보 창에는 다음 정보가 표시됩니다.

  • 오류 강조 표시: Looker에서 아직 올바르지 않은 표현식 부분에 빨간색 밑줄을 표시합니다.

  • 추천 및 오류 세부정보: Looker는 표현식에서 다음에 추가할 항목에 대한 제안을 제공합니다. 오류가 있으면 오류가 발생한 이유를 설명합니다.

  • 문서: Looker에서 작업 중인 함수 또는 연산자에 대한 문서를 표시합니다. 예를 들어 첫 번째 인수를 입력하는 동안 if 함수, Looker는 첫 번째 인수가 yes 또는 no로 평가되어야 한다고 나타냅니다. 함수 이름을 클릭하여 문서를 확인합니다.

의견을 포함합니다.

표현식 편집기에서 #로 주석 줄을 시작하여 Looker 표현식에 의견을 포함할 수 있습니다.

필드 사용

표현식의 필드 값 (측정기준, 측정값 또는 테이블 계산)을 사용해야 하는 경우가 있습니다. 필드 값을 다른 항목에 추가하거나, 특정 값이 있는지 확인하거나, 함수에 포함시키는 등 다른 많은 작업을 수행하고자 할 수 있습니다.

필드 추가에 설명된 대로 표현식 편집기에 필드 이름을 입력하면 Looker를 통해 올바른 참조 형식을 찾을 수 있습니다. 표현식에 필드를 추가하면 Looker가 ${view_name.field_name}과 같은 필드의 LookML 식별자를 사용합니다. 필드 선택 도구에 표시되는 필드 이름을 입력하면 표현식 편집기에 LookML 식별자와 함께 필드 선택 도구 이름이 표시됩니다.

값을 검색하는 방법에는 여러 가지가 있습니다.

  • 같은 행에서 값 가져오기: 필드를 사용하는 가장 기본적인 방법은 직접 참조하는 것입니다(예: ${product.category}). 이렇게 하면 현재 행에서 해당 필드의 값이 참조됩니다.

  • 다른 행의 값 가져오기: 다른 행에서 필드 값을 가져올 수도 있습니다. 예를 들어 이전 행에서 제품 카테고리를 가져오려면 offset(${product.category}, -1)과 같은 오프셋 함수를 사용합니다. 위치 함수 목록은 위치 함수를 참고하세요.

  • 피벗된 열에서 값 가져오기: 피벗된 열에서 값을 가져오려면 pivot_index(${order.total_sales}, 1)과 같은 피벗 함수를 사용합니다. 피벗 함수 목록은 피벗 함수를 참고하세요.

  • 행 또는 열에서 합계 가져오기: Explore에 합계를 표시한 경우 필드 이름에 :total (열 합계의 경우) 또는 :row_total (행 합계의 경우)를 추가하여 ${field_name:total} 형식을 사용하여 합계 값을 가져올 수 있습니다. 예: ${orders.count} / ${orders.count:total}

연산자 사용

Looker 표현식에는 논리, 비교, 수학 연산자가 포함되어 서로 다른 조건을 만들 수 있습니다.

  • 논리 연산자 (예: AND, OR, NOT)
  • 비교 연산자(예: ><)
  • 수학 연산자 (예: +, -)

괄호로 달리 지정하지 않는 한 AND 논리는 OR 논리보다 먼저 평가됩니다. 추가 괄호 없는 다음 표현식:

if (
  ${order_items.days_to_process}>=4 OR
  ${order_items.shipping_time}>5 AND
  ${order_facts.is_first_purchase},
"review", "okay")

다음과 같이 평가됩니다.

if (
  ${order_items.days_to_process}>=4 OR
  (${order_items.shipping_time}>5 AND ${order_facts.is_first_purchase}),
"review", "okay")

Looker에서는 truefalse 대신 yesno를 사용합니다. 이러한 논리 상수는 동일하지 않습니다. 리터럴 문자열 "yes""no" 자세한 내용은 논리 상수를 참고하세요.

함수 사용

Looker 표현식에는 데이터를 검색하거나 계산하기 위해 하나 이상의 함수가 포함되는 경우가 많습니다. 스프레드시트 함수와 비슷합니다.

함수는 이름 뒤에 괄호가 추가된 형태입니다(예: my_function()). 괄호 안에 전달되는 값은 인수입니다(예: my_function(argument_1, argument_2)).

예를 들어 now 함수는 인수를 사용하지 않고 현재 날짜와 시간을 반환합니다(now()).

round 함수 는 숫자 인수 하나를 취합니다(round(3.2)). 결과는 3입니다.

제공할 인수를 확인하려면 다음 안내를 따르세요.

contains 함수를 살펴보세요.

함수 문법 목적
포함 {:#function-contains} contains(string, search_string) stringsearch_string이 포함되어 있으면 Yes를 반환하고 그렇지 않으면 No를 반환합니다.

contains 함수에는 두 가지 인수(stringsearch_string)가 필요합니다. string 인수는 검색할 필드 또는 텍스트를 나타내고 search_string 은 검색할 용어를 나타냅니다.

contains(${customer.feedback_text}, "great")

고객 의견에 'great'가 나타나면 함수는 Yes를 반환합니다. 그 외에는 No를 반환합니다.

함수를 다른 함수 내부에 중첩할 수 있습니다.

contains(
  if(
    is_null(${customer.feedback_text}),
    ${customer.comment_text},
    ${customer.feedback_text}
  ),
"great")

이 표현식은 3단계로 평가됩니다.

  1. is_null 함수는 고객 의견 텍스트가 비어 있는지 확인합니다.
  2. if 함수는 의견 텍스트가 있으면 의견 텍스트를 반환하고, 그렇지 않으면 댓글 텍스트를 반환합니다.
  3. contains 함수는 반환된 텍스트에서 'great'를 검색합니다.

논리적으로 이 표현식은 '고객 의견이 있으면 해당 텍스트에서 검색합니다. 그렇지 않으면 고객 댓글에서 검색합니다. 두 경우 모두 'great'라는 단어를 찾습니다.'