case_sensitive (모델용)

이 페이지에서는 모델의 일부인 case_sensitive 매개변수를 설명합니다.

case_sensitivecase_sensitive(탐색 분석용) 문서 페이지에 설명된 탐색의 일부로 사용할 수도 있습니다.

case_sensitivecase_sensitive(필드용) 문서 페이지에 설명된 측정기준 또는 필터 필드의 일부로 사용할 수도 있습니다.

용도

대소문자 구분:
계층 구조
case_sensitive
기본값
yes(데이터베이스 언어가 매개변수

을 지원하는 경우)
결제 가능
부울 (yes 또는 no)

정의

case_sensitive은 지정된 모델에서 필터를 대소문자를 구분할지 여부를 결정합니다. 탐색 UI, 대시보드 UI, 필터 필드 또는 측정값의 filters 매개변수에 추가된 필터를 포함하여 모델과 관련된 모든 필터가 영향을 받습니다.

case_sensitive는 Looker에서 생성하는 SQL의 WHERE 절을 조정하여 작동합니다. case_sensitive: yes인 경우 필터는 다음과 같이 = 또는 LIKE로 표현됩니다.

WHERE name = 'bob'
WHERE name LIKE '%bob%'

case_sensitive: no인 경우 필터는 다음과 같이 ILIKE (또는 상응하는 클래스)로 표현됩니다.

WHERE name ILIKE 'bob'

대부분의 SQL 언어는 case_sensitive를 지원합니다. 그러나 SQL 언어에서 case_sensitive 매개변수를 지원하지 않으면 대소문자 구분은 데이터베이스 설정에 따라 달라지며 일반적으로 대소문자를 구분하지 않습니다. 언어 지원은 아래에 나와 있습니다.

Examples

모델의 모든 필터를 대소문자를 구분합니다.

connection: "connection_name"
include: "filename_or_pattern"
case_sensitive: yes
explore: explore_name {...}

모델에서 모든 필터를 대소문자를 구분하지 않습니다.

connection: "connection_name"
include: "filename_or_pattern"
case_sensitive: no

일반 과제

case_sensitive는 일부 SQL 언어에서 지원되지 않습니다.

Looker 프로젝트에서 case_sensitive를 지원하려면 데이터베이스 언어에서도 Looker를 지원해야 합니다. 다음 표는 최신 Looker 버전에서 case_sensitive를 지원하는 언어를 보여줍니다.

DataVirtuality는 다양한 데이터베이스 언어에 연결되는 시맨틱 데이터 레이어를 제공합니다. Looker가 기본 방언에 case_sensitive를 지원하는 경우 해당 방언에 연결하는 DataVirtuality에 case_sensitive를 지원합니다.

알아두어야 할 사항

MySQL에서 대소문자 구분 검색을 만들 수 있습니다.

case_sensitive 매개변수를 사용하지 않고 MySQL에서 대소문자를 구분하는 검색을 만들 수 있습니다. MySQL에서는 바이너리 문자열이라고 하는 특정 데이터 유형이 텍스트를 일련의 숫자로 저장합니다. 텍스트에 대문자를 사용하면 사용되는 숫자에 차이가 있습니다. 따라서 텍스트를 바이너리 문자열로 변환하면 대소문자를 구분하는 검색을 할 수 있습니다. 예를 들면 다음과 같습니다.

dimension: will_NOT_be_case_sensitive {
  sql: ${TABLE}.something ;;
}
dimension: will_be_case_sensitive {
  sql: CAST(${TABLE}.something AS BINARY) ;;
}