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

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

표준 매개변수

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

매개변수

목적

@DS_START_DATE

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

@DS_END_DATE

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

@DS_USER_EMAIL

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

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

  1. 쿼리 편집기 아래에서 사용할 매개변수를 사용 설정합니다.

  2. 쿼리에서는 매개변수 이름에 대문자를 사용해야 합니다.

모든 매개변수 값은 문자열로 전달됩니다. 매개변수 값을 날짜, 숫자 또는 다른 데이터 유형으로 처리하려면 PARSE_DATE, PARSE_TIMESTAMP, CAST 등 적절한 변환 함수를 사용하세요.

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

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

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

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

커스텀 매개변수

Looker Studio 사용자 인터페이스에서 만든 매개변수를 맞춤 쿼리에 사용할 수 있습니다.

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

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

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

기본적으로 맞춤 매개변수는 보고서에서 수정할 수 있습니다. 보고서 편집기에서 매개변수 값을 변경하지 못하게 하려면 매개변수를 숨길 수 있습니다.

  1. 매개변수 오른쪽에서 옵션 더보기 를 클릭합니다.
  2. 숨기기를 클릭합니다.

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

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

맞춤 쿼리 본문에서 하드 코딩된 값을 @ 문자로 시작되는 식별자로 바꿉니다. 예: @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;