操纵列 BigQuery:划分两列然后四舍五入并转换为 % 或货币

Manipulating columns BigQuery: divide two columns then round and covert to % or currency

我正在尝试了解如何使用列,但每次我使用多个公式时都会出现错误(显然习惯于 excel)

根据我的理解,我需要使用 safe_divide 作为 iferror 等价物,所以我得到了这个:

concat('£', safe_divide(cost,clicks)) as CPC,

添加舍入时出现错误,想知道操作列的最佳方法是什么?

concat('£', safe_divide(round(cost,clicks,2))) as CPC,

这将非常简单,但我很快 google 并没有找到任何东西,所以请指导我找到一个好的资源/文档,因为 Google 大查询数学函数文档没有'有帮助 (https://cloud.google.com/bigquery/docs/reference/standard-sql/mathematical_functions#round)

我正要 post 这个,但意识到它显然行不通,因为添加 £ 会将其转换为字符串,所以查看了转换函数文档,它看起来是唯一的方法(虽然我我确定这只是我的菜鸟,除非最好的方法是创建一个新的 table?)此外,请记住我是 Bigquery 的新手所以请放轻松哈哈

谢谢!

您只能ROUND()一个号码:
https://cloud.google.com/bigquery/docs/reference/standard-sql/mathematical_functions#round

所以你会先做 SAFE_DIVIDE() 然后做 ROUND().
这是您可以测试的示例:

SELECT CONCAT('£', ROUND(SAFE_DIVIDE(3.0, 5), 2));

你必须意识到,如果你除以 NULL0.0SAFE_DIVIDE() 的结果值也将是 NULL