เช่น สมมติว่าคุณพยายามสร้างโซลูชันสำหรับการขาย องค์กร องค์กรขายจะแบ่งออกเป็นหลายภูมิภาค โดยแต่ละภูมิภาค region จะมีผู้จัดการระดับภูมิภาคเป็นของตัวเอง ชุดข้อมูลการขายใน BigQuery มียอดขาย จํานวนตามภูมิภาคและตามวันที่
โซลูชันที่นำเสนอจะมีแดชบอร์ดเดียวซึ่งผู้จัดการระดับภูมิภาค ดูข้อมูลการขายได้ในภูมิภาคของตนเท่านั้น
ข้อกำหนด
- ผู้ดูหน้าแดชบอร์ดจะต้องลงชื่อเข้าใช้ด้วยบัญชี Google
- จะมีการแมประหว่างอีเมลของผู้ใช้กับข้อมูล/แถวที่ผู้ใช้มี เข้าถึงได้
- ระบบจะใช้บัญชีบริการเพื่อเข้าถึงข้อมูล BigQuery ดังนั้นการเรียกเก็บเงิน จะมีการรวมศูนย์และจัดการโดยผู้ให้บริการหน้าแดชบอร์ด
ข้อจำกัด
- แดชบอร์ดกำหนดให้มีการให้สิทธิ์แบบครั้งเดียวจากผู้ดูแต่ละรายเป็นอย่างแรก
- โดยผู้ชมจะแก้ไขหน้าแดชบอร์ดหรือแชร์กับผู้อื่นไม่ได้
- หากคุณเป็นลูกค้า Workspace และผู้ดูแลระบบได้ปิดใช้การแชร์ ไฟล์ในไดรฟ์ไปยัง "ทุกคนที่มีลิงก์" จะนำการแชร์ออก หรือพัฒนาโซลูชันในบัญชี Gmail.com
โซลูชัน
ทำตามขั้นตอนต่อไปนี้ทั้งหมดเพื่อนำโซลูชันไปใช้
สร้างปลั๊กอินจากชุมชนสำหรับใช้ลิงก์ข้อมูลใหม่
ตรวจสอบวิธีการทำงานของปลั๊กอินจากชุมชนสำหรับใช้ลิงก์ข้อมูลและทำเครื่องมือเชื่อมต่อชุมชนให้เสร็จ Codelab เพื่อเริ่มต้นใช้งาน ใช้เครื่องมือสำหรับนักพัฒนาซอฟต์แวร์สำหรับการสร้างเครื่องมือเชื่อมต่อสำหรับ ขั้นตอนการพัฒนาที่ง่ายและรวดเร็วยิ่งขึ้น
เขียนโค้ดเครื่องมือเชื่อมต่อ
getAuthType()
ควรส่งคืนNONE
getConfig()
ควรแสดงผลการกำหนดค่าที่ว่างเปล่า- ไม่บังคับ: หากคุณต้องการข้อมูลที่เจาะจงสำหรับการกำหนดค่าแดชบอร์ด ให้ทำดังนี้ สามารถขอข้อมูลจากผู้ใช้ได้ที่นี่
getSchema()
ควรแสดงผลสคีมาสำหรับการค้นหาของคุณ- ไม่บังคับ: คุณเพิ่มช่องที่กำหนดเองและการคำนวณใน SQL ได้ การค้นหาหรือใช้ช่องที่คำนวณแล้วเป็นส่วนหนึ่งของสคีมา
getData()
จะเสร็จสมบูรณ์ในขั้นตอนถัดไป
อัปเดตไฟล์ Manifest
ดูข้อมูลอ้างอิงไฟล์ Manifest และไฟล์ Manifest ที่มีทั้งหมดที่จำเป็น รวมทั้งข้อมูลต่อไปนี้
- ตั้งค่า
dataStudio.forceViewersCredentials
เป็นtrue
- ตั้งค่า
dataStudio.advancedServices.data
เป็นtrue
- สำหรับ
oauthScopes
ให้เพิ่มhttps://www.googleapis.com/auth/userinfo.email
และhttps://www.googleapis.com/auth/script.external_request
ดูการให้สิทธิ์ โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับขอบเขตสำหรับ Apps Script- แบบมีเงื่อนไข: เพิ่มขอบเขตที่เกี่ยวข้องทั้งหมดสำหรับบริการที่ใช้ใน เครื่องมือเชื่อมต่อ
ไฟล์ Manifest ควรมีลักษณะเช่นนี้
{
...
"dataStudio": {
"forceViewersCredentials": true,
"advancedServices": {
"data": true
},
...
}
"oauthScopes": [
"https://www.googleapis.com/auth/script.external_request",
"https://www.googleapis.com/auth/userinfo.email"
],
...
}
ใช้บัญชีบริการ
- สร้างบัญชีบริการในโปรเจ็กต์ Google Cloud นี่คือ โครงการเรียกเก็บเงิน
- ตรวจสอบว่าบัญชีบริการนี้มีสิทธิ์เข้าถึง BigQuery ในโปรเจ็กต์ที่อยู่ในระบบคลาวด์
- บทบาท Identity and Access Management (IAM) ที่จำเป็น:
BigQuery Data Viewer
, วันที่BigQuery Job User
- บทบาท Identity and Access Management (IAM) ที่จำเป็น:
- ดาวน์โหลดไฟล์ JSON เพื่อรับคีย์บัญชีบริการ เก็บคีย์ไว้ใน พร็อพเพอร์ตี้สคริปต์ของโปรเจ็กต์เครื่องมือเชื่อมต่อ
- รวมไลบรารี OAuth2 สำหรับ Apps Script ไว้ในโปรเจ็กต์ Apps Script ของคุณ
- ใช้โค้ด OAuth2 ที่จำเป็นสำหรับบัญชีบริการ ดังนี้
var SERVICE_ACCOUNT_CREDS = 'SERVICE_ACCOUNT_CREDS'; var SERVICE_ACCOUNT_KEY = 'private_key'; var SERVICE_ACCOUNT_EMAIL = 'client_email'; var BILLING_PROJECT_ID = 'project_id'; /** * Copy the entire credentials JSON file from creating a service account in GCP. */ function getServiceAccountCreds() { return JSON.parse(scriptProperties.getProperty(SERVICE_ACCOUNT_CREDS)); } function getOauthService() { var serviceAccountCreds = getServiceAccountCreds(); var serviceAccountKey = serviceAccountCreds[SERVICE_ACCOUNT_KEY]; var serviceAccountEmail = serviceAccountCreds[SERVICE_ACCOUNT_EMAIL]; return OAuth2.createService('RowLevelSecurity') .setAuthorizationBaseUrl('https://accounts.google.com/o/oauth2/auth') .setTokenUrl('https://accounts.google.com/o/oauth2/token') .setPrivateKey(serviceAccountKey) .setIssuer(serviceAccountEmail) .setPropertyStore(scriptProperties) .setCache(CacheService.getScriptCache()) .setScope(['https://www.googleapis.com/auth/bigquery.readonly']); }
นำ getData()
ไปใช้
- สร้างการค้นหา BigQuery
- ค้นหาการจับคู่ระหว่างอีเมลและข้อมูลโดยใช้อีเมล
- ใช้อนุประโยค "สมัคร" และ/หรือ "WHERE" เพื่อกรองข้อมูล
- รับอีเมลของผู้ใช้ที่มีประสิทธิภาพ (การอ้างอิงตัวตนของผู้ใช้)
- ใช้บริการขั้นสูงของ Looker Studio เพื่อแสดงการกำหนดค่าการค้นหา
จาก getData
- ส่งคำค้นหาที่สร้างขึ้น โปรเจ็กต์การเรียกเก็บเงิน และบัญชีบริการ โทเค็น OAuth
- มีเงื่อนไข: หากคุณรับข้อมูลจากผู้ใช้ผ่านเครื่องมือเชื่อมต่อ
getConfig
คุณควรรวมข้อมูลเข้าเป็นพารามิเตอร์ BigQuery
สร้างแดชบอร์ด
- ทำความเข้าใจวิธีการทำงานของการทำให้ใช้งานได้และเวอร์ชันสำหรับเครื่องมือเชื่อมต่อ
- สร้างการติดตั้งใช้งานเวอร์ชันที่ใช้งานจริงสำหรับเครื่องมือเชื่อมต่อ
- ใช้การติดตั้งใช้งานเวอร์ชันที่ใช้งานจริงเพื่อสร้างแหล่งข้อมูลและรายงานใหม่ใน Looker Studio
- เพิ่มตารางและแผนภูมิทั้งหมดในรายงาน
- ตอนนี้แดชบอร์ดพร้อมที่จะแชร์กับผู้ใช้ของคุณ
ทำให้ผู้ใช้สามารถใช้หน้าแดชบอร์ดได้
- แชร์สคริปต์เครื่องมือเชื่อมต่อกับผู้ใช้ที่เลือกหรือกับ "ทุกคน พร้อมลิงก์"
- แชร์หน้าแดชบอร์ดกับผู้ใช้ที่เลือก หรือ "ทุกคนที่มี ลิงก์"
- ไม่บังคับ: ใช้บริการย่อ URL เพื่อสร้างลิงก์แบบสั้นสำหรับ URL ของหน้าแดชบอร์ด แชร์ URL แบบย่อกับผู้ใช้ ซึ่งจะช่วยแทนที่ URL ของหน้าแดชบอร์ดในภายหลังได้ หากจำเป็น
- ไม่บังคับ: วัดการใช้หน้าแดชบอร์ดโดยการตั้งค่า Google Analytics สำหรับ รายงาน