Faturaları BigQuery Sorgu Örneklerine Dışa Aktarma

Dışa aktarılan faturalandırma verilerinde BigQuery sorgularını nasıl kullanabileceğinize dair bazı örnekleri aşağıda bulabilirsiniz:

Bu örnekler için aşağıdaki durumların geçerli olduğunu varsayın:

  • 2 uygulamanız var (greyfurt sıkacağı ve çikolata öğütücü).
  • Her uygulama için 2 ortamınız var (geliştirme ve üretim).
  • Geliştirme ortamında uygulama başına 1 küçük örnek var.
  • İş ortamında Amerika'da 1 adet, Asya'da 1 adet küçük örnek var.
  • Her bir örnek, uygulama ve ortamla etiketlidir.
  • Deney için kullandığınız etiketsiz 1 örnek var.

Toplam faturanız 24 ABD dolarıdır. Faturanın dökümü aşağıdaki gibidir:

Örnek Etiketler Toplam Maliyet
Amerika'da çalışan 1 VCPU'lu küçük örnek Yok 4 ABD doları
Amerika'da çalışan 1 VCPU'lu küçük örnek uygulama: çikolata öğütücü
ortam: geliştirme
2 ABD doları
Amerika'da çalışan 1 VCPU'lu küçük örnek uygulama: greyfurt sıkacağı
ortam: geliştirme
3 ABD doları
Amerika'da çalışan 1 VCPU'lu küçük örnek uygulama: çikolata öğütücü
ortam: üretim
3,25 ABD doları
Asya'da çalışan 1 VCPU'lu küçük örnek uygulama: çikolata öğütücü
ortam: üretim
3,75 ABD doları
Amerika'da çalışan 1 VCPU'lu küçük örnek uygulama: greyfurt sıkacağı
ortam: üretim
3,50 ABD doları
Asya'da çalışan 1 VCPU'lu küçük örnek uygulama: greyfurt sıkacağı
ortam: üretim
4,50 ABD doları

Aşağıdaki örnekler, verilerinizi sorgulama yöntemlerini göstermektedir.

Her satırı gruplamadan sorgulama

Bu masrafların en ayrıntılı görüntüsü, her satırı gruplamadan sorgulayarak elde edilir. Etiketler ve stb açıklaması haricindeki tüm alanların aynı olduğunu varsayın (proje, hizmet vb.).

Standart SQL

SELECT
  sku.description,
  TO_JSON_STRING(labels) as labels,
 cost as cost
FROM `project.dataset.table`;

Eski SQL

TO_JSON_STRING Not supported.
Satır stb.tanımı etiketler maliyet
1 Amerika'da çalışan 1 VCPU'lu küçük örnek [] 4 ABD doları
2 Amerika'da çalışan 1 VCPU'lu küçük örnek [{"key":"uygulama","value":"çikolata öğütücü"},{"key":"ortam","value":"geliştirme"}] 2 ABD doları
3 Amerika'da çalışan 1 VCPU'lu küçük örnek [{"key":"uygulama","value":"greyfurt sıkacağı"},{"key":"ortam","value":"geliştirme"}] 3 ABD doları
4 Amerika'da çalışan 1 VCPU'lu küçük örnek [{"key":"uygulama","value":"çikolata öğütücü"},{"key":"ortam","value":"üretim"}] 3,25 ABD doları
5 Asya'da çalışan 1 VCPU'lu küçük örnek [{"key":"uygulama","value":"çikolata öğütücü"},{"key":"ortam","value":"üretim"}] 3,75 ABD doları
6 Amerika'da çalışan 1 VCPU'lu küçük örnek [{"key":"uygulama","value":"greyfurt sıkacağı"},{"key":"ortam","value":"üretim"}] 3,50 ABD doları
7 Asya'da çalışan 1 VCPU'lu küçük örnek [{"key":"uygulama","value":"greyfurt sıkacağı"},{"key":"ortam","value":"üretim"}] 4,50 ABD doları
TOPLAM 24 ABD doları

JSON dizesi olarak etiket haritasına göre gruplandırma

Bu yöntem, maliyetin her etiket kombinasyonuna göre dökümünü yapmanın kısa ve hızlı bir yoludur.

Standart SQL

SELECT
  TO_JSON_STRING(labels) as labels,
  sum(cost) as cost
FROM `project.dataset.table`
GROUP BY labels;

Eski SQL

TO_JSON_STRING Not supported.
Satır etiketler maliyet
1 [] 4 ABD doları
2 [{"key":"uygulama","value":"çikolata öğütücü"},{"key":"ortam","value":"geliştirme"}] 2 ABD doları
3 [{"key":"uygulama","value":"greyfurt sıkacağı"},{"key":"ortam","value":"geliştirme"}] 3 ABD doları
4 [{"key":"uygulama","value":"çikolata öğütücü"},{"key":"ortam","value":"üretim"}] 7 ABD doları
5 [{"key":"uygulama","value":"greyfurt sıkacağı"},{"key":"ortam","value":"üretim"}] 8 ABD doları
TOPLAM 24 ABD doları

Belirli bir anahtarın etiket değerine göre gruplandırma

Belirli bir etiket anahtarı değeri için maliyetlerin dökümünü elde etmek yaygın olarak kullanılır. LEFT JOIN kullanıp JOIN koşuluna (WHERE koşulu yerine) anahtar filtresi ekleyerek bu anahtarı içermeyen maliyeti dahil edersiniz ve bu sayede maliyetinizin daha kapsamlı bir şekilde görürsünüz.

Standart SQL

SELECT
  labels.value as environment,
  SUM(cost) as cost
FROM `project.dataset.table`
LEFT JOIN UNNEST(labels) as labels
  ON labels.key = "environment"
GROUP BY environment;

Eski SQL

SELECT
  labels.value as environment,
  SUM(cost) as cost
FROM [project:dataset.table]
WHERE labels.key = "environment" OR labels.key IS NULL
GROUP BY environment;
Satır ortam maliyet
1 üretim 15 ABD doları
2 geliştirme 5 ABD doları
3 null 4 ABD doları
TOPLAM 24 ABD doları

Anahtar/değer çiftlerine göre gruplama

Bu sonuçları yorumlarken veya dışa aktarırken dikkatli olun. Buradaki tek bir sıra, iki defa sayılmayan geçerli bir toplamı gösterir fakat diğer satırlarla birleştirilmemelidir (anahtar aynıysa veya anahtarların hiçbir zaman aynı kaynakta ayarlanmadığından eminseniz birleştirilebilir).

Standart SQL

SELECT
  labels.key as key,
  labels.value as value,
  SUM(cost) as cost
FROM `project.dataset.table`
LEFT JOIN UNNEST(labels) as labels
GROUP BY key, value;

Eski SQL

SELECT
  labels.key as key,
  labels.value as value,
  SUM(cost)
FROM [project:dataset.table]
GROUP BY key, value;
Satır key değer maliyet
1 null null 4 ABD doları
2 uygulama çikolata öğütücü 9 ABD doları
3 uygulama greyfurt sıkacağı 11 ABD doları
4 ortam geliştirme 5 ABD doları
5 ortam üretim 15 ABD doları
TOPLAM 44 ABD doları

Toplam tutarın faturanızdan daha büyük olduğunu unutmayın.