【问题标题】:how to query daily cost of specific product in bigQuery?如何在 bigQuery 中查询特定产品的每日费用?
【发布时间】:2019-04-30 18:13:30
【问题描述】:

我将帐单导出到 bigquery,我想从 bigQuery 每月或特定日期获取特定日期的翻译总费用。比如 2019 年 4 月 1 日。

google docs 示例查询每月获取一次。

SELECT
  invoice.month,
  SUM(cost)
    + SUM(IFNULL((SELECT SUM(c.amount)
                  FROM UNNEST(credits) c), 0))
    AS total,
  (SUM(CAST(cost * 1000000 AS int64))
    + SUM(IFNULL((SELECT SUM(CAST(c.amount * 1000000 as int64))
                  FROM UNNEST(credits) c), 0))) / 1000000
    AS total_exact
FROM `project.dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX`
GROUP BY 1
ORDER BY 1 ASC
;

但我以这种方式创建了我的查询:

$myVariable=
    "SELECT 
          COUNT(*) total_times,
          SUM(cost) total_cost
    FROM 
          `project.dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX`
    WHERE 
          service.description = 'Translate' AND (usage_end_time >= timestamp('2019-04-04 00:00:00') AND usage_end_time <= timestamp('2019-04-04 23:59:59'))";

我要获取当天的总费用和当月第一天到当天的总费用。

sample:
1. 2019/04/04: 4223.05 - (882 Times)
2. 2019/04/Total: 16505.43 - (3882 Times)

【问题讨论】:

  • 欢迎来到stackoverflow。这不是一个编码服务网站。在一个最小、完整和可验证的示例中向我们展示您迄今为止所做的工作,您将获得帮助stackoverflow.com/help/mcve

标签: google-bigquery


【解决方案1】:

您可以进一步向您的工作查询添加详细信息:

SELECT
  service.description,
  timestamp_trunc(usage_start_time,DAY) as time_fragment,
  ROUND(SUM(cost)
    + SUM(IFNULL((SELECT SUM(c.amount)
                  FROM UNNEST(credits) c), 0)),3)
    AS total,
  round((SUM(CAST(cost * 1000000 AS int64))
    + SUM(IFNULL((SELECT SUM(CAST(c.amount * 1000000 as int64))
                  FROM UNNEST(credits) c), 0))) / 1000000,3)
    AS total_exact
FROM `project.dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX`
WHERE service.description='Translate'
GROUP BY 1,2
ORDER BY 2 desc;

显示:

如果您编辑第 3 行,您可以进一步进入 HOURly 粒度。

【讨论】:

  • 对不起,我更新了我的问题并添加了详细信息,请参阅谢谢
猜你喜欢
  • 2016-11-10
  • 1970-01-01
  • 1970-01-01
  • 2020-06-19
  • 2022-01-24
  • 2016-09-16
  • 1970-01-01
  • 2015-12-06
  • 2021-04-02
相关资源
最近更新 更多