我正在尝试计算商店的总销售额。我在名为UNIT_PRICE的列中有产品价格。所有价格都有2位小数的例子:34.54或19.99等,它们在模式中以类型:float的形式导入。 (UNIT_PRICE:浮点)
当我执行select Query时:“SELECT CompanyName,SUM(Unit_Price)as sumValue”etc我在列中返回以下内容,但只是“有时”。
2.697829165015719E7
应该是这样的:26978291.65
当我将它输出到电子表格然后绘制图表时,我需要它在float类型中或者至少代表一种正常的价格格式。
我尝试过以下但仍有问题:
有关如何处理此事的任何想法?
由于
答案 0 :(得分:8)
BigQuery对浮点数使用默认格式,这意味着根据数字的大小,可以使用科学记数法。 (请参阅%g格式说明符here)
我们尝试转换它,但事实证明,很难得到让每个人都开心的格式。 %f格式化始终生成十进制格式,但也将小数点填充为6位精度,并删除超过一定精度的小数。
我已经提交了一个错误,允许在BigQuery中使用任意格式的字符串转换函数。它可以让你运行SELECT FORMAT_STRING("%08d", SUM(Unit_Price)) FROM ...
,以便能够控制输出的确切格式。
答案 1 :(得分:1)
您是在BQ浏览器工具中还是仅在电子表格中看到此内容? BQ float的大小为8个字节,因此它可以保存数字> 9,000,000,000,000 ...
我发现有时当Excel打开平面文件(csv)时,它会将其转换为您提到的格式。要验证是这种情况,请在尝试使用excel之前尝试使用记事本(或其他平面文件编辑器)打开csv。
如果这确实是问题,您可以配置excel连接器将此字段视为字符串而不是数字。其他选项是将其转换为字符串并将“”连接到数字。这样,电子表格会自动将其视为字符串。之后,您可以将其转换回电子表格中的数字。 感谢