Class DataSourceTable

DataSourceTable

الوصول إلى جدول مصدر البيانات الحالي وتعديله لإنشاء جدول مصدر بيانات جديد على ورقة جديدة، استخدم Spreadsheet.insertSheetWithDataSourceTable(spec).

لا تستخدم هذا الصف إلا مع البيانات المرتبطة بقاعدة بيانات.

يوضّح هذا المثال كيفية إنشاء جدول جديد لمصدر بيانات.

SpreadsheetApp.enableBigQueryExecution();
var spreadsheet = SpreadsheetApp.getActive();
var 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.
var dataSheet = spreadsheet.insertSheetWithDataSourceTable(spec);
var 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();
var dataSheet = SpreadsheetApp.getActive().getSheetByName("Data Sheet 1");
var dataSourceTable = dataSheet.getDataSourceTables()[0];
var dataSource = dataSourceTable.getDataSource();
var 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());

الطُرق

الطريقةنوع القيمة التي يتم إرجاعهاوصف قصير
addColumns(columnNames)DataSourceTableتضيف أعمدة إلى جدول مصدر البيانات.
addFilter(columnName, filterCriteria)DataSourceTableتتم إضافة فلتر مطبّق على جدول مصدر البيانات.
addSortSpec(columnName, ascending)DataSourceTableإضافة مواصفات الترتيب على عمود في جدول مصدر البيانات
addSortSpec(columnName, sortOrder)DataSourceTableإضافة مواصفات الترتيب على عمود في جدول مصدر البيانات
forceRefreshData()DataSourceTableيُعيد تحميل بيانات هذا العنصر بغض النظر عن الحالة الحالية.
getColumns()DataSourceTableColumn[]تتمّ إضافة جميع أعمدة مصدر البيانات إلى جدول مصدر البيانات.
getDataSource()DataSourceالحصول على مصدر البيانات المرتبط بالكائن.
getFilters()DataSourceTableFilter[]عرض جميع الفلاتر المطبَّقة على جدول مصدر البيانات.
getRange()Rangeللحصول على Range يمتد جدول مصدر البيانات هذا.
getRowLimit()Integerتعرض الحد الأقصى لعدد الصفوف في جدول مصدر البيانات.
getSortSpecs()SortSpec[]تتوفّر جميع مواصفات الترتيب في جدول مصدر البيانات.
getStatus()DataExecutionStatusللحصول على حالة تنفيذ البيانات للكائن.
isSyncingAllColumns()Booleanتعرض هذه الدالة ما إذا كان جدول مصدر البيانات تتم مزامنة جميع الأعمدة في مصدر البيانات المرتبط به.
refreshData()DataSourceTableيُعيد تحميل بيانات العنصر.
removeAllColumns()DataSourceTableإزالة جميع الأعمدة في جدول مصدر البيانات.
removeAllSortSpecs()DataSourceTableإزالة جميع مواصفات الترتيب في جدول مصدر البيانات
setRowLimit(rowLimit)DataSourceTableتعديل الحدّ الأقصى لعدد الصفوف في جدول مصدر البيانات
syncAllColumns()DataSourceTableتتم مزامنة كل الأعمدة الحالية والمستقبلية في مصدر البيانات المرتبط مع جدول مصدر البيانات.
waitForCompletion(timeoutInSeconds)DataExecutionStatusللانتظار حتى اكتمال عملية التنفيذ الحالية، تنتهي المهلة بعد عدد الثواني المحدد.

الوثائق التفصيلية

addColumns(columnNames)

تضيف أعمدة إلى جدول مصدر البيانات.

المَعلمات

الاسمTypeالوصف
columnNamesString[]قائمة أسماء الأعمدة المطلوب إضافتها.

استرجاع الكرة

DataSourceTable: جدول مصدر البيانات للسلاسل

التفويض

تتطلب النصوص البرمجية التي تستخدم هذه الطريقة الحصول على تفويض باستخدام واحد أو أكثر من النطاقات التالية:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

addFilter(columnName, filterCriteria)

تتم إضافة فلتر مطبّق على جدول مصدر البيانات.

المَعلمات

الاسمTypeالوصف
columnNameStringاسم العمود المطلوب تطبيق هذا الفلتر عليه
filterCriteriaFilterCriteriaمعايير الفلتر المطلوب تطبيقها

استرجاع الكرة

DataSourceTable: جدول مصدر البيانات للسلاسل

التفويض

تتطلب النصوص البرمجية التي تستخدم هذه الطريقة الحصول على تفويض باستخدام واحد أو أكثر من النطاقات التالية:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

addSortSpec(columnName, ascending)

إضافة مواصفات الترتيب على عمود في جدول مصدر البيانات

المَعلمات

الاسمTypeالوصف
columnNameStringاسم العمود المطلوب ترتيبه
ascendingBooleanفي حال استخدام true، سيتم ترتيب العمود تصاعديًا، وإذا تم اختيار false، سيتم ترتيب العمود تنازليًا.

استرجاع الكرة

DataSourceTable: ورقة مصدر البيانات للسلاسل.

التفويض

تتطلب النصوص البرمجية التي تستخدم هذه الطريقة الحصول على تفويض باستخدام واحد أو أكثر من النطاقات التالية:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

addSortSpec(columnName, sortOrder)

إضافة مواصفات الترتيب على عمود في جدول مصدر البيانات

المَعلمات

الاسمTypeالوصف
columnNameStringاسم العمود المطلوب ترتيبه
sortOrderSortOrderنظام الفرز.

استرجاع الكرة

DataSourceTable: ورقة مصدر البيانات للسلاسل.

التفويض

تتطلب النصوص البرمجية التي تستخدم هذه الطريقة الحصول على تفويض باستخدام واحد أو أكثر من النطاقات التالية:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

forceRefreshData()

يُعيد تحميل بيانات هذا العنصر بغض النظر عن الحالة الحالية. يمكنك الاطّلاع على refreshData() لمزيد من التفاصيل.

ينشئ استثناء إذا لم يكن نوع مصدر البيانات مفعَّلاً. استخدِم طرق SpreadsheetApp#enable...Execution() لتفعيل تنفيذ البيانات لنوع معيّن من مصدر البيانات.

استرجاع الكرة

DataSourceTable: كائن البيانات

التفويض

تتطلب النصوص البرمجية التي تستخدم هذه الطريقة الحصول على تفويض باستخدام واحد أو أكثر من النطاقات التالية:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getColumns()

تتمّ إضافة جميع أعمدة مصدر البيانات إلى جدول مصدر البيانات.

استرجاع الكرة

DataSourceTableColumn[]: قائمة بأعمدة جدول مصدر البيانات

التفويض

تتطلب النصوص البرمجية التي تستخدم هذه الطريقة الحصول على تفويض باستخدام واحد أو أكثر من النطاقات التالية:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getDataSource()

الحصول على مصدر البيانات المرتبط بالكائن.

استرجاع الكرة

DataSource: مصدر البيانات

التفويض

تتطلب النصوص البرمجية التي تستخدم هذه الطريقة الحصول على تفويض باستخدام واحد أو أكثر من النطاقات التالية:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getFilters()

عرض جميع الفلاتر المطبَّقة على جدول مصدر البيانات.

استرجاع الكرة

DataSourceTableFilter[]: مصفوفة من جميع الفلاتر المطبَّقة على جدول مصدر البيانات.

التفويض

تتطلب النصوص البرمجية التي تستخدم هذه الطريقة الحصول على تفويض باستخدام واحد أو أكثر من النطاقات التالية:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getRange()

للحصول على Range يمتد جدول مصدر البيانات هذا.

استرجاع الكرة

Range — النطاق

التفويض

تتطلب النصوص البرمجية التي تستخدم هذه الطريقة الحصول على تفويض باستخدام واحد أو أكثر من النطاقات التالية:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getRowLimit()

تعرض الحد الأقصى لعدد الصفوف في جدول مصدر البيانات.

استرجاع الكرة

Integer: الحدّ الأقصى للصفوف في جدول مصدر البيانات، أو null إذا لم يتم ضبط حدّ أقصى ويستخدم الجدول الحدّ الأقصى التلقائي كما هو الحال في واجهة مستخدم "جداول بيانات Google".

التفويض

تتطلب النصوص البرمجية التي تستخدم هذه الطريقة الحصول على تفويض باستخدام واحد أو أكثر من النطاقات التالية:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getSortSpecs()

تتوفّر جميع مواصفات الترتيب في جدول مصدر البيانات.

استرجاع الكرة

SortSpec[] - قائمة بمواصفات الترتيب

التفويض

تتطلب النصوص البرمجية التي تستخدم هذه الطريقة الحصول على تفويض باستخدام واحد أو أكثر من النطاقات التالية:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getStatus()

للحصول على حالة تنفيذ البيانات للكائن.

استرجاع الكرة

DataExecutionStatus — حالة تنفيذ البيانات

التفويض

تتطلب النصوص البرمجية التي تستخدم هذه الطريقة الحصول على تفويض باستخدام واحد أو أكثر من النطاقات التالية:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

isSyncingAllColumns()

تعرض هذه الدالة ما إذا كان جدول مصدر البيانات تتم مزامنة جميع الأعمدة في مصدر البيانات المرتبط به.

استرجاع الكرة

Boolean: True إذا كان جدول مصدر البيانات يؤدي إلى مزامنة جميع الأعمدة في مصدر البيانات المرتبط، أو false

التفويض

تتطلب النصوص البرمجية التي تستخدم هذه الطريقة الحصول على تفويض باستخدام واحد أو أكثر من النطاقات التالية:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

refreshData()

يُعيد تحميل بيانات العنصر.

يضع استثناءً إذا كان في حالة error حاليًا. استخدِم DataSource#updateSpec() لتعديل المواصفات. ويُفضَّل استخدام الطريقة على forceRefreshData() لمنع التعديلات غير المتوقّعة على مصدر البيانات.

ينشئ استثناء إذا لم يكن نوع مصدر البيانات مفعَّلاً. استخدِم طرق SpreadsheetApp#enable...Execution() لتفعيل تنفيذ البيانات لنوع معيّن من مصدر البيانات.

استرجاع الكرة

DataSourceTable: كائن البيانات

التفويض

تتطلب النصوص البرمجية التي تستخدم هذه الطريقة الحصول على تفويض باستخدام واحد أو أكثر من النطاقات التالية:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

removeAllColumns()

إزالة جميع الأعمدة في جدول مصدر البيانات.

استرجاع الكرة

DataSourceTable: جدول مصدر البيانات للسلاسل

التفويض

تتطلب النصوص البرمجية التي تستخدم هذه الطريقة الحصول على تفويض باستخدام واحد أو أكثر من النطاقات التالية:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

removeAllSortSpecs()

إزالة جميع مواصفات الترتيب في جدول مصدر البيانات

استرجاع الكرة

DataSourceTable: ورقة مصدر البيانات للسلاسل.

التفويض

تتطلب النصوص البرمجية التي تستخدم هذه الطريقة الحصول على تفويض باستخدام واحد أو أكثر من النطاقات التالية:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setRowLimit(rowLimit)

تعديل الحدّ الأقصى لعدد الصفوف في جدول مصدر البيانات إذا كان الحد الأقصى التلقائي للصفوف هو null، سيتم تعديل جدول مصدر البيانات لاستخدام الحدّ الأقصى التلقائي لعدد الصفوف كما هو الحال في واجهة مستخدم "جداول بيانات Google".

المَعلمات

الاسمTypeالوصف
rowLimitIntegerالحد الأقصى الجديد للصف في جدول البيانات. في حال null، سيتم تعديل الجدول لاستخدام الحد الأقصى التلقائي للصفوف.

استرجاع الكرة

DataSourceTable: جدول مصدر البيانات للسلاسل

التفويض

تتطلب النصوص البرمجية التي تستخدم هذه الطريقة الحصول على تفويض باستخدام واحد أو أكثر من النطاقات التالية:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

syncAllColumns()

تتم مزامنة كل الأعمدة الحالية والمستقبلية في مصدر البيانات المرتبط مع جدول مصدر البيانات.

استرجاع الكرة

DataSourceTable: جدول مصدر البيانات للسلاسل

التفويض

تتطلب النصوص البرمجية التي تستخدم هذه الطريقة الحصول على تفويض باستخدام واحد أو أكثر من النطاقات التالية:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

waitForCompletion(timeoutInSeconds)

للانتظار حتى اكتمال عملية التنفيذ الحالية، تنتهي المهلة بعد عدد الثواني المحدد. توفّر استثناءً إذا لم تكتمل عملية التنفيذ عند انتهاء المهلة، ولكنها لا تُلغي تنفيذ البيانات.

المَعلمات

الاسمTypeالوصف
timeoutInSecondsIntegerوقت انتظار تنفيذ البيانات بالثواني. الحدّ الأقصى هو 300 ثانية.

استرجاع الكرة

DataExecutionStatus — حالة تنفيذ البيانات

التفويض

تتطلب النصوص البرمجية التي تستخدم هذه الطريقة الحصول على تفويض باستخدام واحد أو أكثر من النطاقات التالية:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets