Esta página mostra exemplos de como consultar dados do Channel Services exportados para um conjunto de dados do BigQuery.
Para mais informações sobre a exportação de dados do Channel Services, consulte este link configurar a exportação de dados do Channel Services para no BigQuery. Para outras dicas de solução de problemas, consulte Resolver problemas com o BigQuery exporta.
Identificar e acessar a tabela do BigQuery
As exportações do Channel Services são configuradas usando o Partner Sales Console.
O nome da tabela usa o formato: PROJECT_ID.DATASET_NAME.reseller_billing_detailed_export_v1
Para permitir que outros usuários vejam uma exportação do Channel Services, você precisa aplicar a
as permissões corretas. Por exemplo, é possível atribuir
o papel bigquery.dataViewer
às suas credenciais no projeto, no conjunto de dados ou
na própria tabela.
Exemplos de consultas
Os exemplos a seguir incluem um exemplo de consulta e uma explicação básica de como os resultados. Os resultados contêm os custos de uso do Google Cloud para cada cliente ou parceiro de canal configurado da Partner Sales Console.
Soma dos custos do parceiro por conta de faturamento
Você pode usar essa consulta para confirmar uma fatura recebida do Google. Os valores
cost
e credit.amount
são as somas de todas as linhas. Isso inclui custos de uso,
tributos, ajustes e erros de arredondamento.
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;
Soma dos custos dos clientes por subconta do Cloud Billing
É possível usar esta consulta para resumir o uso faturável de cada cliente. Os valores
customer_cost
e credit.customer_amount
mostram as somas de todas as linhas que
representam os custos de uso. As linhas que representam tributos, ajustes e arredondamento são exibidas
um valor null
.
Para créditos em que type
está definido como RESELLER_MARGIN, o customer_amount
é
defina como zero para garantir que a margem não seja visível no faturamento do cliente.
Os valores customer_cost
e credit.customer_amount
mostram mudanças no preço
personalizadas. Por exemplo, se o direito do Google Cloud de um cliente específico estiver definido como Direct Customer Cost minus 5%
, o valor de customer_cost
será 0,95 multiplicado por cost
. Isso reflete a configuração
de redução no custo.
Os resultados desta consulta contêm cada subconta do Cloud Billing, Vendas de parceiros associadas cliente nome, mês da fatura e uso faturável total.
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;
Soma dos custos do cliente por subconta do Cloud Billing, conforme mostrado ao proprietário
Esta consulta mostra como os números do custo de dados se relacionam com o que um cliente de revenda (ou você, como parceiro) vê quando ele abre o console do Google Cloud para subconta.
- Para créditos em que
type
está definido como RESELLER_MARGIN, ele está oculto em Visualização da SPA. - Para custos em que
cost_type
é referente a tributos, esse valor fica oculto na visualização da conta de administrador. O O revendedor deve adicionar os Tributos aplicáveis separadamente aos faturas.
Ocasionalmente, o valor de cost_at_list
pode ser nulo em alguns registros que causam esse resultado
diferente do que você vê no console do Google Cloud. Se isso acontecer, use
IFNULL(cost_at_list, cost)
. Para mais informações, consulte Cobranças sem
lista
custos.
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;
Soma dos custos do parceiro de canal por conta de faturamento
Se você é um distribuidor, pode usar esta consulta para resumir o uso faturável dos
para cada parceiro de canal. Os valores channel_partner_cost
e
credit.channel_partner_amount
mostram a soma de todas as linhas que representam os custos de uso. As linhas que representam tributos, ajustes e arredondamentos mostram um valor null
.
Para créditos em que type
está definido como RESELLER_MARGIN, o
channel_partner_amount
está definido como zero para garantir que a margem não esteja visível
no faturamento do parceiro de canal.
Os valores channel_partner_cost
e credit.channel_partner_amount
mostram
Configurações de mudanças de preço. Por exemplo, se o RebillingBasis
de um parceiro de canal específico for definido como Direct Customer Cost minus 5%
, o valor de channel_partner_cost
será 0,95 multiplicado por cost
. Isso reflete a
redução configurada do seu custo.
Os resultados dessa consulta contêm cada conta de faturamento, o parceiro de canal
resource_name
associado aos clientes nessa conta de faturamento, o mês da fatura
e o uso total faturável.
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;
Soma dos custos não atribuídos a um cliente
Use esta consulta para resumir os custos não vinculados a uma conta do Channel Services
cliente, mas isso pode representar o uso faturável para outros clientes. Os valores
cost
e credit.amount
mostram a soma de todas as linhas em que o
billing_account_id
e o payer_billing_account_id
são diferentes. O
billing_account_id
representa a subconta do Cloud Billing.
Para créditos em que type
está definido como RESELLER_MARGIN, esta consulta exclui o
o valor do crédito. O valor do crédito é destinado à sua alocação e não é
considerado um custo do cliente. O valor de RESELLER_MARGIN
está incluído no seu
e refletidos nas faturas enviadas pelo 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;
Visualização de dados do Google Workspace semelhante ao CSV da fatura
Se você é revendedor do Google Workspace, pode acessar Dados de faturamento do Google Workspace com colunas semelhantes ao CSV da fatura .
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;
Outras colunas de interesse a serem adicionadas às cláusulas SELECT
e GROUP BY
:
billing_account_id
: representa o ID do Cloud Identity do cliente.customer_name
: representa o recurso do cliente que pode ser usados em chamadas de API.channel_partner_name
: (para distribuidores) representa o parceiro do canal.entitlement_name
: nome do recurso do direito de acesso nos serviços de canal.customer_correlation_id
: um ID de gestão de relacionamento com o cliente (CRM) que que você pode definir para um cliente.usage.amount
: para o uso do Google Workspace com base em licenças, este indica licenças pagas. Por exemplo, licenças adquiridas para compromissos ou número de licenças por usuário atribuídas para assinaturas flexíveis.
O resultado da consulta e a fatura em CSV têm as seguintes diferenças:
- A "Descrição" do CSV usa uma string legível por humanos, enquanto a coluna A exportação do BigQuery usa valores de tipo enumerado.
- As colunas "Start/End date" do CSV não são preenchidas com zeros (por exemplo, 1 de maio), enquanto a consulta do BigQuery usa valores preenchidos (por exemplo, 01 de maio). Você pode
também usam os valores de carimbo de data/hora diretamente. O
usage_start_time
é inclusivo, mas ousage_end_time
é exclusivo. - O CSV tem um único "Tax" no final da linha, enquanto O BigQuery Export tem limites fiscais no nível de assinatura que somar até o mesmo valor do CSV "Imposto" linha