맞춤 쿼리에 매개변수 사용하기

매개변수를 사용하면 데이터 소스의 매개변수를 기본 SQL 쿼리로 다시 전달하여 반응형 맞춤설정 가능한 보고서를 빌드할 수 있습니다. 맞춤 쿼리 내에서 매개변수를 사용하려면 매개변수화된 쿼리 실행에 작성된 문법 가이드라인을 따르세요.


표준 매개변수

모든 맞춤 쿼리에 다음 매개변수를 사용할 수 있습니다.

매개변수

목적

@DS_START_DATE

보고서 기간의 시작을 가져옵니다.

@DS_END_DATE

보고서 기간의 끝을 가져옵니다.

@DS_USER_EMAIL

로그인한 사용자의 이메일 주소를 가져옵니다.

이러한 매개변수를 사용하려면 다음 단계를 따르세요.

  1. 연결 패널의 매개변수 섹션에서 사용할 매개변수를 사용 설정합니다. @DS_USER_EMAIL 매개변수를 사용 설정하면 데이터 스튜디오에서 이메일 주소에 대한 액세스 권한을 부여하라는 메시지가 표시됩니다.
  2. 쿼리에서 매개변수 이름을 입력할 때 대문자 형식을 사용합니다.

데이터 스튜디오는 모든 매개변수 값을 텍스트 문자열로 전달합니다. 매개변수 문자열을 달력 날짜, 숫자 또는 기타 데이터 유형으로 처리하려면 PARSE_DATE, PARSE_TIMESTAMP 또는 CAST와 같은 적절한 SQL 변환 함수를 사용하세요.

날짜 매개변수를 사용하여 기간을 기본 쿼리에 전달하기

보고서에 기간 컨트롤을 포함하면 뷰어가 이 컨트롤을 사용하여 데이터베이스에서 직접 다른 시작일과 종료일을 요청할 수 있습니다.

이메일 매개변수를 사용하여 데이터에 대한 행 수준 액세스 제공하기

이메일 매개변수를 사용하면 보고서, 데이터 소스 또는 탐색의 로그인한 사용자와 연결된 데이터만 표시할 수 있습니다. 사용자는 Google 계정에 로그인해야 하고 데이터 스튜디오에 이메일 주소를 제공하는 데 동의해야 합니다. 뷰어가 동의하지 않으면 이 데이터 소스를 기반으로 한 보고서의 모든 차트에 승인 오류가 표시됩니다.


커스텀 매개변수

데이터 스튜디오 사용자 인터페이스에서 만든 매개변수를 맞춤 쿼리 내에서 사용할 수 있습니다.

연결 페이지에서 매개변수 만들기

  1. 맞춤 쿼리 편집기의 매개변수 섹션에서 +매개변수 추가 를 클릭합니다.
  2. 매개변수 옵션을 구성합니다.
  3. 확인 을 클릭합니다.

데이터 소스에서 맞춤 매개변수 숨기기

기본적으로 보고서 편집기는 보고서 내에서 직접 맞춤 매개변수를 수정할 수 있습니다. 보고서 편집기에서 매개변수 값을 변경하지 못하게 하려면 데이터 소스 구성에서 바로 매개변수를 숨길 수 있습니다.

  1. 옵션 더보기를 클릭합니다.
  2. 숨기기 를 클릭합니다.

보고서에서 데이터 소스 매개변수 허용에 대해 자세히 알아보세요.


맞춤 쿼리에서 매개변수 사용

맞춤 SQL 쿼리 본문에서 하드 코딩된 값을 @ 문자로 시작되는 식별자 (예: @param_name)로 바꿉니다.


매개변수 예

다음은 매개변수 사용의 몇 가지 예입니다.

맞춤 매개변수 예

SELECT word FROM `TABLE` WHERE corpus = @corpus;

CONTAINS가 포함된 문자열 및 숫자 임곗값

SELECT * FROM `bigquery-public-data.baseball.games_post_wide`
WHERE REGEXP_CONTAINS(gameId, @s)
AND attendance > @attendance LIMIT 100;

다중 선택 문자열 매개변수

UNNEST가 다중 선택 매개변수 값의 배열 목록을 평면화하는 방법을 확인하세요.

SELECT * from user.users as user WHERE display_name in UNNEST(@name);

표준 형식을 사용하는 날짜 매개변수

SELECT creation_date, age, display_name from user.users as user
WHERE creation_date > PARSE_DATE('%Y%m%d', @DS_START_DATE)
AND creation_date < PARSE_DATE('%Y%m%d', @DS_END_DATE);

Unix 타임스탬프(마이크로초 단위)를 사용하는 날짜 매개변수

SELECT creation_date, age, display_name from user.users as use
WHERE creation_date > UNIX_MICROS(PARSE_TIMESTAMP('%Y%m%d', @DS_START_DATE))
AND creation_date < UNIX_MICROS(PARSE_TIMESTAMP('%Y%m%d', @DS_END_DATE))

이메일 매개변수 예

SELECT * FROM Sales WHERE sales-rep-email = @DS_USER_EMAIL;