Halaman ini memberikan contoh cara membuat kueri data Layanan Saluran yang diekspor ke set data BigQuery.
Untuk mengetahui informasi selengkapnya tentang ekspor data Layanan Saluran, lihat cara menyiapkan ekspor data Layanan Saluran ke BigQuery. Untuk tips pemecahan masalah tambahan, lihat Memecahkan masalah terkait ekspor BigQuery.
Mengidentifikasi dan mengakses tabel BigQuery
Ekspor Layanan Saluran disiapkan menggunakan Partner Sales Console.
Nama tabel menggunakan format: PROJECT_ID.DATASET_NAME.reseller_billing_detailed_export_v1
Agar pengguna lain dapat melihat ekspor Layanan Channel, Anda harus
menerapkan izin yang benar. Misalnya, Anda
dapat menetapkan peran bigquery.dataViewer
ke kredensial Anda di project, set data, atau tabel itu sendiri.
Contoh kueri
Contoh berikut menyertakan contoh kueri dan penjelasan dasar tentang cara menafsirkan hasilnya. Hasilnya berisi biaya penggunaan Google Cloud untuk setiap Pelanggan atau partner saluran yang dikonfigurasi di Partner Sales Console.
Jumlah biaya partner berdasarkan akun penagihan
Anda dapat menggunakan kueri ini untuk memverifikasi invoice yang Anda terima dari Google. Nilai
cost
dan credit.amount
adalah jumlah untuk semua baris. Hal ini mencakup biaya penggunaan,
pajak, penyesuaian, dan error pembulatan.
SELECT
payer_billing_account_id,
currency,
invoice.month,
SUM(cost)
+ SUM(
IFNULL(
(SELECT SUM(c.amount) FROM UNNEST(credits) AS c), 0))
AS total
FROM `PROJECT_ID.DATASET_NAME.reseller_billing_detailed_export_v1`
WHERE
export_time BETWEEN TIMESTAMP(START_DATE)
AND TIMESTAMP(END_DATE)
GROUP BY
payer_billing_account_id,
currency,
invoice.month
ORDER BY
payer_billing_account_id,
currency,
invoice.month;
Jumlah biaya pelanggan berdasarkan sub-akun Penagihan Cloud
Anda dapat menggunakan kueri ini untuk meringkas penggunaan yang dapat ditagih untuk setiap pelanggan. Nilai
customer_cost
dan credit.customer_amount
menampilkan jumlah semua baris yang
mewakili biaya penggunaan. Baris yang mewakili pajak, penyesuaian, dan pembulatan menampilkan
nilai null
.
Untuk kredit dengan type
ditetapkan ke RESELLER_MARGIN, customer_amount
-nya
ditetapkan ke nol untuk memastikan margin tidak terlihat dalam penagihan pelanggan.
Nilai customer_cost
dan credit.customer_amount
menampilkan konfigurasi Penetapan harga ulang
Anda. Misalnya, jika RebillingBasis
untuk hak pelanggan tertentu diGoogle Cloud ditetapkan ke Direct Customer Cost minus 5%
, nilai customer_cost
adalah 0,95 dikalikan dengan cost
. Hal ini mencerminkan pengurangan
yang dikonfigurasi dari biaya Anda.
Hasil kueri ini berisi setiap sub-akun Penagihan Cloud, nama resource pelanggan Partner Sales terkait, bulan invoice, dan total penggunaan yang dapat ditagih.
SELECT
customer_name,
billing_account_id,
payer_billing_account_id,
currency,
invoice.month,
SUM(customer_cost)
+ SUM(
IFNULL(
(SELECT SUM(c.customer_amount) FROM UNNEST(credits) AS c), 0))
AS total
FROM `PROJECT_ID.DATASET_NAME.reseller_billing_detailed_export_v1`
WHERE
export_time BETWEEN TIMESTAMP(START_DATE)
AND TIMESTAMP(END_DATE)
GROUP BY
customer_name,
billing_account_id,
payer_billing_account_id,
currency,
invoice.month
ORDER BY
customer_name,
billing_account_id,
payer_billing_account_id,
currency,
invoice.month;
Jumlah biaya pelanggan menurut sub-akun Penagihan Cloud, seperti yang ditampilkan kepada pemilik sub-akun
Kueri ini menunjukkan cara angka biaya data dipetakan dengan yang dilihat pelanggan yang menjual kembali (atau Anda sebagai partner) saat mereka membuka konsol Google Cloud untuk sub-akun mereka.
- Untuk kredit dengan
type
ditetapkan ke RESELLER_MARGIN, kredit ini akan disembunyikan di tampilan SBA. - Untuk biaya dengan
cost_type
pajak, biaya ini akan disembunyikan di tampilan SBA. Reseller harus menambahkan Pajak yang berlaku secara terpisah ke invoice Penjualan Kembali mereka.
Terkadang, cost_at_list
dapat berupa null untuk beberapa kumpulan data, sehingga hasil ini
berbeda dengan yang Anda lihat di konsol Google Cloud . Jika hal ini terjadi, gunakan
IFNULL(cost_at_list, cost)
sebagai gantinya. Untuk mengetahui informasi selengkapnya, lihat
Tagihan tanpa biaya listingan.
SELECT
customer_name,
currency,
SUM(cost_at_list) AS list_cost,
SUM(cost - cost_at_list) AS negotiated_savings,
SUM(cost)
+ SUM(
IFNULL(
(
SELECT
SUM(c.amount)
FROM
UNNEST(credits) AS c
WHERE
c.type != 'RESELLER_MARGIN'
),
0)) AS total
FROM
`PROJECT_ID.DATASET_NAME.reseller_billing_detailed_export_v1`
WHERE
cost_type != 'tax'
AND billing_account_id = 'BILLING_SUBACCOUNT_ID'
AND invoice.month = 'YYYYMM'
GROUP BY
customer_name,
currency
ORDER BY
customer_name,
currency;
Jumlah biaya partner saluran berdasarkan akun penagihan
Jika Anda adalah distributor, Anda dapat menggunakan kueri ini untuk meringkas penggunaan yang dapat ditagih untuk
setiap partner saluran. Nilai channel_partner_cost
dan
credit.channel_partner_amount
menampilkan jumlah semua baris yang mewakili biaya
penggunaan. Baris yang mewakili pajak, penyesuaian, dan pembulatan menampilkan nilai null
.
Untuk kredit dengan type
ditetapkan ke RESELLER_MARGIN, channel_partner_amount
-nya ditetapkan ke nol untuk memastikan margin tidak terlihat di
penagihan partner saluran.
Nilai channel_partner_cost
dan credit.channel_partner_amount
menampilkan
konfigurasi Penetapan ulang harga. Misalnya, jika RebillingBasis
untuk partner saluran
tertentu ditetapkan ke Direct Customer Cost minus 5%
, nilai
channel_partner_cost
adalah 0,95 dikalikan dengan cost
. Hal ini mencerminkan pengurangan yang dikonfigurasi dari biaya Anda.
Hasil kueri ini berisi setiap akun penagihan, partner saluran
resource_name
yang terlampir ke pelanggan dalam akun penagihan tersebut, bulan invoice, dan total penggunaan yang dapat ditagih.
SELECT
channel_partner_name,
payer_billing_account_id,
currency,
invoice.month,
SUM(channel_partner_cost)
+ SUM(
IFNULL(
(SELECT SUM(c.channel_partner_amount) FROM UNNEST(credits) AS c), 0))
AS total
FROM `PROJECT_ID.DATASET_NAME.reseller_billing_detailed_export_v1`
WHERE
export_time BETWEEN TIMESTAMP(START_DATE)
AND TIMESTAMP(END_DATE)
GROUP BY
channel_partner_name,
payer_billing_account_id,
currency,
invoice.month
ORDER BY
channel_partner_name,
payer_billing_account_id,
currency,
invoice.month;
Jumlah biaya yang tidak ditetapkan ke pelanggan
Anda dapat menggunakan kueri ini untuk meringkas biaya yang tidak ditautkan ke pelanggan Layanan Saluran, tetapi mungkin mewakili penggunaan yang dapat ditagih kepada pelanggan lain. Nilai
cost
dan credit.amount
menunjukkan jumlah semua baris dengan
billing_account_id
dan payer_billing_account_id
yang berbeda. billing_account_id
mewakili sub-akun Penagihan Cloud.
Untuk kredit dengan type
ditetapkan ke RESELLER_MARGIN, kueri ini mengecualikan
jumlah kredit. Jumlah kredit ditujukan untuk alokasi Anda dan tidak
dianggap sebagai biaya pelanggan. Jumlah RESELLER_MARGIN
disertakan dalam biaya Anda dan ditampilkan di invoice yang dikirim oleh Google.
SELECT
billing_account_id,
payer_billing_account_id,
currency,
invoice.month,
SUM(cost)
+ SUM(
IFNULL(
(SELECT SUM(c.amount) FROM UNNEST(credits) AS c WHERE c.type != 'RESELLER_MARGIN'), 0))
AS total
FROM `PROJECT_ID.DATASET_NAME.reseller_billing_detailed_export_v1`
WHERE
export_time BETWEEN TIMESTAMP(START_DATE)
AND TIMESTAMP(END_DATE)
AND customer_name IS NULL
GROUP BY
billing_account_id,
payer_billing_account_id,
currency,
invoice.month
ORDER BY
billing_account_id,
payer_billing_account_id,
currency,
invoice.month;
Tampilan data Google Workspace mirip dengan CSV invoice
Jika Anda adalah reseller Google Workspace, Anda mungkin mendapatkan tampilan data penagihan Google Workspace dengan kolom yang serupa dengan file CSV invoice.
SELECT
(
SELECT
ws_labels.value
FROM
UNNEST(system_labels) AS ws_labels
WHERE
ws_labels.key = 'workspace.googleapis.com/domain_name'
) AS domain_name,
billing_account_id AS customer_id,
sku.description AS sku_name,
sku.id AS sku_id,
(
SELECT
ws_labels.value
FROM
UNNEST(system_labels) AS ws_labels
WHERE
ws_labels.key = 'workspace.googleapis.com/usage_type'
) AS description,
(
SELECT
ws_labels.value
FROM
UNNEST(system_labels) AS ws_labels
WHERE
ws_labels.key = 'workspace.googleapis.com/order_id'
) AS order_name,
FORMAT_TIMESTAMP('%b %d', usage_start_time, 'America/Los_Angeles')
AS start_date,
FORMAT_TIMESTAMP(
'%b %d',
TIMESTAMP_SUB(usage_end_time, INTERVAL 1 MINUTE),
'America/Los_Angeles')
AS end_date,
SUM(usage.amount_in_pricing_unit) AS quantity,
(
SELECT ws_labels.value
FROM UNNEST(system_labels) AS ws_labels
WHERE ws_labels.key = 'workspace.googleapis.com/purchase_order_id'
) AS po_number,
SUM(cost) AS amount,
SUM(cost_at_list) AS list_amount,
FROM `PROJECT_ID.DATASET_NAME.reseller_billing_detailed_export_v1`
WHERE
export_time BETWEEN TIMESTAMP(START_DATE)
AND TIMESTAMP(END_DATE)
AND payer_billing_account_id = 'EXTERNAL_BILLING_ACCOUNT_ID'
AND invoice.month = 'INVOICE_MONTH'
GROUP BY
domain_name,
customer_id,
sku_name,
sku_id,
description,
order_name,
start_date,
end_date,
po_number
HAVING amount != 0
ORDER BY
domain_name,
order_name,
start_date,
end_date;
Kolom menarik lainnya yang akan ditambahkan ke klausa SELECT
dan GROUP BY
:
billing_account_id
: Merepresentasikan ID Identitas Cloud Pelanggan.customer_name
: Merepresentasikan resource pelanggan yang dapat digunakan dalam panggilan API.channel_partner_name
: (Untuk distributor) Mewakili partner channel.entitlement_name
: Nama resource Hak di Layanan Saluran.customer_correlation_id
: ID Pengelolaan Hubungan Pelanggan (CRM) yang dapat Anda tentukan untuk pelanggan.usage.amount
: Untuk penggunaan berbasis kursi Google Workspace, ini menunjukkan kursi berbayar. Misalnya, slot yang dibeli untuk komitmen atau jumlah slot yang ditetapkan untuk langganan fleksibel.
Hasil kueri berbeda dengan invoice CSV dengan cara berikut:
- Kolom "Deskripsi" CSV menggunakan string yang dapat dibaca manusia, sedangkan ekspor BigQuery menggunakan nilai enum.
- Kolom "Tanggal mulai/Akhir" CSV tidak diisi dengan nol (misalnya, 1 Mei), sedangkan kueri BigQuery menggunakan nilai yang diisi (misalnya, 01 Mei). Anda juga dapat
menggunakan nilai stempel waktu secara langsung.
usage_start_time
bersifat inklusif, tetapiusage_end_time
bersifat eksklusif. - CSV memiliki satu baris "Pajak" di bagian akhir, sedangkan ekspor BigQuery memiliki baris pajak di tingkat langganan yang jumlahnya sama dengan baris "Pajak" CSV.
Tampilan data penagihan pesanan offline yang mirip dengan PDF invoice (pratinjau)
Jika Anda adalah reseller yang juga melakukan pemesanan offline (pesanan yang tidak Anda lakukan menggunakan Partner Sales Console), Anda bisa mendapatkan tampilan data penagihan dengan kolom yang mirip dengan file CSV invoice.
SELECT
billing_account_id AS customer_name,
service.description AS sku_name,
sku.id AS sku_id,
FORMAT_TIMESTAMP('%b %d', usage_start_time, 'America/Los_Angeles')
AS start_date,
FORMAT_TIMESTAMP('%b %d', usage_end_time, 'America/Los_Angeles')
AS end_date,
SUM(usage.amount_in_pricing_unit) AS quantity,
SUM(cost) AS amount,
FROM `PROJECT_ID.DATASET_NAME.reseller_billing_offline_orders_detailed_export_v0`
WHERE
export_time BETWEEN TIMESTAMP(START_DATE)
AND TIMESTAMP(END_DATE)
AND payer_billing_account_id = 'EXTERNAL_BILLING_ACCOUNT_ID'
AND invoice.month = 'INVOICE_MONTH'
GROUP BY
customer_name,
sku_name,
sku_id,
start_date,
end_date
HAVING amount != 0
ORDER BY
customer_name,
start_date,
end_date,
sku_id;
Hasil kueri berbeda dengan invoice PDF dalam hal berikut:
- Anda dapat mengonversi nilai stempel waktu menjadi nilai tanggal di zona waktu "America/Los_Angeles".
usage_start_time
danusage_end_time
bersifat eksklusif. - PDF ini memiliki perincian pajak yang mendetail tentang pajak penjualan lokal versus negara bagian, dengan ekspor BigQuery memiliki baris pajak di tingkat langganan yang jumlahnya sama dengan jumlah pajak untuk seluruh langganan.