本页面提供了查询导出到 BigQuery 数据集的渠道服务数据的示例。
如需详细了解“渠道服务”数据导出,请参阅如何设置将“渠道服务”数据导出到 BigQuery。如需其他问题排查提示,请参阅排查 BigQuery 导出问题。
识别和访问 BigQuery 表
若要设置“渠道服务”导出功能,请选择 Partner Sales Console。
该表的名称采用以下格式:PROJECT_ID.DATASET_NAME.reseller_billing_detailed_export_v1
要允许其他用户查看“渠道服务”导出内容,您需要将
正确的权限。例如,您可以将 bigquery.dataViewer
角色分配给项目、数据集或表本身的凭据。
查询示例
以下示例包括一个示例查询以及有关如何 来解读结果。结果包含以下各项的 Google Cloud 使用费: 所有已配置的客户或渠道合作伙伴 Partner Sales Console。
按结算账号计算的合作伙伴费用总和
您可以使用此查询来验证您从 Google 收到的账单。cost
和 credit.amount
的值是所有行的总和。这些费用包括使用费用、税费、调整项和舍入误差。
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;
按 Cloud Billing 子账号汇总的客户费用
您可以使用此查询汇总每个客户的可计费用量。值
customer_cost
和 credit.customer_amount
表示符合以下条件的所有行的总和:
表示使用费用。表示税费、调整项和舍入项的行会显示 null
值。
对于 type
设置为 RESELLER_MARGIN 的赠金,其 customer_amount
会设为零,以确保利润不会显示在客户结算中。
值 customer_cost
和 credit.customer_amount
显示您的重新定价配置。例如,如果特定客户的 Google Cloud 使用权的 RebillingBasis
设置为 Direct Customer Cost minus 5%
,则 customer_cost
值为 0.95 乘以 cost
。这反映了配置的
降低成本
此查询的结果包含每个 Cloud Billing 子账号、其关联的合作伙伴销售客户资源名称、账单月份和可结算总用量。
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;
按 Cloud Billing 结算子账号显示的客户费用总和(向子账号所有者显示)
此查询显示了数据费用数字与转销商客户 (或作为合作伙伴的您)打开 Google Cloud 控制台 子账号。
- 对于“
type
”设置为“RESELLER_MARGIN”的赠金,此字段会在 SBA 视图。 - 对于
cost_type
为税费的费用,SBA 视图中会隐藏此项。通过 转销商应向其单独添加适用的税费。 账单。
有时,某些记录的 cost_at_list
可能为 null,从而导致出现此结果
与您在 Google Cloud 控制台中看到的内容不同。如果发生这种情况,请使用
IFNULL(cost_at_list, cost)
。有关详情,请参阅未
列表
费用。
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;
按结算账号计算的渠道合作伙伴费用总和
如果您是分销商,可以使用此查询来汇总
每个渠道合作伙伴值 channel_partner_cost
和 credit.channel_partner_amount
显示表示使用费用的所有行的总和。表示税费、调整项和舍入运算的行会显示 null
值。
对于 type
设置为 RESELLER_MARGIN 的赠金,
将 channel_partner_amount
设置为零,以确保不可见边距
。
channel_partner_cost
和credit.channel_partner_amount
值分别表示
重新定价配置。例如,如果特定应用的 RebillingBasis
渠道合作伙伴设为 Direct Customer Cost minus 5%
,
channel_partner_cost
的值为 0.95 乘以 cost
。这反映了
降低费用
此查询的结果包含每个结算账号、与该结算账号下的客户关联的渠道合作伙伴 resource_name
、账单月份和可结算的总使用量。
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;
未分配给客户的费用总和
您可以使用此查询汇总未与渠道服务关联的费用
但这可能表示向其他客户收取用量的费用。值
cost
和 credit.amount
显示符合以下条件的所有行的总和:
billing_account_id
和 payer_billing_account_id
不同。billing_account_id
代表 Cloud Billing 子账号。
对于 type
设置为 RESELLER_MARGIN 的赠金,此查询不包括
赠送金额。赠金金额适用于您的分配金额,并非
视为客户费用RESELLER_MARGIN
金额包含在您的费用中,并反映在 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;
Google Workspace 数据视图(与账单 CSV 类似)
如果您是 Google Workspace 转销商,则可以查看 Google Workspace 结算数据,包含与账单 CSV 类似的列 文件。
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;
要添加到 SELECT
和 GROUP BY
子句中的其他感兴趣的列:
billing_account_id
:表示客户的 Cloud Identity ID。customer_name
:表示可 在 API 调用中使用channel_partner_name
:(适用于分销商)代表频道 合作伙伴。entitlement_name
:渠道服务中的使用权的资源名称。customer_correlation_id
:您可以为客户定义的客户关系管理 (CRM) ID。usage.amount
:对于基于席位的 Google Workspace 服务,此 表示付费席位。例如,购买承诺的承诺席位数,或弹性方案的分配席位数。
查询结果与 CSV 账单有以下不同:
- CSV 的“Description”(说明)列使用直观易懂的字符串,而 BigQuery 导出内容使用枚举值。
- CSV 中的“开始/结束日期”列未填充零(例如 5 月 1 日),而 BigQuery 查询使用填充值(例如 5 月 01 日)。您可以
也可以直接使用时间戳值。
usage_start_time
包含边界值, 但usage_end_time
是专有的。 - CSV 文件只有一个“税费”行,而 BigQuery Export 在订阅级别包含税项, 总计金额与 CSV 格式的“税费”相同行。