【发布时间】:2021-09-17 10:38:12
【问题描述】:
我正在尝试从 Power BI Desktop 中的单个 Oracle 数据库表中获取数据。该表有大约 200 万行数据。
以下查询工作正常:
let
Source = Oracle.Database("PPM_PROD", [HierarchicalNavigation=true]),
PPM_DEV = Source{[Schema="PPM_DEV"]}[Data],
Timesheets = PPM_DEV{[Name="BI_TIMESHEET"]}[Data]
in
Timesheets
但是,如果我添加如下 SQL 语句,我会遇到问题:
let
Source = Oracle.Database("PPM_PROD", [HierarchicalNavigation=true, Query="SELECT * FROM PPM_DEV.BI_TIMESHEET#(lf)WHERE (ACTUAL_TIME > 0) OR (OVERTIME > 0) "]),
PPM_DEV = Source{[Schema="PPM_DEV"]}[Data],
Timesheets = PPM_DEV{[Name="BI_TIMESHEET"]}[Data]
in
Timesheets
此查询不会获取任何数据,并且数据加载/刷新将永远停留在“评估”阶段。任何建议将不胜感激。
【问题讨论】:
-
第一个查询没有得到结果,只是对整个数据集进行了偏移。第二个是执行过滤器以获取与 where 条件匹配的特定行数。您是否有权访问 Oracle 向我们展示该查询的执行计划?
-
只是个人观察,在使用 Power BI 创建仪表板和报告 2 年后,我开始意识到它不能很好地处理大量数据。在我的项目中,我们必须在 Oracle 表中对结果进行半聚合,然后才能在 Power BI 的报告中使用这些数据。但是,它不会挂起,只是需要时间。
-
很遗憾,我目前无法访问 Oracle。对于 Power Query 编辑器中的第一个查询,当我单击关闭并应用时,“评估...”阶段持续大约一秒钟,数据开始加载 - 缓慢但稳定。然而,对于第二个,我无法通过“评估……”阶段。这种行为似乎与上面的特定 SQL 无关,如果我包含任何 SQL(即使是像 SELECT * FROM PPM_DEV.BI_TIMESHEET 这样简单的东西),我也无法通过“评估...”阶段。跨度>
标签: oracle powerbi powerquery powerbi-desktop m