Google电子表格查询:如何替换列标题中的文本?

Gui*_*rot 23 google-sheets google-drive-api google-sheets-query

=QUERY(B2:C9; "select (C * 100 / B) - 100")我的Google云端硬盘电子表格中有这样的查询.

显示为列标题的是difference(quotient(product(100.0()))100.0()).

我想在那里放一个人类可读的描述.

我怎样才能做到这一点?

Ada*_*amL 31

=QUERY(B2:C9;"select (C*100/B)-100 label (C*100/B)-100 'Value'")

https://developers.google.com/chart/interactive/docs/querylanguage#Label

  • @mix3d 那么为什么这不起作用?`“选择 I,sum(J) 标签 I 'aaa',sum(J) 'bbb'”` (2认同)
  • 这个答案是正确的,但我仍然花了一段时间才得到正确的结果,所以把我的例子放在这里,以防它对任何人有帮助。请注意,标签是我的查询的最后一部分 ```=QUERY('Sprint Commitments Log'!C1:E42,"select C, sum(E) group by C label sum(E) 'Points'")`` `- (2认同)

小智 10

如果您想要重命名多个列,则可以使用一个LABEL关键字,然后使用逗号分隔字段及其新名称分配。

"select B, D, D*C where D <> 0 label D 'Staff', D*C 'Cost'"
Run Code Online (Sandbox Code Playgroud)


小智 9

请记住,那里有一个技巧

查询的工作示例:

"SELECT C, COUNT(C), AVG(G), AVG(E) GROUP BY C ORDER BY COUNT(C) DESC LABEL COUNT(C) 'My count' FORMAT AVG(G) '##0.00', AVG(E) '##0.00'"
Run Code Online (Sandbox Code Playgroud)

不工作的查询示例:

"SELECT C, COUNT(C) LABEL COUNT(C) 'My count', AVG(G), AVG(E) GROUP BY C ORDER BY COUNT(C) DESC FORMAT AVG(G) '##0.00', AVG(E) '##0.00'"
Run Code Online (Sandbox Code Playgroud)

没有工作例如查询:

"SELECT C, COUNT(C), AVG(G), AVG(E) GROUP BY C ORDER BY COUNT(C) DESC FORMAT AVG(G) '##0.00', AVG(E) '##0.00' LABEL COUNT(C) 'My count'"
Run Code Online (Sandbox Code Playgroud)

仅当它与其他命令以正确的顺序放置时才有效。


Cam*_* S. 7

这是违反直觉的,但您必须定义重新标记的列TWICE;一次在“SQL”字符串中,然后将该label子句附加到 SQL 字符串的末尾。

所以,如果你想选择 A、B、C 并且“B”被标记为“Foo”,你可以这样做:

=QUERY(B2:C9;"select A, B, C   label B 'Foo' ")
Run Code Online (Sandbox Code Playgroud)

如果您在进行计算,请注意准确匹配 SQL 字符串定义和标签定义。例如:

=QUERY(B2:C9;"select A, B*2, C   label B*2 'Foo' ")
Run Code Online (Sandbox Code Playgroud)

https://developers.google.com/chart/interactive/docs/querylanguage#Label

  • 这不是和5年前的答案一样吗? (2认同)