다음을 통해 공유


수염 매개 변수 구문

중요합니다

콧수염 매개 변수 구문은 레거시 SQL 편집기에서만 지원됩니다. Databricks는 새 쿼리에 명명된 매개 변수 표식을 사용하는 것이 좋습니다. 콧수염 구문을 사용하여 쿼리를 Notebook, AI/BI 대시보드 데이터 세트 편집기 또는 Genie 공간에 복사하는 경우 실행하기 전에 명명된 매개 변수 표식으로 변환해야 합니다.

레거시 SQL 편집기에서 이중 중괄호({{ }})로 래핑된 문자열은 쿼리 매개 변수로 처리됩니다. 매개 변수 값을 설정하는 결과 창 위에 위젯이 나타납니다.

콧수염 매개 변수 추가

  1. Cmd + I를 누릅니다. 매개 변수가 커서 위치에 삽입되고 매개 변수 추가 대화 상자가 나타납니다.
  2. 키워드를 입력하고, 필요에 따라 제목을 변경하고, 형식을 선택합니다.
  3. 매개 변수 추가를 클릭합니다.
  4. 위젯에서 매개 변수 값을 설정합니다.
  5. 변경 내용 적용을 클릭합니다.
  6. 저장을 클릭합니다.

또는 쿼리에 직접 입력 {{ }} 하고 매개 변수 위젯에서 기어 아이콘을 클릭하여 구성합니다.

다른 값으로 쿼리를 다시 실행하려면 위젯을 업데이트하고 변경 내용 적용을 클릭합니다.

매개 변수 편집, 제거 및 다시 정렬

편집: 매개 변수 위젯 옆에 있는 기어 아이콘을 클릭합니다. 쿼리를 소유하지 않은 사용자가 매개 변수 값을 변경하지 못하도록 하려면 결과만 표시를 클릭합니다.

제거: 쿼리에서 매개 변수 표식을 삭제합니다. 위젯이 자동으로 제거됩니다.

순서 변경: 매개 변수 위젯을 클릭하고 원하는 순서로 끌어옵니다.

위젯 형식

사용할 수 있는 위젯 유형은 다음과 같습니다.

텍스트

문자열을 입력으로 받습니다. 백슬래시, 작은따옴표 및 큰따옴표는 자동으로 이스케이프 처리됩니다. Azure Databricks 값 주위에 따옴표를 추가합니다.

SELECT * FROM samples.tpch.customer WHERE c_name = {{ name_param }}

Number

숫자를 입력으로 사용합니다.

SELECT * FROM users WHERE age = {{ number_param }}

날짜 및 시간

날짜 및 타임스탬프 값을 매개 변수화합니다. 다음 3가지 옵션을 사용할 수 있습니다.

유형 정밀성
날짜
날짜 및 시간
날짜 및 시간(초 포함) 두 번째

모든 날짜 및 시간 값은 문자열 리터럴로 전달되며 쿼리에서 작은따옴표로 래핑되어야 합니다.

SELECT * FROM usage_logs WHERE date = '{{ date_param }}'

Range 옵션을 선택하면 Azure Databricks .start.end 접미사를 사용하여 두 개의 매개 변수를 만듭니다.

SELECT * FROM usage_logs
WHERE modified_time > '{{ date_range.start }}'
AND modified_time < '{{ date_range.end }}'

메모

날짜 범위 위젯은 DATE-type 열에 대해서만 정확한 결과를 반환합니다. 타임스탬프 열의 경우 날짜 및 시간 범위 위젯을 사용합니다.

동적 날짜 값: 날짜 위젯에는 파란색 번개 아이콘이 포함됩니다. 를 클릭하여 동적 값(예: today, yesterday, this week, last weeklast month또는 last year)을 선택합니다. 이러한 값은 자동으로 업데이트됩니다.

중요합니다

동적 날짜 값은 예약된 쿼리와 호환되지 않습니다.

입력을 미리 정의된 정적 목록으로 제한합니다. 단일 값과 다중 값 선택을 모두 지원합니다.

  • 단일 값: 쿼리에서 매개 변수를 작은따옴표로 래핑합니다.

  • 다중 값: 위젯 설정에서 여러 값 허용 을 사용하도록 설정합니다. 따옴표 옵션을 사용하여 값이 작은따옴표, 큰따옴표 또는 없음으로 래핑되는지 여부를 제어합니다. WHERE 절을 IN을(를) 사용하도록 업데이트하십시오.

    SELECT * FROM orders WHERE status IN ( {{ status_param }} )
    

    큰따옴표를 선택하면 쿼리가 다음 WHERE status IN ("value1", "value2", "value3")으로 해결됩니다.

드롭다운 목록 값은 문자열입니다. 날짜 또는 타임스탬프를 사용하려면 데이터 원본에 필요한 형식으로 입력합니다.

Query-Based 드롭다운 목록

저장된 쿼리에서 드롭다운 선택 항목을 채웁니다. 드롭다운 목록처럼 동작하지만 옵션은 동적입니다.

  1. 설정 패널의 형식 아래에서 쿼리 기반 드롭다운 목록을 선택합니다.
  2. 쿼리 필드를 클릭하고 저장된 쿼리를 선택합니다.

쿼리가 둘 이상의 열을 반환하는 경우 Azure Databricks 첫 번째 열을 사용합니다. 쿼리가 namevalue 열을 반환하면, 위젯은 name 열을 표시하고, 런타임에 연결된 value를 쿼리에 전달합니다.

Example:

SELECT user_uuid AS 'value', username AS 'name' FROM users
value 이름
1001 존 스미스
1002 제인 도
1003 바비 테이블

런타임에 데이터베이스에 전달되는 값은 표시 이름이 아닌 값입니다100110021003.

메모

원본 쿼리가 많은 수의 레코드를 반환하면 성능이 저하됩니다.