首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >动力BI雅典娜增量刷新

动力BI雅典娜增量刷新
EN

Stack Overflow用户
提问于 2019-07-26 16:08:20
回答 4查看 942关注 0票数 1

我已经成功地使用了Power的增量刷新和MySQL数据源。但是,我无法用AWS雅典娜进行配置,因为后者似乎将所需参数RangeStartRangeEnd中的值解释为字符串。由于数据源大约有5000万行,所以我宁愿每天都避免从头开始查询。

在Cube中的Guy 这段视频中,可以清楚地看到Power向Azure发送的查询有一个转换为datetime2函数--对于雅典娜/普雷斯托来说可能缺少类似的功能,它需要类型构造器时间戳来进行日期时间比较(https://stackoverflow.com/a/38041684/3675679),当然增量刷新必须基于日期时间字段。我使用datetime字段adv_date作为增量负载。

以下是中的M查询:

代码语言:javascript
运行
复制
= Table.SelectRows(#"Removed Columns1", each [adv_date] >= RangeStart and [adv_date] < RangeEnd) 

这是雅典娜产生的错误信息:

代码语言:javascript
运行
复制
Your query has the following errors:SYNTAX_ERROR: line 1:1: Incorrect number of parameters: expected 2 but found 0 

雅典娜就是这样解释这个问题的:

代码语言:javascript
运行
复制
    select "col1", "col2", "adv_date" 
    from "AwsDataCatalog"."test"."test_table" 
    where "adv_date" >= ? and "adv_date" < ?

我已经联系了动力BI的支持,但没有成功。有没有人有办法解决这个问题?乐意提供更多的信息,如果需要。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2021-06-23 15:46:26

我认为您正在尝试修复已过滤的行步骤,但可能可以通过修复步骤1- Source (运行对雅典娜的实际直接查询)来实现增量负载。

从另一个问题线上粘贴我的答案

我想我已经成功地实现了功率BI中使用雅典娜的“增量负载”。这(仍然)不允许您查看本机查询,但仍然可以使Power操作直接查询来实现它。

为了避免全面扫描雅典娜中的S3数据,您必须在数据集中启用隔断。在不偏离主题的情况下,一旦您通过雅典娜对S3数据进行分区,您就可以在不扫描整个数据集的情况下将日期/月/年的数据集中到数据集中。

一旦这样做,您就可以通过运行视频中提到的直接查询(20:00以上)来实现增量负载,并实现资源高效的查询执行。

最后的查询将类似于-

代码语言:javascript
运行
复制
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:或者简单地

代码语言:javascript
运行
复制
    Odbc.Query("dsn=Simba Athena", 
        "SELECT * FROM tablename 
        WHERE dt >= '" & DateTime.ToText(RangeStart, "yyyy/MM/dd") & "'
        AND dt <= '" & DateTime.ToText(RangeEnd, "yyyy/MM/dd") & "'
    ")
票数 1
EN

Stack Overflow用户

发布于 2020-04-23 09:03:56

微软的一个家伙指示我使用Odbc.Query而不是Odbc.Datasource。下面是他发送的URL的一个例子:

代码语言:javascript
运行
复制
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

我试过了,它成功了,也许你也可以用这个。

票数 1
EN

Stack Overflow用户

发布于 2020-04-20 14:59:14

所以我有一个大概的答案-我不相信雅典娜目前是不可能建立一个增量源在功率BI,使用一个标准的连接。

但是,可以通过数据流来实现这一点,但我们的环境并不是特别快。然而,它确实起作用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57223624

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档