PowerBI Premium工作区增量更新时添加T1表新列的数据保留问题
核心问题出在ALM Toolkit部署模型结构(添加新列)时,默认会覆盖原有增量分区配置,导致分区被重置为单个默认分区,进而丢失历史数据关联。以下是具体解决步骤:
操作步骤(用Tabular Editor实现,避免全量刷新)
连接Premium数据集
打开Tabular Editor,通过File->Connect->Power BI Premium路径,输入目标工作区和数据集名称完成连接。备份分区配置(可选但建议)
找到表T1,右键点击Partitions,选择导出分区配置到JSON文件,防止操作失误后无法恢复原有分区。同步新列到模型
在Tabular Editor里找到T1,添加和本地PBIX一致的新列,点击Save保存到Premium数据集。这一步仅更新模型结构,不会改动现有数据和分区。重建增量分区
如果分区已经被ALM Toolkit覆盖:- 右键T1的
Partitions->New Partition - 选择
Incremental refresh类型,按照你原来的增量规则配置(比如按日期分区、刷新周期) - 重点:不要勾选“Refresh data when creating partition”,防止触发全量刷新
要是之前备份了分区配置,直接导入备份的JSON就能快速恢复。
- 右键T1的
补全历史分区的新列数据(可选)
要是需要历史数据也有新列的值,对每个历史分区右键选择Process->Recalc——这个操作只会计算新列的内容,不会重新加载整个分区的数据,速度远快于全量刷新。如果不需要历史数据带新列值,直接跳过这步。调整ALM Toolkit部署设置(避免后续踩坑)
下次用ALM Toolkit部署时,在Deployment Settings里找到表T1的分区处理选项,设置为Do Nothing,这样部署模型结构变化时不会覆盖已有的分区配置。同时别勾选“Refresh entire dataset after deployment”。
额外注意事项
- 操作前确认数据集没有正在运行的刷新任务,避免冲突。
- 处理分区时优先用
Recalc,不要选Full——Full会重新加载整个分区的数据,Recalc只计算新增/修改的列或度量。 - 要是用SSMS处理分区,同样选择“Recalculate”选项,而非“Full Process”。
内容的提问来源于stack exchange,提问作者luke77
相关产品推荐
相关产品推荐

