【发布时间】:2018-10-22 16:49:06
【问题描述】:
我有一个 Google 表格,它在以下表达式中生成错误:
=query(Capacity!A5:FE135,"SELECT C,A WHERE "&SUBSTITUTE(ADDRESS(1,match(D2,Capacity!A1:FE1,0)+2,4),"1","")&" = '"&C2&"' AND "&SUBSTITUTE(ADDRESS(1,match(D2,Capacity!A1:FE1,0),4),"1","")&" = 1 ORDER BY C")
对于D2 处的单个特定输入值(日期)。
本质上,代码的目的是在第二张表(容量)中找到日期在D2 的列位置,并将该表中该列的值放入当前表中的列C,同时也只选择与第二列匹配的行。但是,当日期设置为特定值时,表达式将不会计算。
将这个庞大的表达式分解成它的组成部分后,发现问题是由这个表达式引起的:
=SUBSTITUTE(ADDRESS(1,match(D2,Capacity!A1:FE1,0)+2,4),"1","")
对于违规日期,返回列 BY。
这意味着在 Google Visualization API 查询语言中评估的表达式是:
SELECT C,A WHERE BY = '' AND BW = 1 ORDER BY C
但查询语言将BY 视为保留字,而不是列和barfs。
我怎样才能以某种方式转义列名以明确它被视为列名?
【问题讨论】:
标签: google-visualization google-query-language