Satış işleriniz için bir çözüm oluşturmaya çalıştığınızı kurum içinde tutmaktır. Satış organizasyonu, her birinin ayrılabileceği birden çok bölgeye bölünmüştür bölgenin kendi Bölge Yöneticisi var. BigQuery'deki satış veri kümesinde, tutar, bölgeye ve tarihe göre gösterilir.
Teklif edilen çözümde, Bölge Yöneticilerinin konum bilgilerini yönetebileceği tek bir kontrol paneli Yalnızca kendi bölgelerine ait satış verilerini görüntüleyebilir.
Şartlar
- Kontrol panelini görüntüleyenler bir Google Hesabı ile oturum açmış olur.
- Kullanıcının e-postası ile sahip olduğu veriler/satırlar arasında eşleme mevcuttur. erişim.
- BigQuery verilerine erişmek için bir hizmet hesabı kullanılır. Böylelikle faturalandırma ve kontrol paneli sağlayıcısı tarafından merkezi hale getirilecek ve yönetilecektir.
Sınırlamalar
- Kontrol paneli, ilk olarak her izleyiciden tek seferlik yetkilendirme gerektirir görünüm.
- Görüntüleyenler kontrol panelini düzenleyemez veya başkalarıyla paylaşamaz.
- Workspace müşterisiyseniz ve yöneticiniz paylaşımı devre dışı bıraktıysa Dosyaları "Bağlantıya sahip olan herkes" hedefine aktarın veya paylaşımı kaldırın veya Gmail.com hesabında çözümü geliştirebilir.
Çözüm
Çözümü uygulamak için aşağıdaki tüm adımları tamamlayın.
Yeni bir Topluluk Bağlayıcısı oluştur
Topluluk Bağlayıcılarının İşleyiş Şekli başlıklı makaleyi inceleyin ve Topluluk Bağlayıcısı'nı tamamlayın Codelab'i ziyaret edin. Bağlayıcı oluşturmak için geliştirici aracını daha hızlı ve kolay bir geliştirme sürecidir.
Bağlayıcı kodunu yazın
getAuthType()
,NONE
değerini döndürmelidir.getConfig()
, boş bir yapılandırma döndürmelidir.- İsteğe bağlı: Kontrol panelini yapılandırmak için belirli girişlere ihtiyacınız varsa buradan kullanıcı girişi isteyebilir.
getSchema()
, sorgunuzun şemasını döndürmelidir.- İsteğe bağlı: SQL'den özel alanlar ve hesaplamalar ekleyebilirsiniz. kullanarak veya şemanın bir parçası olarak hesaplanan alanları kullanarak yapabilirsiniz.
getData()
, sonraki bir adımda tamamlanacak.
Manifest güncelleme
Manifest referansını görüntüleyin ve manifesti gerekli tüm bilgilerle doldurun. şu bilgileri de içerir:
dataStudio.forceViewersCredentials
değerinitrue
olarak ayarla.dataStudio.advancedServices.data
değerinitrue
olarak ayarla.oauthScopes
içinhttps://www.googleapis.com/auth/userinfo.email
vehttps://www.googleapis.com/auth/script.external_request
. Bkz. Yetkilendirme Daha fazla bilgi edinmek için Apps Komut Dosyası kapsamları başlıklı makaleye göz atın.- Koşullu: Şurada kullanılan hizmetler için tüm alakalı kapsamları ekleyin: bağlayıcı.
Manifest aşağıdaki gibi görünmelidir:
{
...
"dataStudio": {
"forceViewersCredentials": true,
"advancedServices": {
"data": true
},
...
}
"oauthScopes": [
"https://www.googleapis.com/auth/script.external_request",
"https://www.googleapis.com/auth/userinfo.email"
],
...
}
Hizmet hesabı uygulama
- Google Cloud projenizde bir hizmet hesabı oluşturun. Bu, faturalandırma projesine gidin.
- Bu hizmet hesabının, bulut projesinde BigQuery erişimine sahip olduğundan emin olun.
- Gerekli Kimlik ve Erişim Yönetimi (IAM) Rolleri:
BigQuery Data Viewer
,BigQuery Job User
- Gerekli Kimlik ve Erişim Yönetimi (IAM) Rolleri:
- Hizmet hesabı anahtarlarını almak için JSON dosyasını indirin. Anahtarları şurada saklayın: bağlayıcı projenizin komut dosyası özelliklerini kullanın.
- Apps Komut Dosyası projenize Apps Komut Dosyası için OAuth2 kitaplığını ekleyin.
- Hizmet hesabı için gerekli OAuth2 kodunu uygulayın:
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()
uygulayın
- BigQuery sorgunuzu oluşturun.
- E-postayı kullanarak e-posta ile veriler arasındaki eşleşmeyi arayın.
- Verileri filtrelemek için JOIN ve/veya WHERE ifadesini kullanın.
- Etkili kullanıcının e-postasını alın (kullanıcı kimliği referansı).
- Sorgu yapılandırmasını döndürmek için Looker Studio Gelişmiş Hizmetleri'ni kullanın.
getData'dan alır.
- Oluşturulan sorguyu, faturalandırma projesini ve Hizmet Hesabını iletme OAuth jetonu.
- Koşullu: Kullanıcı girişini
getConfig
bağlayıcısı üzerinden alıyorsanız girişi BigQuery parametreleri olarak eklemeniz gerekir.
Kontrol panelini oluşturma
- Dağıtımların ve sürümlerin bağlayıcılar için nasıl çalıştığını öğrenin.
- Bağlayıcı için bir üretim dağıtımı oluşturun.
- Üretim dağıtımını kullanarak şurada bir veri kaynağı ve yeni bir rapor oluşturun: Looker Studio.
- Tüm tabloları ve grafikleri rapora ekleyin.
- Kontrol paneli artık kullanıcılarınızla paylaşılmaya hazırdır.
Kontrol panelini kullanıcılara sunma
- Bağlayıcı komut dosyasını seçili kullanıcılarla veya "Herkes" bağlantısı gösterilir."
- Gösterge tablosunu seçili kullanıcılarla veya "Şu hesabı kullanan herkes" ile paylaşın: bağlantısı"nı tıklayın.
- İsteğe bağlı: kontrol paneli URL'si Kısaltılmış URL'yi kullanıcılarınızla paylaşın. Bu sayede kontrol paneli URL'sini ekleyebilirsiniz.
- İsteğe bağlı: Google Analytics'i aşağıdakiler için ayarlayarak kontrol paneli kullanımını ölçün seçin.