我已经成功地使用了Power的增量刷新和MySQL数据源。但是,我无法用AWS雅典娜进行配置,因为后者似乎将所需参数RangeStart
和RangeEnd
中的值解释为字符串。由于数据源大约有5000万行,所以我宁愿每天都避免从头开始查询。
在Cube中的Guy 这段视频中,可以清楚地看到Power向Azure发送的查询有一个转换为datetime2函数--对于雅典娜/普雷斯托来说可能缺少类似的功能,它需要类型构造器时间戳来进行日期时间比较(https://stackoverflow.com/a/38041684/3675679),当然增量刷新必须基于日期时间字段。我使用datetime字段adv_date
作为增量负载。
以下是中的M查询:
= Table.SelectRows(#"Removed Columns1", each [adv_date] >= RangeStart and [adv_date] < RangeEnd)
这是雅典娜产生的错误信息:
Your query has the following errors:SYNTAX_ERROR: line 1:1: Incorrect number of parameters: expected 2 but found 0
雅典娜就是这样解释这个问题的:
select "col1", "col2", "adv_date"
from "AwsDataCatalog"."test"."test_table"
where "adv_date" >= ? and "adv_date" < ?
我已经联系了动力BI的支持,但没有成功。有没有人有办法解决这个问题?乐意提供更多的信息,如果需要。
发布于 2021-06-23 07:46:26
我认为您正在尝试修复已过滤的行步骤,但可能可以通过修复步骤1- Source (运行对雅典娜的实际直接查询)来实现增量负载。
从另一个问题线上粘贴我的答案
我想我已经成功地实现了功率BI中使用雅典娜的“增量负载”。这(仍然)不允许您查看本机查询,但仍然可以使Power操作直接查询来实现它。
为了避免全面扫描雅典娜中的S3数据,您必须在数据集中启用隔断。在不偏离主题的情况下,一旦您通过雅典娜对S3数据进行分区,您就可以在不扫描整个数据集的情况下将日期/月/年的数据集中到数据集中。
一旦这样做,您就可以通过运行这视频中提到的直接查询(20:00以上)来实现增量负载,并实现资源高效的查询执行。
最后的查询将类似于-
Odbc.Query("dsn=Simba Athena",
"SELECT * FROM tablename
WHERE year >= " & DateTime.ToText(RangeStart, "yyyy") & "
AND month >= " & DateTime.ToText(RangeStart, "MM") & "
AND day >= " & DateTime.ToText(RangeStart, "dd") & "
AND year <= " & DateTime.ToText(RangeEnd, "yyyy") & "
AND month <= " & DateTime.ToText(RangeEnd, "MM") & "
AND day <= " & DateTime.ToText(RangeEnd, "dd") & "
")
编辑#1:或者简单地
Odbc.Query("dsn=Simba Athena",
"SELECT * FROM tablename
WHERE dt >= '" & DateTime.ToText(RangeStart, "yyyy/MM/dd") & "'
AND dt <= '" & DateTime.ToText(RangeEnd, "yyyy/MM/dd") & "'
")
发布于 2020-04-23 01:03:56
微软的一个家伙指示我使用Odbc.Query而不是Odbc.Datasource。下面是他发送的URL的一个例子:
let
Source = Odbc.Query("dsn=Google BigQuery", "SELECT line_of_business, category_group FROM masterdata.item_d WHERE line_of_business in ('" & LOB & "')")
in
Source
我试过了,它成功了,也许你也可以用这个。
发布于 2020-04-20 06:59:14
所以我有一个大概的答案-我不相信雅典娜目前是不可能建立一个增量源在功率BI,使用一个标准的连接。
但是,可以通过数据流来实现这一点,但我们的环境并不是特别快。然而,它确实起作用。
https://stackoverflow.com/questions/57223624
复制相似问题