如何在 powerBi 的高级编辑器中编写 Snowflake SELECT 语句查询
Posted
技术标签:
【中文标题】如何在 powerBi 的高级编辑器中编写 Snowflake SELECT 语句查询【英文标题】:How to write a Snowflake SELECT statement query in Advance Editor from powerBi 【发布时间】:2021-04-17 09:55:45 【问题描述】:我正在尝试将 power Bi 仪表板的数据源从 SQL 重新指向 Snowflake。
到目前为止,大多数表格都有效。但是,我得到一个表,在更改数据源时出现以下错误:
Expression.Error: 'Query' 不是有效的 Snowflake 选项。有效选项为:'ConnectionTimeout、CommandTimeout、CreateNavigationProperties、Role'
此特定查询(来自 PowerBi 中的高级编辑器)包含一个简单的选择,如下所示:
let
Source =Snowflake.Databases("serverabc", "abc", [Query="SELECT DateLabel, SnapshotDate, Future, Latest#(lf)FROM Xtable#(lf)WHERE DateLabel IS NOT NULL#(lf)GROUP BY DateLabel, SnapshotDate, Future, Latest", CreateNavigationProperties=false]),
#"Filtered Rows" = Table.SelectRows(Source, each true)
in
#"Filtered Rows"
select 语句在 SQL 和 Snowflake 中都有效,但我在如何在 Power BI 中翻译它时也遇到了困难。
提前谢谢你
【问题讨论】:
非常感谢 Lukasz 的洞察力。我在 pbi 中引入了表格,并在 M 代码中调整了 select 语句。成功了! 很高兴听到它。 How does accepting an answer work? 更新后的连接器(2021 年 6 月)现在允许执行自定义查询。请检查我的更新答案。 【参考方案1】:编辑:
PowerBI June
Snowflake(更新的连接器)
我们正在为 Snowflake 连接器添加高要求的自定义 SQL 支持。与 SQL 连接器一样,这将允许您输入 Snowflake 原生查询,然后在其之上构建报告。这适用于导入和直接查询模式。
https://powerbiblogscdn.azureedge.net/wp-content/uploads/2021/06/snowflake_update.png
Expression.Error:“查询”不是有效的雪花选项。有效选项为:'ConnectionTimeout、CommandTimeout、CreateNavigationProperties、Role'
看来以前的来源是支持“自定义查询”。
Sql.Database
function (server as text, database as text, optional options as nullable record) as table
Query :用于检索数据的本机 SQL 查询。如果查询产生多个结果集,则只返回第一个。
Snowflake 的 PowerBI 连接器不支持此类选项:
Snowflake.Databases
function (server as text, warehouse as text, optional options as nullable record) as table
options,可以指定控制以下选项:
ConnectionTimeout:等待来自 Snowflake 的网络响应的秒数。 CommandTimeout:等待查询执行的秒数。
有有效票证:Snowflake connector -> add SQL statement as optional。
可能的解决方法:
在 Snowflake 中创建一个包装查询并使用它的视图
访问表格内容并执行过滤/聚合 电源查询
【讨论】:
以上是关于如何在 powerBi 的高级编辑器中编写 Snowflake SELECT 语句查询的主要内容,如果未能解决你的问题,请参考以下文章