通过创建一个使用外接程序(muFund)的公式的muFund,如果我在web上发布CSV并将它作为源导入我的power bi报告中,那么使用muFund函数计算的整个列通常(只工作得很好)显示标签#NAME?而不是正确的值。
如何确保由“附加公式”计算的值将输出一个连贯的CSV?。
谷歌的单子就是这张:

如您所见,公式是=muFunds("nav";A2)
可能通过下载上面的文件,一切都会顺利.但有时可能会发生muFunds的计算值为#NAME?.这很奇怪。我也发现这个问题没有答案:Download CSV GoogleSheet with GoogleFinance connection
但是通过使用这个csv文件和一个PowerBI报告,这个问题在10个试验中发生了9次。因此,我在Power中为我的报告编写了以下查询
let
Source = Csv.Document(Web.Contents("https://docs.google.com/spreadsheets/d/e/2PACX-1vS4stYNCZIWp-ScKmCMlR1PHWsxRbsWjykKUhBBpeBcVz9tcDvFewCkgTvUh3QuRTJiRU_w17_H_cma/pub?gid=0&single=true&output=csv"),[Delimiter=",", Columns=3, Encoding=1252, QuoteStyle=QuoteStyle.None]),
#"I" = Table.PromoteHeaders(Source, [PromoteAllScalars=true])
in
#"I"我们现在面临的问题是:

有什么建议吗?
发布于 2021-06-20 15:15:28
这一问题似乎与谷歌的发布有关,后者可能比公式计算更快,因此计算不正确。
出于这个原因,我制作了一个小脚本,以便将所有值(Funds)复制到另一个工作表(FundsValue)中,这样它们就可以在csv中发布,而不会出现任何问题。
在下面的脚本中:
function daily_copy() {
var source = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Funds");
var destination = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("FundsValue");
var sheet = SpreadsheetApp.getActiveSheet();
var rangeToCopy = source.getRange(1, 1, destination.getMaxRows(), 3);
//Paste to another sheet from first cell onwards
rangeToCopy.copyTo(destination.getRange(1, 1),{contentsOnly:true});
}在这个过程中,所有的值都被正确地处理,所以我还添加了一个触发器,它每天自动执行脚本。
https://stackoverflow.com/questions/68010419
复制相似问题