Cette page fournit des exemples d'interrogation des données Channel Services exportées vers un ensemble de données BigQuery.
Pour en savoir plus sur l'exportation de données Channel Services, consultez les instructions pour configurer l'exportation de données Channel Services vers dans BigQuery. Pour des conseils de dépannage supplémentaires, consultez la page Résoudre les problèmes liés à BigQuery les exportations.
Identifier la table BigQuery et y accéder
Les exportations Channel Services sont configurées à l'aide de la Partner Sales Console.
Le nom de la table utilise le format suivant : PROJECT_ID.DATASET_NAME.reseller_billing_detailed_export_v1
Pour autoriser d'autres utilisateurs à consulter une exportation des services de chaîne, vous devez appliquer les autorisations appropriées. Par exemple, vous pouvez attribuer
le rôle bigquery.dataViewer
à vos identifiants sur le projet, l'ensemble de données ou
le tableau lui-même.
Exemples de requêtes
Les exemples suivants incluent un exemple de requête et une explication de base pour savoir comment à interpréter les résultats. Les résultats incluent les coûts d'utilisation de Google Cloud pour chaque client ou partenaire de distribution configuré Partner Sales Console.
Somme des coûts des partenaires par compte de facturation
Vous pouvez utiliser cette requête pour vérifier une facture que vous recevez de Google. Les valeurs cost
et credit.amount
correspondent aux sommes de toutes les lignes. Cela inclut les coûts d'utilisation, les taxes, les ajustements et les erreurs d'arrondi.
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;
Somme des coûts client par sous-compte de facturation Cloud
Vous pouvez utiliser cette requête pour résumer l'utilisation facturable pour chaque client. Les valeurs
customer_cost
et credit.customer_amount
affichent la somme de toutes les lignes
représentent les coûts d'utilisation. Les lignes représentant les taxes, les ajustements et l'arrondi affichent une valeur null
.
Pour les crédits dont type
est défini sur RESELLER_MARGIN, customer_amount
est défini sur zéro pour s'assurer que la marge n'est pas visible dans la facturation client.
Les valeurs customer_cost
et credit.customer_amount
correspondent au nouveau tarif
de configuration. Par exemple, si la valeur RebillingBasis
des droits d'accès Google Cloud d'un client particulier est définie sur Direct Customer Cost minus 5%
, la valeur customer_cost
est égale à 0,95 multipliée par cost
. Cela reflète les
de réduction de vos coûts.
Les résultats de cette requête contiennent chaque sous-compte de facturation Cloud, son le programme Ventes partenaires Ressource Customer le nom, le mois de facturation et l'utilisation totale facturable.
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;
Somme des coûts client par sous-compte de facturation Cloud, telle qu'indiquée au propriétaire du sous-compte
Cette requête affiche la correspondance entre les chiffres de coût des données et ceux d'un client indirect (ou vous, en tant que partenaire) que vous voyez lorsqu'il ouvre la console Google Cloud sous-compte.
- Pour les crédits où
type
est défini sur RESELLER_MARGIN, il est masqué dans la vue SBA. - Pour les coûts pour lesquels
cost_type
correspond à la taxe, cette valeur est masquée dans la vue des annonceurs AdWords restreints. La Le Revendeur est censé ajouter les Taxes applicables séparément à ses factures.
Il est possible que cost_at_list
soit parfois nul pour certains enregistrements, ce qui entraîne une différence entre ce résultat et ce que vous voyez dans la console Google Cloud. Dans ce cas, utilisez
IFNULL(cost_at_list, cost)
à la place. Pour en savoir plus, consultez l'article Débits sans
liste
de réduction des coûts.
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;
Somme des coûts associés aux partenaires de distribution par compte de facturation
Si vous êtes distributeur, vous pouvez utiliser cette requête pour résumer l'utilisation facturable pour chaque partenaire de distribution. Les valeurs channel_partner_cost
et
credit.channel_partner_amount
affiche la somme de toutes les lignes représentant l'utilisation.
les coûts. Les lignes qui représentent les taxes, les ajustements et les arrondis affichent une valeur null
.
Pour les crédits dont type
est défini sur RESELLER_MARGIN, channel_partner_amount
est défini sur zéro pour s'assurer que la marge n'est pas visible dans la facturation des partenaires de distribution.
Les valeurs channel_partner_cost
et credit.channel_partner_amount
indiquent
Configurations de calcul des nouveaux tarifs. Par exemple, si le RebillingBasis
d'une valeur
partenaire de distribution est défini sur Direct Customer Cost minus 5%
, le
La valeur de channel_partner_cost
est 0,95 multiplié par cost
. Cela reflète les
de réduction configurée de vos coûts.
Les résultats de cette requête contiennent chaque compte de facturation, le partenaire de distribution
resource_name
rattachées aux clients dans ce compte de facturation, la facture
le mois et l'utilisation facturable totale.
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;
Somme des coûts non attribués à un client
Vous pouvez utiliser cette requête pour résumer les coûts non associés à un client Channel Services, mais qui peuvent représenter une utilisation facturable à d'autres clients. Les valeurs
cost
et credit.amount
affichent la somme de toutes les lignes dans lesquelles
billing_account_id
et payer_billing_account_id
sont différents. La
billing_account_id
représente le sous-compte de facturation Cloud.
Pour les crédits pour lesquels type
est défini sur RESELLER_MARGIN, cette requête exclut le montant du crédit. Le montant du crédit est destiné à votre allocation et n'est pas considéré comme un coût client. Le montant de RESELLER_MARGIN
est inclus dans vos coûts et figure sur les factures envoyées par 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;
Affichage des données Google Workspace semblable au fichier CSV de la facture
Si vous êtes un revendeur Google Workspace, vous pouvez afficher les données de facturation Google Workspace avec des colonnes similaires à celles des fichiers CSV de facture.
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;
Autres colonnes d'intérêt à ajouter aux clauses SELECT
et GROUP BY
:
billing_account_id
: représente l'ID d'identité Cloud du client.customer_name
: représente la ressource client qui peut dans les appels d'API.channel_partner_name
: (pour les distributeurs) Représente le partenaire de la chaîne.entitlement_name
: nom de ressource du droit d'accès dans Channel Services.customer_correlation_id
: ID de gestion de la relation client (CRM) que vous pouvez définir pour un client.usage.amount
: pour l'utilisation basée sur le nombre de licences Google Workspace, ce indique les sièges payés. Par exemple, licences achetées pour les licences avec engagement ou nombre de licences attribuées pour les abonnements modulables.
Le résultat de la requête diffère de la facture au format CSV de la manière suivante:
- La colonne "Description" du fichier CSV utilise une chaîne lisible, tandis que l'exportation BigQuery utilise des valeurs d'énumération.
- Les colonnes "Date de début/fin" du fichier CSV ne sont pas renseignées avec des zéros à gauche (par exemple, 1er mai), tandis que la requête BigQuery utilise des valeurs renseignées avec des zéros à gauche (par exemple, 01 mai). Vous pouvez également utiliser directement les valeurs de code temporel. Le
usage_start_time
est inclusif, mais leusage_end_time
est exclusif. - Le fichier CSV ne comporte qu'une seule ligne "Tax" (Taxes) à la fin, tandis que l'exportation BigQuery comporte des lignes de taxes au niveau de l'abonnement qui totalisent le même montant que la ligne "Tax" (Taxes) du fichier CSV.