oracle - 从 Power BI Desktop 中的 Oracle 数据库获取数据永久保存
问题描述
我正在尝试从 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
此查询不会获取任何数据,并且数据加载/刷新将永远停留在“评估”阶段。任何建议将不胜感激。
解决方案
在这种情况下,我建议不要使用 SQL 语句,而是在 Power Query 编辑器中对其进行过滤。在最常见的筛选方案中,Power Query 会将应用的筛选步骤转换为类似于 SQL 语句的本机查询。
如果您愿意,您仍然可以使用 SQL 语句,但步骤
PPM_DEV = Source{[Schema="PPM_DEV"]}[Data],
Timesheets = PPM_DEV{[Name="BI_TIMESHEET"]}[Data]
如果您已经选择并过滤了Timesheets
表格,则没有意义。这些步骤用于导航到您打算查询的架构和表,但您已经在 SQL 中处理了这些。
推荐阅读
- android - React Native构建失败任务:app:processReleaseResources FAILED无法执行aapt
- c# - 如何使 IsEnabled 可继承
- macos - 使用 pip 在 MacOS 上安装 Glumpy 失败
- c# - 根据不同实体的条件从表中获取数据
- android - Android JobScheduler - setRequiredNetworkType 不起作用
- python - Python valueError:无法解析日期时间字符串:sql 中的单引号
- mysql - 比较触发器MYSQL中的日期
- java - 如何将 IF NOT EXISTS 语句用于 ALTER TABLE 语句?
- flutter - 登录后如何重新加载所有小部件的状态?
- python - 从 Pandas 中的文件名中去除月份和年份