Bağlayıcınız BigQuery'den veri getiriyorsa Looker Studio'yu kullanabilirsiniz. Gelişmiş Hizmetler'i tıklayın. BigQuery'yi çağırmak yerine API'yi doğrudan API'ye eklerseniz bir sorgu yapılandırması sağlarsınız, Looker Studio verileri ve şemayı sizin için hazırlayacağız.
İşleyiş şekli
Looker Studio Gelişmiş Hizmetleri'ni kullanan Topluluk Bağlayıcılar, şuna benzer şekilde çalışır: bağlayıcı.
Kayda değer fark, bu denemelerin yürütülmesinden beklenen yanıttır
getSchema()
ve/veya getData()
işlevleri. ve komutlarını almak yerine
bir şema ve veri döndürdüğünde, bu işlevler sorgu yapılandırmalarını döndürebilir.
Bir sorgu yapılandırması döndürüldüğünde Looker Studio doğrudan
sağlanan sorgu yapılandırmasına göre şema ve/veya veriler oluşturun.
Bağlayıcınızı geliştirme
Looker Studio Gelişmiş Hizmetleri'ni kullanan topluluk bağlayıcıları, normal bağlayıcısıdır.
Manifest referansı
Manifest'te aşağıdaki özellikleri true
olarak ayarlayın.
getSchema()
içindataStudio.advancedServices.schema
mülkünü kullanıngetData()
içindataStudio.advancedServices.data
mülkünü kullanın
true
değeri, ilgili işlev için bağlayıcınızın
sorgusu, standart yanıt yerine bir sorgu yapılandırması döndürür.
Standart getSchema()
yanıtını kullanarak kendi şemanızı tanımlamak için
Manifest'te dataStudio.advancedServices.schema
değerini false
olarak değiştirin veya bunu atlayın
Bu, şemanızdaki tüm alanlar
tek bir BigQuery sorgusu (ör. inceleyebilirsiniz.
BigQuery sorgusu, yetkili kullanıcı adına yürütüleceğinden
BigQuery OAuth kapsamını da içermelidir
("https://www.googleapis.com/auth/bigquery.readonly"
) gibi dosya adlandırma kurallarını
isteyebilirsiniz.
Aşağıda, yetkili kullanıcının kimlik bilgilerini kullanan bir bağlayıcı manifesti verilmiştir: ile bağlantı kurun:
{
"dataStudio": {
"name": "BigQuery Public Dataset Demo",
"logoUrl": "https://www.gstatic.com/images/branding/product/1x/data_connector_48dp.png",
"company": "Looker DevRel",
"companyUrl": "https://developers.google.com/looker-studio/",
"addOnUrl": "https://developers.google.com/looker-studio/",
"supportUrl": "https://developers.google.com/looker-studio/",
"description": "Use BigQuery public dataset with Looker Studio's Advanced Services.",
"advancedServices": {
"schema": true,
"data": true
}
},
"oauthScopes": ["https://www.googleapis.com/auth/bigquery.readonly"]
}
BigQuery'ye erişmek için bir hizmet hesabı kullanıyorsanız
bigquery.readonly
Manifest'te OAuth kapsamı gerekli değil. Ancak
kapsamı, hizmet hesabının kapsamlar listesine eklenmelidir.
getData
ve getSchema
referansı
Looker Studio Advanced Services kullanan bağlayıcılar bir sorgu yapılandırma nesnesi döndürür
getSchema()
ve/veya getData()
için. Veri kaynağına bağlı olarak
yapılandırması için ek özellikler gerekebilir.
Aşağıda, bu dosyayı oluşturmak için DataStudioApp hizmetinin kullanılmasına bir örnek verilmiştir yapılandırma nesnesi:
var bqTypes = DataStudioApp.createCommunityConnector().BigQueryParameterType;
var configuration = DataStudioApp.createCommunityConnector().newBigQueryConfig()
// BigQuery billing project's Id.
.setBillingProjectId('billingProjectId')
// The query that will be executed.
.setQuery('myQueryString')
// Set to `true` to use StandardSQL.
.setUseStandardSql(true)
// The accessToken used for service execution.
.setAccessToken('myAccessToken')
// Adding a `STRING` query parameter. Other supported types are `BOOL`,
// `FLOAT64`, and `INT64`.
.addQueryParameter('myUrlParameterName', bqTypes.STRING, 'myUrlParameterValue')
.build();
Örnek getSchema()
ve getData()
işlevi
var sqlString = "" +
"SELECT " +
" _TABLE_SUFFIX AS yyyymm, " +
" ROUND(SUM(IF(fcp.start < @fast_fcp, fcp.density, 0)), 4) AS fast_fcp, " +
" ROUND(SUM(IF(fcp.start >= 1000 AND fcp.start < 3000, fcp.density, 0)), 4) AS avg_fcp, " +
" ROUND(SUM(IF(fcp.start >= 3000, fcp.density, 0)), 4) AS slow_fcp " +
"FROM " +
" `chrome-ux-report.all.*`, " +
" UNNEST(first_contentful_paint.histogram.bin) AS fcp " +
"WHERE " +
" origin = @url " +
"GROUP BY " +
" yyyymm " +
"ORDER BY " +
" yyyymm ";
function getQueryConfig(request) {
var url = (request.configParams && request.configParams.url);
var projectId = (request.configParams && request.configParams.projectId);
var authToken = ScriptApp.getOAuthToken();
return DataStudioApp.createCommunityConnector().newBigQueryConfig()
.setAccessToken(authToken)
.setUseStandardSql(true)
.setBillingProjectId(projectId)
.setQuery(sqlString)
.addQueryParameter('url', bqTypes.STRING, url)
.addQueryParameter('fast_fcp', bqTypes.INT64, '' + 1000)
.build();
}
function getSchema(request) {
return getQueryConfig(request);
}
function getData(request) {
return getQueryConfig(request)
}