基于AWS Athena查询增量刷新的本机查询PowerBI折叠
为了设置增量刷新,我试图弄清楚AWS Athena查询是否在PowerBI中的本机查询上成功折叠。我创建了参数,筛选了这些参数的datetime列,并尝试了Diagnose工具(请参见4:50),但它一直在运行,没有显示任何结果。因此,我正在尝试在高级编辑器中进行查询的方法(20:00以后)。但是由于这个例子是SQL的,而且我正在使用AWS Athena,所以我不断地遇到错误。以下是我迄今为止尝试过的高级编辑器查询: 例1:基于AWS Athena查询增量刷新的本机查询PowerBI折叠,powerbi,amazon-athena,Powerbi,Amazon Athena,为了设置增量刷新,我试图弄清楚AWS Athena查询是否在PowerBI中的本机查询上成功折叠。我创建了参数,筛选了这些参数的datetime列,并尝试了Diagnose工具(请参见4:50),但它一直在运行,没有显示任何结果。因此,我正在尝试在高级编辑器中进行查询的方法(20:00以后)。但是由于这个例子是SQL的,而且我正在使用AWS Athena,所以我不断地遇到错误。以下是我迄今为止尝试过的高级编辑器查询: 例1: > let > Source = Odbc.Que
> let
> Source = Odbc.Query("dsn=Simba Athena", "SELECT * FROM ""databasename"".""tablename"" where StartTimeCET>= ' " &
> DateTime.From(RangeStart) & "' and StartTimeCET< '" &
> DateTime.From(RangeEnd) & "' ") in Source
>让
>Source=Odbc.Query(“dsn=Simba Athena”,“从“数据库名”中选择*。“表名”,其中StartTimeSet>=”&
>DateTime.From(RangeStart)&“和StartTimeSet<”&
>源代码中的DateTime.From(RangeEnd)和“'))
错误:我们无法将运算符&应用于文本和日期时间类型
例2:
> let
> Source= Odbc.Query("dsn=Simba Athena", "SELECT * FROM ""database"".""tablename""
> where StartTimeCET>= ' " DateTime.From(RangeStart) "' and
> StartTimeCET< '" DateTime.From(RangeEnd) "' ")
>让
>Source=Odbc.Query(“dsn=Simba Athena”,“从”“数据库”“表名”“中选择*”
>其中StartTimeSet>=““DateTime.From(RangeStart)”,以及
>StartTimeSet<'DateTime.From(RangeEnd)')
错误:应为标记逗号
例3:
let
Source = Odbc.Query("dsn=Simba Athena", "SELECT * FROM ""database"".""tablename"" where StartTimeCET>= ' "" &
Text.From(RangeStart) & ""' and StartTimeCET < '"" & Text.From(RangeEnd) & "" ' ") in Source
let
Source=Odbc.Query(“dsn=Simba Athena”,“从”“数据库”“表名”“其中StartTimeSet>=”)&
源代码中的Text.From(RangeStart)&“和startTimeSet<”&Text.From(RangeEnd)&“和”
错误:异常解析查询从“数据库”中选择*。“表名”,其中StartTimeCET>=”&Text.FROM(RangeStart)&“和StartTimeCET<”&Text.FROM(RangeEnd)&“,解析器版本为athena_v1,上下文为QueryExecutionContext(queryId=null,数据库=default,目录=null)[执行ID:]
关于如何为AWS Athena编写这样一个高级编辑器查询,有什么想法吗?为了简化,我想基于RangeStart和RangeEnd参数过滤PowerBI中的高级编辑器查询。参数和StartTimeCET列的类型都是date/time。我想我已经解决了错误,但仍然无法“查看本机查询” 您可以通过使用Presto语法编写并使用具有适当日期格式的函数(即
Odbc.Query("dsn=Simba Athena",
"SELECT * FROM tablename
WHERE StartTimeCET >= TIMESTAMP '" & DateTime.ToText(RangeStart, "yyyy-MM-dd") & "'
AND StartTimeCET < TIMESTAMP '" & DateTime.ToText(RangeEnd, "yyyy-MM-dd") & "'
")
Odbc.Query(“dsn=Simba Athena”,
“从tablename中选择*
其中StartTimeCET>=TIMESTAMP'&DateTime.ToText(RangeStart,“yyyy-MM-dd”)&
和StartTimeCET
您能确认雅典娜是否收到了这些查询吗?你可以在雅典娜历史控制台中检查这个。当我删除参数上的where条件时,它们会到达雅典娜。对于第一个错误,它们不使用where条件try