如何在PowerQuery中实现PowerBI每日Oracle数据的历史归档?
实现PowerBI数据历史化的PowerQuery方案
完全可以通过PowerQuery实现这个需求,具体操作步骤如下:
核心逻辑
通过PowerQuery的追加+去重逻辑,每日将tabLoad的当日数据合并到历史表tabHisto中,确保tabHisto仅保留每个valuationtime的唯一数据行,实现历史数据的持续累积。
具体操作步骤
初始化历史表
- 先手动运行一次
tabLoad的SQL加载查询,获取当日数据后,将其另存为tabHisto作为初始历史数据,确保两者结构完全一致。
- 先手动运行一次
构建自动追加查询
- 打开
tabLoad的PowerQuery编辑器,完成当日数据的加载、格式校验(确保valuationtime为DD.MM.YYYY格式)后,新建一个查询。 - 在新查询中同时引用
tabHisto和tabLoad,使用追加查询功能将tabLoad的数据追加到tabHisto之后。 - 选中
valuationtime列,添加删除重复项步骤,避免同一日期的数据因重复加载出现多行。 - 将这个处理后的查询重命名为
tabHisto,覆盖原有的历史表。
- 打开
配置自动触发
- 在PowerBI的「数据加载」设置中,给
tabLoad配置每日自动刷新规则,刷新完成后,上述追加去重逻辑会自动执行,更新tabHisto的历史数据。
- 在PowerBI的「数据加载」设置中,给
日常校验
- 每次刷新后,检查
tabHisto的valuationtime列,确认当日数据已新增,且无重复日期的记录。
- 每次刷新后,检查
注意事项
- 必须保证
valuationtime的格式始终统一为DD.MM.YYYY,否则去重步骤会失效。 - 若当日
tabLoad无数据(如节假日),追加逻辑不会新增行,不影响历史数据完整性。 - 建议定期导出
tabHisto的数据做备份,防止操作失误导致历史数据丢失。
内容的提问来源于stack exchange,提问作者Miko
相关产品推荐
相关产品推荐

