powerBI查询编辑器报错:Expression.SyntaxError: 应为令牌 Literal。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了powerBI查询编辑器报错:Expression.SyntaxError: 应为令牌 Literal。相关的知识,希望对你有一定的参考价值。

打开了powerBI查询编辑器中的高级编辑器,添加了一句内容,然后又删除了,关闭时就出现这样的提示:Expression.SyntaxError: 应为令牌 Literal。
再没有办法编辑,也无法退出。

请贴上M代码看一下,在高级编辑器中,


/PowerBI星球

追问

谢谢!已经解决了,就是在in下面写上一句的"="号前的那一段。

追答

好的

参考技术A

    M函数对大小写敏感,每一个字母必须按函数规范书写,第一个字母都是大写

    表被称为Table,每行的内容是一个Record,每列的内容是一个List

    行标用大括号 ,比如取第一行的内容:=表0   //PQ的第一行从0开始

    列标用中括号[ ],比如取自定义列的内容:=表[自定义]

    取第一行自定义列的内容:=表0[自定义]

php 分组查询报错

SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #3 of SELECT list is not in GROUP BY clause and contains nonaggregated column \'originthink.think_products_purchase.products_id\' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

 

 

 一、原理层面
       这个错误发生在mysql 5.7 版本及以上版本会出现的问题:
       mysql 5.7版本默认的sql配置是:sql_mode="ONLY_FULL_GROUP_BY",这个配置严格执行了"SQL92标准"。
       很多从5.6升级到5.7时,为了语法兼容,大部分都会选择调整sql_mode,使其保持跟5.6一致,为了尽量兼容程序。
二、sql层面
        在sql执行时,出现该原因:
        简单来说就是:输出的结果是叫target list,就是select后面跟着的字段,还有一个地方group by column,就是        group by后面跟着的字段。由于开启了ONLY_FULL_GROUP_BY的设置,所以如果一个字段没有在target list 
        和group by字段中同时出现,或者是聚合函数的值的话,那么这条sql查询是被mysql认为非法的,会报错误。

 

解决方案:

如果是linux系统的话,找到my.cnf文件,然后在该文件中添加  sql-mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

如果是windows系统的话,找你对应mysql 版本中的mysql.ini文件,在文件中添加 sql-mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

 

以上是关于powerBI查询编辑器报错:Expression.SyntaxError: 应为令牌 Literal。的主要内容,如果未能解决你的问题,请参考以下文章

PowerBI开发 第八篇:查询参数

Power BI Advanced编辑器如何获取SelectedRow的文本?

在 PowerBI 中将数字转换为日期格式

powerbi网页数据采集实例

powerbi新建列字段里没有

PowerBI连接Mysql,SQLServer使用中文