Power BI使用SQL Server Analysis Service实时连接时如何编辑数据新建自定义列
Power BI 实时连接 SSAS 新增自定义列可行方案
方案1:SSAS服务端新增计算列(最优)
如果拥有SSAS数据集的编辑权限,直接在SSAS Tabular模型/多维数据集中添加所需自定义列,Power BI实时连接会自动同步该列,完全不影响数据实时性,是性能最优、无额外兼容问题的方案。如果无SSAS编辑权限,联系数据集管理员提交列添加需求即可。
方案2:Power BI复合模型实现(次优,全版本兼容)
不需要修改SSAS端配置,仅在Power BI报告侧操作即可保留实时性:
- 保持原有SSAS实时连接的配置不变
- 切换到模型视图,点击顶部菜单栏「建模」选项卡,选择「新建表」
- 用DAX表达式导出你需要用到的SSAS基础字段,示例代码:
自定义基础表 = ALL('SSAS数据集名称'[字段1], 'SSAS数据集名称'[字段2], 'SSAS数据集名称'[需用到的其他字段]) - 建立新建的本地表和原有SSAS数据集的关联关系
- 直接在本地表上新建自定义列/条件列,所有列逻辑可自定义,原有SSAS的数据还是实时更新,本地表会同步最新数据
注意:该方案需控制导出的基础字段范围,避免数据量过大占用过多本地内存。
方案3:DirectQuery 模式连接(适合高版本SSAS)
如果使用的是Azure Analysis Services或SQL Server 2022及以上版本的本地SSAS,可以更换连接模式实现自定义列操作:
- 新建连接时,连接模式选择
DirectQuery,不要选择「实时连接」 - 连接成功后可直接进入Power Query编辑器添加自定义列、条件列,所有查询会实时下发到SSAS执行,完全保留数据实时性。
准实时替代方案(无权限修改配置时使用)
如果以上方案均无法落地,可替换原有Excel中转方案为Power BI数据流方案:
- 在Power BI数据流中连接SSAS,完成自定义列的加工配置
- 按实时性要求设置数据流自动刷新频率(普通容量最低支持15分钟/次,Premium容量支持更短间隔)
- 主报告直接连接加工后的数据流即可,相比Excel中转无需手动操作,可满足绝大多数准实时需求。
内容的提问来源于stack exchange,提问作者Samantha Cohn
相关产品推荐
相关产品推荐

