ชีตที่เชื่อมต่อ

ชีตที่เชื่อมต่อ ช่วยให้คุณวิเคราะห์ข้อมูลในระดับเพตะไบต์ภายใน Google ชีตได้โดยตรง คุณสามารถเชื่อมต่อสเปรดชีตกับคลังข้อมูล BigQuery และวิเคราะห์โดยใช้เครื่องมือชีตที่คุ้นเคย เช่น ตาราง Pivot, แผนภูมิ และสูตร

คู่มือนี้ใช้ชุดข้อมูลสาธารณะ Shakespeare เพื่อแสดงวิธีใช้ชีตที่เชื่อมต่อ โดยชุดข้อมูลจะมีข้อมูลต่อไปนี้

ฟิลด์ ประเภท คำอธิบาย
คำศัพท์ STRING คำที่ไม่ซ้ำกันคำเดียว (โดยที่ช่องว่างเป็นตัวคั่น) ที่ดึงมาจากคลังข้อมูล
word_count INTEGER จำนวนครั้งที่คำนี้ปรากฏในคลังข้อมูลนี้
คลังข้อมูล STRING ผลงานที่มีการแยกคํานี้
corpus_date INTEGER ปีที่มีการเผยแพร่คลังข้อมูลนี้

หากแอปพลิเคชันขอข้อมูลชีตที่เชื่อมต่อ แอปพลิเคชันนั้นต้องมีโทเค็น OAuth 2.0 ที่ให้สิทธิ์ขอบเขต bigquery.readonly นอกเหนือจากขอบเขตอื่นๆ ที่จำเป็นสำหรับคำขอ Google ชีต API ปกติ โปรดดูข้อมูลเพิ่มเติมที่หัวข้อเลือกขอบเขต Google Sheets API

จัดการแหล่งข้อมูล

แหล่งข้อมูลจะระบุตําแหน่งภายนอกซึ่งมีข้อมูล จากนั้นแหล่งข้อมูลจะเชื่อมต่อกับสเปรดชีต

เพิ่มแหล่งข้อมูล BigQuery

หากต้องการเพิ่มแหล่งข้อมูล ให้ระบุ AddDataSourceRequest โดยใช้เมธอด spreadsheets.batchUpdate เนื้อหาของคำขอควรระบุช่อง dataSource ของออบเจ็กต์ประเภท DataSource

"addDataSource":{
   "dataSource":{
      "spec":{
         "bigQuery":{
            "projectId":"PROJECT_ID",
            "tableSpec":{
               "tableProjectId":"bigquery-public-data",
               "datasetId":"samples",
               "tableId":"shakespeare"
            }
         }
      }
   }
}

แทนที่ PROJECT_ID ด้วยรหัสโปรเจ็กต์ Google Cloud ที่ถูกต้อง

หลังจากสร้างแหล่งข้อมูลแล้ว ระบบจะสร้างชีต DATA_SOURCE ที่เชื่อมโยงเพื่อแสดงตัวอย่างแถวสูงสุด 500 แถว ไม่สามารถดูตัวอย่างได้ในทันที ระบบจะทริกเกอร์การดำเนินการแบบไม่พร้อมกันเพื่อนำเข้าข้อมูล BigQuery

AddDataSourceResponse มีช่องต่อไปนี้

  • dataSource: ออบเจ็กต์ DataSource ที่สร้าง dataSourceId เป็นรหัสที่ไม่ซ้ำกันที่มีการกำหนดขอบเขตของสเปรดชีต ระบบจะป้อนข้อมูลและอ้างอิงเพื่อสร้างออบเจ็กต์ DataSource แต่ละรายการจากแหล่งข้อมูล

  • dataExecutionStatus: สถานะของการดำเนินการที่นำเข้าข้อมูล BigQuery ไปยังการ์ดตัวอย่างโฆษณา ดูข้อมูลเพิ่มเติมได้ที่ส่วนสถานะการเรียกใช้ข้อมูล

อัปเดตหรือลบแหล่งข้อมูล

ให้ใช้เมธอด spreadsheets.batchUpdate และระบุคำขอ UpdateDataSourceRequest หรือ DeleteDataSourceRequest ตามความเหมาะสม

จัดการออบเจ็กต์แหล่งข้อมูล

เมื่อเพิ่มแหล่งข้อมูลลงในสเปรดชีตแล้ว ระบบจะสร้างออบเจ็กต์แหล่งข้อมูลได้จากแหล่งข้อมูลนั้น ออบเจ็กต์แหล่งข้อมูลคือเครื่องมือทั่วไปของชีต เช่น ตาราง Pivot, แผนภูมิ และสูตรที่ผสานรวมกับชีตที่เชื่อมต่อเพื่อช่วยขับเคลื่อนการวิเคราะห์ข้อมูล

วัตถุมี 4 ประเภทดังนี้

  • ตาราง DataSource
  • DataSource pivotTable
  • แผนภูมิDataSource
  • สูตร DataSource

เพิ่มตารางแหล่งข้อมูล

ออบเจ็กต์ตารางหรือที่เรียกว่า "การดึงข้อมูล" ในเครื่องมือแก้ไขชีตจะนำเข้าข้อมูลแบบคงที่จากแหล่งข้อมูลไปยังชีต โดยระบบจะระบุตารางและตรึงไว้กับเซลล์ด้านบนซ้ายเช่นเดียวกับตาราง Pivot

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีใช้เมธอด spreadsheets.batchUpdate และ UpdateCellsRequest เพื่อสร้างตารางแหล่งข้อมูลที่มีแถวสูงสุด 1,000 แถวและ 2 คอลัมน์ (word และword_count)

"updateCells":{
   "rows":{
      "values":[
         {
            "dataSourceTable":{
               "dataSourceId":"DATA_SOURCE_ID",
               "columns":[
                  {
                     "name":"word"
                  },
                  {
                     "name":"word_count"
                  }
               ],
               "rowLimit":{
                  "value":1000
               },
               "columnSelectionType":"SELECTED"
            }
         }
      ]
   },
   "fields":"dataSourceTable"
}

แทนที่ DATA_SOURCE_ID ด้วยรหัสที่ไม่ซ้ำกันของสเปรดชีตที่ระบุแหล่งข้อมูล

หลังจากสร้างตารางแหล่งข้อมูลแล้ว ข้อมูลจะใช้งานไม่ได้ทันที เครื่องมือแก้ไขชีตจะแสดงเป็นตัวอย่าง คุณต้องรีเฟรชตารางแหล่งข้อมูลเพื่อดึงข้อมูล BigQuery คุณระบุ RefreshDataSourceRequest ภายใน batchUpdate เดียวกันได้ โปรดทราบว่าออบเจ็กต์แหล่งข้อมูลทั้งหมดทำงานคล้ายกัน โปรดดูข้อมูลเพิ่มเติมที่หัวข้อรีเฟรชออบเจ็กต์แหล่งข้อมูล

หลังจากรีเฟรชและดึงข้อมูล BigQuery เสร็จแล้ว ตารางแหล่งข้อมูลจะปรากฏขึ้นตามที่แสดง

ตารางแหล่งข้อมูลที่แสดงข้อมูลจากชุดข้อมูลสาธารณะของเชกสเปียร์

เพิ่ม PivotTable ของแหล่งข้อมูล

ตาราง Pivot ของแหล่งข้อมูลแตกต่างจากตาราง Pivot แบบเดิมตรงที่ตาราง Pivot ของแหล่งข้อมูลรองรับและอ้างอิงข้อมูลตามชื่อคอลัมน์ ตัวอย่างโค้ดต่อไปนี้แสดงวิธีใช้เมธอด spreadsheets.batchUpdate และ UpdateCellsRequest เพื่อสร้างตาราง Pivot ซึ่งแสดงจำนวนคำทั้งหมดตามคลังข้อมูล

"updateCells":{
   "rows":{
      "values":[
         {
            "pivotTable":{
               "dataSourceId":"DATA_SOURCE_ID",
               "rows":{
                  "dataSourceColumnReference":{
                     "name":"corpus"
                  },
                  "sortOrder":"ASCENDING"
               },
               "values":{
                  "summarizeFunction":"SUM",
                  "dataSourceColumnReference":{
                     "name":"word_count"
                  }
               }
            }
         }
      ]
   },
   "fields":"pivotTable"
    }

แทนที่ DATA_SOURCE_ID ด้วยรหัสที่ไม่ซ้ำกันของสเปรดชีตที่ระบุแหล่งข้อมูล

หลังจากดึงข้อมูล BigQuery แล้ว ระบบจะเติมตาราง Pivot ของแหล่งข้อมูลตามที่แสดงไว้

ตาราง Pivot ของแหล่งข้อมูลที่แสดงข้อมูลจากชุดข้อมูลสาธารณะของเชกสเปียร์

เพิ่มแผนภูมิแหล่งข้อมูล

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีใช้เมธอด spreadsheets.batchUpdate และ AddChartRequest เพื่อสร้างแผนภูมิแหล่งข้อมูลที่มี chartType เป็น COLUMN ซึ่งแสดงจำนวนคำทั้งหมดตามคลังข้อมูล

"addChart":{
   "chart":{
      "spec":{
         "title":"Corpus by word count",
         "basicChart":{
            "chartType":"COLUMN",
            "domains":[
               {
                  "domain":{
                     "columnReference":{
                        "name":"corpus"
                     }
                  }
               }
            ],
            "series":[
               {
                  "series":{
                     "columnReference":{
                        "name":"word_count"
                     },
                     "aggregateType":"SUM"
                  }
               }
            ]
         }
      },
      "dataSourceChartProperties":{
         "dataSourceId":"DATA_SOURCE_ID"
      }
   }
}

แทนที่ DATA_SOURCE_ID ด้วยรหัสที่ไม่ซ้ำกันของสเปรดชีตที่ระบุแหล่งข้อมูล

หลังจากดึงข้อมูล BigQuery แล้ว แผนภูมิแหล่งข้อมูลจะแสดงผลตามที่แสดง

แผนภูมิแหล่งข้อมูลที่แสดงข้อมูลจากชุดข้อมูลสาธารณะของเชกสเปียร์

เพิ่มสูตรแหล่งข้อมูล

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีใช้เมธอด spreadsheets.batchUpdate และ UpdateCellsRequest เพื่อสร้างสูตรแหล่งข้อมูลเพื่อคำนวณจำนวนคำเฉลี่ย

"updateCells":{
   "rows":[
      {
         "values":[
            {
               "userEnteredValue":{
                  "formulaValue":"=AVERAGE(shakespeare!word_count)"
               }
            }
         ]
      }
   ],
   "fields":"userEnteredValue"
}

หลังจากดึงข้อมูล BigQuery แล้ว ระบบจะเติมสูตรแหล่งข้อมูลตามที่แสดงไว้

สูตรแหล่งข้อมูลที่แสดงข้อมูลจากชุดข้อมูลสาธารณะของเชกสเปียร์

รีเฟรชออบเจ็กต์แหล่งข้อมูล

คุณรีเฟรชออบเจ็กต์แหล่งข้อมูลเพื่อดึงข้อมูลล่าสุดจาก BigQuery ได้โดยอิงตามข้อกำหนดของแหล่งข้อมูลปัจจุบันและการกำหนดค่าออบเจ็กต์ คุณใช้เมธอด spreadsheets.batchUpdate เพื่อเรียก RefreshDataSourceRequest ได้ จากนั้นระบุการอ้างอิงออบเจ็กต์อย่างน้อย 1 รายการเพื่อรีเฟรชโดยใช้ออบเจ็กต์ DataSourceObjectReferences

โปรดทราบว่าคุณสร้างและรีเฟรชออบเจ็กต์แหล่งข้อมูลภายในคำขอ batchUpdate รายการเดียวได้

สถานะการดำเนินการกับข้อมูล

เมื่อคุณสร้างแหล่งข้อมูลหรือรีเฟรชออบเจ็กต์แหล่งข้อมูล ระบบจะสร้างการดำเนินการเบื้องหลังเพื่อดึงข้อมูลจาก BigQuery และแสดงผลการตอบกลับที่มี DataExecutionStatus หากการดำเนินการเริ่มต้นขึ้นเรียบร้อยแล้ว โดยปกติ DataExecutionState จะอยู่ในสถานะ RUNNING

เนื่องจากกระบวนการนี้ไม่พร้อมกัน แอปพลิเคชันของคุณจึงควรใช้โมเดลแบบสำรวจเพื่อเรียกสถานะของออบเจ็กต์แหล่งข้อมูลเป็นระยะๆ ให้ใช้เมธอด spreadsheets.get จนกว่าสถานะจะแสดงสถานะ SUCCEEDED หรือ FAILED ในกรณีส่วนใหญ่ การดำเนินการจะเสร็จสิ้นอย่างรวดเร็ว แต่ก็ขึ้นอยู่กับความซับซ้อนของแหล่งข้อมูล โดยปกติการดำเนินการจะไม่เกิน 10 นาที