SnowFlake和PowerBI:“本值不支持原生查询”

3

快速注释,我已经查看了这些线程,它们不能解决我的问题:

(已过时的信息,请参见下面的文档)通过PowerBI访问雪花查询结果

(我希望这可以解决我的问题,但事实并非如此)如何从powerBi的高级编辑器中编写Snowflake SELECT语句查询

大家好,

在尝试使用本地查询查询雪花时,我遇到了以下错误:

enter image description here

这些是参数:

enter image description here

我通过逐个连接到一个表来验证凭据/表/数据库/模式是否正确,但简单的查询(如屏幕截图和复杂的查询)都返回此消息“本机查询不受此值支持”。

我知道这是一个新功能(2021年6月),我已阅读此处的文档:https://learn.microsoft.com/en-us/power-query/connectors/snowflake#connect-using-advanced-options

编辑:

我尝试了以下查询格式:

SELECT * FROM "MyDatabase".PUBLIC.ITEMSTABLE

SELECT * FROM "MyDatabase"."PUBLIC".ITEMSTABLE

SELECT * FROM "MyDatabase"."PUBLIC"."ITEMSTABLE"

我认为这可能是由于我的MyDatabase区分大小写,而PowerBI在查询中删除了引号所致。

在Snowflake中,此查询成功,而在PowerBI中相同的查询失败:

SELECT * FROM "MyDatabase".PUBLIC.ITEMSTABLE

在这里向微软提出了问题:

https://community.powerbi.com/t5/Issues/Unable-to-query-case-sensitive-Snowflake-tables/idc-p/2030983

非常感谢任何帮助。

3个回答

2
很可能消息框中提供的查询以分号结尾。应该从源查询中删除它:

enter image description here

enter image description here


实际发送给Snowflake的查询:

enter image description here

正如我们所看到的,它被外部查询包装,因此任何使完整查询无效的输入都会导致错误。

感谢您的回复,但是在表名后面我没有分号或任何其他语法。只有"SELECT * FROM DB.SCHEMA.TABLE"。我刚刚三重检查了一遍,仍然是同样的错误。 - Frostytheswimmer
1
我会留下答案,因为它可能对其他人有用。我建议检查查询历史记录和Snowflake端实际执行的查询。如果失败,原因将在消息框中提供。 - Lukasz Szozda
1
我发现我的数据库是区分大小写的,因此需要用双引号将DB包装起来。当我在Web中查询SELECT * FROM DB.SCHEMA.TABLE时,查询失败了。当我查询SELECT * FROM "DB".SCHEMA.TABLE时,查询成功了。然而,在PowerBI中这并不适用,两个查询都失败了。Snowflake中的错误信息为:“USE DB. SQL compilation error: Object does not exist, or operation cannot be performed.” 我想知道在PowerBI Desktop中是否有一些输入净化操作会从查询中删除双引号。我将进行更多测试并提交一个工单。 - Frostytheswimmer

1
我曾遇到与使用Dataverse作为数据源编写的本地查询类似的问题。在Power BI桌面上刷新成功,但在Power BI服务器上刷新失败。当我在本地查询中添加了[EnableFolding=false]关键字后,问题得到了解决。我附上了修改后的截图以供参考,希望能帮助到其他人。

查看截图

祝好, Mohith

0
经过微软的支持确认,我的问题是由于数据库名称区分大小写。微软的解决方案是...不要使用区分大小写的数据库名称。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接