Ejemplos de consultas de exportación de BigQuery

En esta página, se proporcionan ejemplos de cómo consultar los datos de los servicios del canal exportados a un conjunto de datos de BigQuery.

Para obtener más información sobre la exportación de datos de los servicios de canal, consulta cómo configurar la exportación de datos de los servicios de canal a BigQuery Para más sugerencias para solucionar problemas, consulta Soluciona problemas con BigQuery que exporta la red del concentrador.

Identifica y accede a la tabla de BigQuery

Las exportaciones de servicios de canal se configuran Partner Sales Console.

El nombre de la tabla usa el siguiente formato: PROJECT_ID.DATASET_NAME.reseller_billing_detailed_export_v1

Para permitir que otros usuarios vean una exportación de los servicios de canal, debes aplicar el los permisos correctos. Por ejemplo, puedes asignar el rol bigquery.dataViewer en tus credenciales en el proyecto, el conjunto de datos o la tabla en sí.

Ejemplos de consultas

Los siguientes ejemplos incluyen una consulta de muestra y una explicación básica sobre cómo para interpretar los resultados. Los resultados contienen los costos de uso de Google Cloud para cada cliente o socio de canal configurado en el Partner Sales Console.

Suma de los costos de los socios por cuenta de facturación

Puedes usar esta consulta para verificar una factura que recibas de Google. Los valores cost y credit.amount son las sumas de todas las filas. Entre ellos, se incluyen los costos de uso, los impuestos, los ajustes y los errores de redondeo.

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;

Suma de los costos del cliente por cuenta de Facturación secundaria de Cloud

Puedes usar esta consulta para resumir el uso facturable de cada cliente. Los valores customer_cost y credit.customer_amount muestran la suma de todas las filas que representan los costos de uso. Las filas que representan impuestos, ajustes y redondeo un valor null.

Para los créditos en los que type se establece en RESELLER_MARGIN, su customer_amount es establecer en cero para garantizar que el margen no se vea en la facturación del cliente.

Los valores customer_cost y credit.customer_amount muestran la revisión de precios parámetros de configuración. Por ejemplo, si el RebillingBasis del derecho de Google Cloud de un cliente en particular se establece en Direct Customer Cost minus 5%, el valor de customer_cost es 0.95 multiplicado por cost. Esto refleja el entorno configurado de reducción de costos.

Los resultados de esta consulta contienen cada cuenta de Facturación secundaria de Cloud, sus Ventas para socios recurso del cliente nombre, mes de facturación y uso facturable 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;

Suma de los costos del cliente por la cuenta de Facturación secundaria de Cloud, como se muestra al propietario de la cuenta secundaria

Esta consulta muestra cómo se asignan los números de costo de datos con lo que podría hacer un cliente de reventa (o tú, como socio) ven cuando abren la consola de Google Cloud para su de una cuenta de servicio.

  1. En el caso de los créditos en los que type se estableció como RESELLER_MARGIN, se oculta en Vista de SBA.
  2. En el caso de los costos en los que cost_type es tax, esto se oculta en la vista de SBA. El El Revendedor debe agregar los Impuestos aplicables por separado a sus facturas.

En ocasiones, cost_at_list podría ser nulo en algunos registros que causan este resultado. difiere de lo que se ve en la consola de Google Cloud. Si esto sucede, usa IFNULL(cost_at_list, cost) en su lugar. Para obtener más información, consulta Cargos sin incluir en una ficha los costos.

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;

Suma de los costos del socio de canal por cuenta de facturación

Si eres distribuidor, puedes usar esta consulta para resumir el uso facturable de para cada socio de canal. Los valores channel_partner_cost y credit.channel_partner_amount muestra la suma de todas las filas que representan el uso de los costos. Las filas que representan impuestos, ajustes y redondeo muestran un valor null.

En el caso de los créditos en los que type se configura como RESELLER_MARGIN, channel_partner_amount se establece en cero para garantizar que el margen no sea visible en la facturación del socio de canal.

Los valores channel_partner_cost y credit.channel_partner_amount muestran tus configuraciones de reprecio. Por ejemplo, si el valor de RebillingBasis de un elemento socio de canal está establecido en Direct Customer Cost minus 5%, el El valor de channel_partner_cost es 0.95 multiplicado por cost. Esto refleja el de reducción de costos.

Los resultados de esta consulta contienen cada cuenta de facturación, el socio de canal Se adjunta resource_name a los clientes de esa cuenta de facturación, la factura mes y el uso facturable total.

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;

Suma de los costos no asignados a un cliente

Puedes usar esta consulta para resumir los costos no vinculados a un servicio de canal cliente, pero eso puede representar el uso facturable a otros clientes. Los valores cost y credit.amount muestran la suma de todas las filas en las que billing_account_id y payer_billing_account_id son diferentes. El billing_account_id representa la cuenta de Facturación secundaria de Cloud.

Para los créditos en los que type se establece en RESELLER_MARGIN, esta consulta excluye las importe del crédito. El importe del crédito está destinado a su asignación y no considerado un costo para el cliente. El importe de RESELLER_MARGIN se incluye en tu y se reflejan en las facturas que envía 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;

Vista de datos de Google Workspace similar a la factura en formato CSV

Si eres revendedor de Google Workspace, es posible que obtengas una vista del Datos de facturación de Google Workspace con columnas similares a las del archivo CSV de la factura archivos.

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;

Otras columnas de interés para agregar a las cláusulas SELECT y GROUP BY:

  • billing_account_id: Representa el ID de Cloud Identity del cliente.
  • customer_name: Representa el recurso del cliente que puede usarse en llamadas a la API.
  • channel_partner_name: Representa el canal (para distribuidores). socio.
  • entitlement_name: Es el nombre del recurso del derecho en los servicios de canal.
  • customer_correlation_id: Es un ID de administración de relaciones con clientes (CRM) que que puedes definir para un cliente.
  • usage.amount: Para el uso por licencia de Google Workspace, este indica las licencias pagadas. Por ejemplo, asientos comprados para compromisos o la cantidad de asientos asignados para suscripciones flexibles.

El resultado de la consulta difiere de la factura CSV de las siguientes maneras:

  • El campo "Descripción" del archivo CSV usa una cadena legible por humanos, mientras que BigQuery Export usa valores de enumeración.
  • El archivo CSV "Start/End date" las columnas no tienen relleno con cero (p.ej., 1 de mayo), mientras que la consulta de BigQuery usa valores con relleno (p.ej., 1 de mayo). También puedes usar los valores de marca de tiempo directamente. El usage_start_time es inclusivo, pero usage_end_time es exclusivo.
  • El archivo CSV tiene un solo valor de "Impuestos" línea al final, mientras que el BigQuery Export tiene líneas fiscales a nivel de suscripción que suman el mismo importe que el archivo CSV "Impuestos" línea.