매개변수를 사용하면 데이터 소스의 매개변수를 기본 SQL 쿼리로 다시 전달하여 반응형 맞춤설정 가능한 보고서를 빌드할 수 있습니다. 맞춤 쿼리 내에서 매개변수를 사용하려면 매개변수화된 쿼리 실행에 작성된 문법 가이드라인을 따르세요.
표준 매개변수
모든 맞춤 쿼리에 다음 매개변수를 사용할 수 있습니다.
매개변수 |
목적 |
|---|---|
|
보고서 기간의 시작을 가져옵니다. |
|
보고서 기간의 끝을 가져옵니다. |
|
로그인한 사용자의 이메일 주소를 가져옵니다. |
이러한 매개변수를 사용하려면 다음 단계를 따르세요.
- 연결 패널의 매개변수 섹션에서 사용할 매개변수를 사용 설정합니다.
@DS_USER_EMAIL매개변수를 사용 설정하면 데이터 스튜디오에서 이메일 주소에 대한 액세스 권한을 부여하라는 메시지가 표시됩니다. - 쿼리에서 매개변수 이름을 입력할 때 대문자 형식을 사용합니다.
데이터 스튜디오는 모든 매개변수 값을 텍스트 문자열로 전달합니다. 매개변수 문자열을 달력 날짜, 숫자 또는 기타 데이터 유형으로 처리하려면 PARSE_DATE, PARSE_TIMESTAMP 또는 CAST와 같은 적절한 SQL 변환 함수를 사용하세요.
날짜 매개변수를 사용하여 기간을 기본 쿼리에 전달하기
보고서에 기간 컨트롤을 포함하면 뷰어가 이 컨트롤을 사용하여 데이터베이스에서 직접 다른 시작일과 종료일을 요청할 수 있습니다.
이메일 매개변수를 사용하여 데이터에 대한 행 수준 액세스 제공하기
이메일 매개변수를 사용하면 보고서, 데이터 소스 또는 탐색의 로그인한 사용자와 연결된 데이터만 표시할 수 있습니다. 사용자는 Google 계정에 로그인해야 하고 데이터 스튜디오에 이메일 주소를 제공하는 데 동의해야 합니다. 뷰어가 동의하지 않으면 이 데이터 소스를 기반으로 한 보고서의 모든 차트에 승인 오류가 표시됩니다.
커스텀 매개변수
데이터 스튜디오 사용자 인터페이스에서 만든 매개변수를 맞춤 쿼리 내에서 사용할 수 있습니다.
연결 페이지에서 매개변수 만들기
- 맞춤 쿼리 편집기의 매개변수 섹션에서 +매개변수 추가 를 클릭합니다.
- 매개변수 옵션을 구성합니다.
- 확인 을 클릭합니다.
데이터 소스에서 맞춤 매개변수 숨기기
기본적으로 보고서 편집기는 보고서 내에서 직접 맞춤 매개변수를 수정할 수 있습니다. 보고서 편집기에서 매개변수 값을 변경하지 못하게 하려면 데이터 소스 구성에서 바로 매개변수를 숨길 수 있습니다.
- 옵션 더보기를 클릭합니다.
- 숨기기 를 클릭합니다.
보고서에서 데이터 소스 매개변수 허용에 대해 자세히 알아보세요.
맞춤 쿼리에서 매개변수 사용
맞춤 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;