2017-03-24 30 views
0

在Google电子表格中,我通过Google Apps Analytics脚本和Analytics API从Google Analytics中提取一些数字。应用程序脚本,电子表格和setNumberFormat

其中一个数字是跳出率,以格式42.380071394743425返回。我想在小数点后面显示两位数字(我需要添加一个百分比符号)。我想通过setNumberFormat来做到这一点。

然而像“0.00”,“#,##”等format token导致像“4.238.007.139.4743.425”这样的输出,这根本不是我想要的。我有些怀疑问题的一部分可能是我的文档是德文的,用逗号作为十进制分隔符,并且返回的API的数字有一个小数点(或者我可能忽略了一些简单的东西,这很可能) 。

那么,我可以使用setNumberFormat,并且必须使用什么格式令牌将“42.380071394743425”转换为“42,38%”?

我正在使用内置的App服务。我没有其他类型的关键绩效指标问题,只是百分比值,如bounceRate。

var viewId = "<myViewId>" 
var options = {}; 
options['max-results'] = 1; 
metric = "ga:bounceRate"; // actually this is passed in as a function parameter 

// formatDate is a wrapper that calls Utilities.formatDate 
var startDate = formatDate(pDate, 'yyyy-MM-dd'); 
var endDate = formatDate(pDate, 'yyyy-MM-dd'); 
var report = Analytics.Data.Ga.get(viewId, startDate, endDate, metric, options); 
..... 
token = []; 

    // format is passed in as a function parameter to fit the metric 
    switch(format) { 
    case("percentage"): 
     token.push(["0.00%"]); 
    break;  
    default: 
     token.push(["0.00"]); // tried different options to no avail 
    break; 
    } 

sheet.getRange(<row>,<col>).setValue(report.rows).setNumberFormats(token); 

正如我所说的代码本身工作正常,如果API返回格式化的数字(所以我不认为这个问题是在代码中),但我不能让bounceRate显示方式,我想。

谢谢你的时间。

+0

您使用的是Spreadsheet v4 api还是内置的SpreadsheetApp服务?你有一段代码来展示你目前如何做这件事吗? –

+0

@SpencerEaston,我相应地更新了这个问题。 –

回答

1

选择Format > Number > More Formats > Custom number formats...和类型##.##"%"

或者你也可以用同样的方法设置GAS的数字格式。

var range = sheet.getActiveRange(); 
range.setNumberFormat('##.##"%"'); 

这是基于美国语言环境。您可以根据电子表格的区域设置更改格式字符串(File > Spreadsheet settings...)。正如您在this documentation,中所看到的,格式取决于电子表格的区域设置

+0

这并没有解决我的问题,但帮助我确认这确实是一个语言特定的问题。如果我将您的格式应用到具有特定国家/地区的小数定界符的数字,我会得到所需的输出,但是如果我将它应用于API结果(使用标准“美式”小数定界符),这似乎与德语语言设置冲突该文件。 –

+0

是的,它是基于美国语言环境的。只要输入表的语言环境是固定的,您可以根据您的语言环境更改GAS中的格式字符串,然后就没有问题了。正如您在[本文档](https://developers.google.com/sheets/api/guides/formats)中所见,*格式取决于电子表格的区域设置*。 –

+0

所以你应该编写响应特定语言环境的代码。无论是美国还是德国,都不是。 –

相关问题