【发布时间】:2019-12-05 00:14:50
【问题描述】:
我已经成功地将 Power BI 的每日增量刷新与 MySQL 数据源一起使用。但是,我无法使用 AWS Athena 进行配置,因为后者似乎将所需参数 RangeStart 和 RangeEnd 中的值解释为字符串。由于数据源大约有 5000 万行,我宁愿避免每天从头开始查询。
在来自 Guy in a Cube 的 this video 中,您可以清楚地看到 Power BI 发送到 Azure 的查询具有 convert to datetime2 函数 - 类似这样Athena/Presto 可能缺少,它需要类型构造函数 TIMESTAMP 才能进行日期时间比较 (https://stackoverflow.com/a/38041684/3675679),当然增量刷新必须基于日期时间字段。我使用日期时间字段adv_date 进行增量加载。
这是 M 查询在 Power Query 编辑器中的样子:
= Table.SelectRows(#"Removed Columns1", each [adv_date] >= RangeStart and [adv_date] < RangeEnd)
这是 Athena 中产生的错误消息:
Your query has the following errors:SYNTAX_ERROR: line 1:1: Incorrect number of parameters: expected 2 but found 0
虽然 Athena 是这样解释查询的:
select "col1", "col2", "adv_date"
from "AwsDataCatalog"."test"."test_table"
where "adv_date" >= ? and "adv_date" < ?
我已联系 Power BI 支持,但未成功。有没有人有办法解决这个问题?如果需要,很乐意提供更多信息。
【问题讨论】:
-
这方面有什么更新吗?我有同样的问题。不知何故,PowerBI 不明白它应该将参数值放在查询中。
-
嗨@ᐅdevrimbaris,请参阅下面的答案。
标签: powerbi etl presto amazon-athena incremental-load