기존 데이터 소스 테이블에 액세스하고 수정합니다. 새 시트에 새 데이터 소스 테이블을 만들려면 Spreadsheet.insertSheetWithDataSourceTable(spec)
를 사용합니다.
이 클래스는 BigQuery 데이터 소스와 함께만 사용하세요.
이 예에서는 새 데이터 소스 테이블을 만드는 방법을 보여줍니다.
SpreadsheetApp .enableBigQueryExecution(); const spreadsheet = SpreadsheetApp.getActive(); const spec = SpreadsheetApp.newDataSourceSpec() .asBigQuery() .setProjectId('big_query_project') .setRawQuery('select @FIELD from table limit @LIMIT') .setParameterFromCell('FIELD', 'Sheet1!A1') .setParameterFromCell('LIMIT', 'namedRangeCell') .build(); // Starts data execution asynchronously. const dataSheet = spreadsheet.insertSheetWithDataSourceTable(spec); const dataSourceTable = dataSheet.getDataSourceTables()[0]; // waitForCompletion() blocks script execution until data execution completes. dataSourceTable.waitForCompletion(60); // Check status after execution. Logger.log( 'Data execution state: %s.', dataSourceTable.getStatus().getExecutionState(), );
이 예에서는 데이터 소스를 수정하는 방법을 보여줍니다.
SpreadsheetApp .enableBigQueryExecution(); const dataSheet = SpreadsheetApp.getActive().getSheetByName('Data Sheet 1'); const dataSourceTable = dataSheet.getDataSourceTables()[0]; const dataSource = dataSourceTable.getDataSource(); const newSpec = dataSource.getSpec() .copy() .asBigQuery() .setRawQuery('select name from table limit 2') .removeAllParameters() .build(); // Updates data source specification and starts data execution asynchronously. dataSource.updateSpec(newSpec); // Check status during execution. Logger.log( 'Data execution state: %s.', dataSourceTable.getStatus().getExecutionState(), ); // waitForCompletion() blocks script execution until data execution completes. dataSourceTable.waitForCompletion(60); // Check status after execution. Logger.log( 'Data execution state: %s.', dataSourceTable.getStatus().getExecutionState(), );
메서드
자세한 문서
add Columns(columnNames)
데이터 소스 테이블에 열을 추가합니다.
매개변수
이름 | 유형 | 설명 |
---|---|---|
column | String[] | 추가할 열 이름의 목록입니다. |
리턴
Data
: 체이닝을 위한 데이터 소스 테이블입니다.
승인
이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상의 승인이 필요합니다.
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
add Filter(columnName, filterCriteria)
데이터 소스 테이블에 적용된 필터를 추가합니다.
매개변수
이름 | 유형 | 설명 |
---|---|---|
column | String | 이 필터를 적용할 열의 이름입니다. |
filter | Filter | 적용할 필터 기준입니다. |
리턴
Data
: 체이닝을 위한 데이터 소스 테이블입니다.
승인
이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상의 승인이 필요합니다.
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
add Sort Spec(columnName, ascending)
데이터 소스 테이블의 열에 정렬 사양을 추가합니다.
매개변수
이름 | 유형 | 설명 |
---|---|---|
column | String | 정렬할 열의 이름입니다. |
ascending | Boolean | true 인 경우 열을 오름차순으로 정렬하고 false 인 경우 열을 내림차순으로 정렬합니다. |
리턴
Data
: 체이닝을 위한 데이터 소스 시트입니다.
승인
이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상의 승인이 필요합니다.
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
add Sort Spec(columnName, sortOrder)
데이터 소스 테이블의 열에 정렬 사양을 추가합니다.
매개변수
이름 | 유형 | 설명 |
---|---|---|
column | String | 정렬할 열의 이름입니다. |
sort | Sort | 정렬 순서입니다. |
리턴
Data
: 체이닝을 위한 데이터 소스 시트입니다.
승인
이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상의 승인이 필요합니다.
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
cancel Data Refresh()
현재 실행 중인 경우 이 객체와 연결된 데이터 새로고침을 취소합니다.
이 예에서는 수식 새로고침을 취소하는 방법을 보여줍니다.
const spreadsheet = SpreadsheetApp.getActive(); const formula = spreadsheet.getDataSourceFormulas()[0]; // Cancel the ongoing refresh on the formula. formula.cancelDataRefresh();
데이터 소스 유형이 사용 설정되지 않은 경우 예외를 발생시킵니다. Spreadsheet
메서드를 사용하여 특정 데이터 소스 유형의 데이터 실행을 사용 설정합니다.
리턴
Data
: 데이터 객체입니다.
승인
이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상의 승인이 필요합니다.
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
force Refresh Data()
현재 상태와 관계없이 이 객체의 데이터를 새로고침합니다. 자세한 내용은 refresh
를 참고하세요. 현재 실행 중인 이 객체의 새로고침을 취소하려면 cancel
를 참고하세요.
데이터 소스 유형이 사용 설정되지 않은 경우 예외를 발생시킵니다. Spreadsheet
메서드를 사용하여 특정 데이터 소스 유형의 데이터 실행을 사용 설정합니다.
리턴
Data
: 데이터 객체입니다.
승인
이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상의 승인이 필요합니다.
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
get Columns()
데이터 소스 테이블에 추가된 모든 데이터 소스 열을 가져옵니다.
리턴
Data
: 데이터 소스 테이블 열 목록입니다.
승인
이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상의 승인이 필요합니다.
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
get Data Source()
객체가 연결된 데이터 소스를 가져옵니다.
리턴
Data
: 데이터 소스입니다.
승인
이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상의 승인이 필요합니다.
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
get Filters()
데이터 소스 테이블에 적용된 모든 필터를 반환합니다.
리턴
Data
: 데이터 소스 테이블에 적용된 모든 필터의 배열입니다.
승인
이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상의 승인이 필요합니다.
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
get Range()
get Row Limit()
데이터 소스 테이블의 행 제한을 반환합니다.
리턴
Integer
: 데이터 소스 테이블의 행 제한입니다. 제한이 설정되지 않았고 테이블이 Google Sheets UI와 같이 기본 최대 제한을 사용하는 경우 null
입니다.
승인
이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상의 승인이 필요합니다.
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
get Sort Specs()
데이터 소스 테이블의 모든 정렬 사양을 가져옵니다.
리턴
Sort
: 정렬 사양 목록입니다.
승인
이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상의 승인이 필요합니다.
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
get Status()
객체의 데이터 실행 상태를 가져옵니다.
리턴
Data
: 데이터 실행 상태입니다.
승인
이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상의 승인이 필요합니다.
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
is Syncing All Columns()
데이터 소스 테이블이 연결된 데이터 소스의 모든 열을 동기화하고 있는지 여부를 반환합니다.
리턴
Boolean
: 데이터 소스 테이블이 연결된 데이터 소스의 모든 열을 동기화하는 경우 True
이고 그렇지 않은 경우에는 false
입니다.
승인
이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상의 승인이 필요합니다.
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
refresh Data()
객체의 데이터를 새로고침합니다.
현재 error
상태인 경우 예외가 발생합니다. Data
를 사용하여 사양을 업데이트합니다. 이 메서드는 데이터 소스의 예기치 않은 수정을 방지하기 위해 force
보다 선호됩니다.
데이터 소스 유형이 사용 설정되지 않은 경우 예외를 발생시킵니다. Spreadsheet
메서드를 사용하여 특정 데이터 소스 유형의 데이터 실행을 사용 설정합니다.
리턴
Data
: 데이터 객체입니다.
승인
이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상의 승인이 필요합니다.
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
remove All Columns()
데이터 소스 테이블의 모든 열을 삭제합니다.
리턴
Data
: 체이닝을 위한 데이터 소스 테이블입니다.
승인
이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상의 승인이 필요합니다.
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
remove All Sort Specs()
데이터 소스 테이블의 모든 정렬 사양을 삭제합니다.
리턴
Data
: 체이닝을 위한 데이터 소스 시트입니다.
승인
이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상의 승인이 필요합니다.
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
set Row Limit(rowLimit)
데이터 소스 테이블의 행 한도를 업데이트합니다. 제공된 행 제한이 null
인 경우 Google Sheets UI에서와 같이 기본 최대 행 제한을 사용하도록 데이터 소스 표를 업데이트합니다.
매개변수
이름 | 유형 | 설명 |
---|---|---|
row | Integer | 데이터 표의 새 행 한도입니다. null 인 경우 기본 행 한도를 사용하도록 테이블을 업데이트합니다. |
리턴
Data
: 체이닝을 위한 데이터 소스 테이블입니다.
승인
이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상의 승인이 필요합니다.
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
sync All Columns()
연결된 데이터 소스의 현재 및 향후 열을 모두 데이터 소스 테이블에 동기화합니다.
리턴
Data
: 체이닝을 위한 데이터 소스 테이블입니다.
승인
이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상의 승인이 필요합니다.
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
wait For Completion(timeoutInSeconds)
현재 실행이 완료될 때까지 대기하고 지정된 시간(초)이 지나면 시간 초과됩니다. 제한 시간 초과 시 실행이 완료되지 않은 경우 예외를 발생시키지만 데이터 실행을 취소하지는 않습니다.
매개변수
이름 | 유형 | 설명 |
---|---|---|
timeout | Integer | 데이터 실행을 기다리는 시간(초)입니다. 최댓값은 300초입니다. |
리턴
Data
: 데이터 실행 상태입니다.
승인
이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상의 승인이 필요합니다.
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets