Auf dieser Seite finden Sie Beispiele für die Abfrage von Channel Services-Daten, die in ein BigQuery-Dataset
Weitere Informationen zum Datenexport von Channel Services finden Sie unter Anleitung Channel Services-Datenexport einrichten BigQuery Für Weitere Tipps zur Fehlerbehebung finden Sie unter Probleme mit BigQuery beheben Exporte.
BigQuery-Tabelle ermitteln und darauf zugreifen
Channel Services-Exporte werden über die Partner Sales Console eingerichtet.
Der Name der Tabelle hat folgendes Format: PROJECT_ID.DATASET_NAME.reseller_billing_detailed_export_v1
.
Damit andere Nutzer einen Channel Services-Export aufrufen können, müssen Sie die richtigen Berechtigungen anwenden. Sie können beispielsweise
die Rolle bigquery.dataViewer
zu Ihren Anmeldedaten für das Projekt, Dataset oder
in der Tabelle selbst.
Beispielabfragen
Die folgenden Beispiele enthalten eine Beispielabfrage und eine grundlegende Erklärung, wie Sie die Ergebnisse zu interpretieren. Die Ergebnisse enthalten Google Cloud-Nutzungskosten für alle konfigurierten Kunden oder Channelpartner im Partner Sales Console.
Summe der Partnerkosten nach Rechnungskonto
Sie können diese Abfrage verwenden, um eine Rechnung zu überprüfen, die Sie von Google erhalten. Die Werte cost
und credit.amount
sind die Summen aller Zeilen. Dazu gehören Nutzungskosten, Steuern, Anpassungen und Rundungsfehler.
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;
Summe der Kundenkosten nach Cloud Billing-Rechnungsunterkonto
Mit dieser Abfrage können Sie die abrechenbare Nutzung für jeden Kunden zusammenfassen. Die Werte customer_cost
und credit.customer_amount
geben die Summen aller Zeilen an, die Nutzungskosten darstellen. In Zeilen, in denen Steuern, Korrekturen und Rundungen enthalten sind,
Einen null
-Wert.
Für Gutschriften, bei denen type
auf RESELLER_MARGIN gesetzt ist, lautet der Wert customer_amount
auf null setzen, damit die Marge nicht in der Kundenabrechnung angezeigt wird.
Die Werte customer_cost
und credit.customer_amount
geben Ihre Preisneuberechnung an.
Konfigurationen. Wenn beispielsweise RebillingBasis
für die Google Cloud-Berechtigung eines bestimmten Kunden auf Direct Customer Cost minus 5%
festgelegt ist, ist der Wert für customer_cost
0,95 multipliziert mit cost
. Dies entspricht dem konfigurierten Wert
weniger Kosten.
Die Ergebnisse dieser Abfrage enthalten jedes Cloud-Rechnungsunterkonto, den zugehörigen Ressourcennamen des Kunden des Vertriebsprogramms für Partner, den Rechnungsmonat und die abrechenbare Gesamtnutzung.
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;
Summe der Kundenkosten nach Cloud Billing-Unterkonto, wie sie dem Inhaber des Unterkontos angezeigt wird
Diese Abfrage zeigt, wie die Datenkosten mit den Angaben übereinstimmen, die ein Kunde, der die Daten weiterverkauft (oder Sie als Partner), sieht, wenn er die Google Cloud Console für sein Unterkonto öffnet.
- Bei Gutschriften, bei denen
type
auf RESELLER_MARGIN festgelegt ist, wird dieser Wert in der SBA-Ansicht ausgeblendet. - Bei Kosten, bei denen
cost_type
Steuern enthält, wird dieser Wert in der SBA-Ansicht ausgeblendet. Der Reseller muss die anwendbaren Steuern separat auf die Rechnungen für den Weiterverkauf hinzufügen.
Gelegentlich kann cost_at_list
für einige Datensätze, die dieses Ergebnis verursachen, null sein
in der Google Cloud Console. Verwenden Sie in diesem Fall
Stattdessen IFNULL(cost_at_list, cost)
. Weitere Informationen finden Sie unter Belastungen ohne
Liste
Kosten.
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;
Summe der Channelpartnerkosten nach Rechnungskonto
Wenn Sie ein Händler sind, können Sie diese Abfrage verwenden, um die abrechnungsfähige Nutzung für
Channelpartner Die Werte channel_partner_cost
und credit.channel_partner_amount
geben die Summe aller Zeilen an, die die Nutzungskosten darstellen. Zeilen, die Steuern, Anpassungen und Rundungen darstellen, enthalten den Wert null
.
Bei Gutschriften, bei denen type
auf RESELLER_MARGIN festgelegt ist, wird channel_partner_amount
auf null gesetzt, damit die Marge nicht in der Abrechnung des Channelpartners zu sehen ist.
Die Werte channel_partner_cost
und credit.channel_partner_amount
zeigen Ihre
Konfigurationen für Preisneuberechnungen. Wenn beispielsweise die RebillingBasis
für eine bestimmte
Channelpartner auf Direct Customer Cost minus 5%
gesetzt ist,
Der Wert von channel_partner_cost
beträgt 0,95 multipliziert mit cost
. Dies entspricht der konfigurierten Kostenminderung.
Die Ergebnisse dieser Abfrage enthalten jedes Rechnungskonto, den Channelpartner
resource_name
, die mit Kunden unter diesem Rechnungskonto verknüpft sind, wird die Rechnung
und die gesamte abrechenbare Nutzung.
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;
Summe der Kosten, die einem Kunden nicht zugewiesen sind
Mit dieser Abfrage können Sie die Kosten zusammenfassen, die nicht mit Channel Services verknüpft sind.
aber die Nutzung kann auch anderen Kunden in Rechnung gestellt werden. Die Werte
cost
und credit.amount
zeigen die Summe aller Zeilen an, in denen der
billing_account_id
und payer_billing_account_id
sind unterschiedlich. billing_account_id
steht für das Cloud Billing-Unterkonto.
Für Gutschriften, bei denen type
auf RESELLER_MARGIN festgelegt ist, wird in dieser Abfrage Folgendes ausgeschlossen:
des Guthabenbetrags. Der Gutschriftsbetrag ist für Ihre Zuweisung bestimmt und gilt nicht als Kundenkosten. Der Betrag in Höhe von RESELLER_MARGIN
ist in Ihrem
und auf den von Google gesendeten Rechnungen ausgewiesen.
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;
Google Workspace-Datenansicht ähnlich der CSV-Rechnung
Wenn Sie Google Workspace-Reseller sind, sehen Sie möglicherweise eine Ansicht der Google Workspace-Abrechnungsdaten mit ähnlichen Spalten wie in den CSV-Rechnungsdateien.
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,
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;
Weitere Spalten, die Sie den SELECT
- und GROUP BY
-Bedingungen hinzufügen können:
billing_account_id
: Stellt die Cloud Identity-ID des Kunden dar.customer_name
: Stellt die Kundenressource dar, die die in API-Aufrufen verwendet werden.channel_partner_name
: (Für Distributoren) Stellt den Channelpartner dar.entitlement_name
: Ressourcenname der Berechtigung in Channel Services.customer_correlation_id
: Eine CRM-ID (Customer Relationship Management), die Sie für einen Kunden definieren können.usage.amount
: Für die lizenzbasierte Nutzung von Google Workspace ist dies steht für bezahlte Plätze. Beispiel: gekaufte Lizenzen für Zusicherungen oder Anzahl der zugewiesenen Lizenzen für Flex-Abos.
Das Abfrageergebnis unterscheidet sich in folgenden Punkten von der CSV-Rechnung:
- Die CSV-"Beschreibung" -Spalte einen menschenlesbaren String verwendet, während die In BigQuery Export werden Enum-Werte verwendet.
- Die Spalten „Startdatum“ und „Enddatum“ der CSV-Datei sind nicht mit Nullen aufgefüllt (z. B. 01. Mai), während in der BigQuery-Abfrage aufgefüllte Werte verwendet werden (z. B. 01. Mai). Sie können
verwenden Sie auch direkt die Zeitstempelwerte.
usage_start_time
ist einschließend,usage_end_time
jedoch ausschließend. - Die CSV-Datei enthält ein einzelnes Linie am Ende, während die BigQuery Export enthält Steuerpositionen auf Aboebene, die und ergeben denselben Betrag wie in der CSV-Datei Zeile.