1 概述
计算列在数据模型的表层面,通过给模型中指定表/查询添加新的物理列实现数据的二次计算与转换;
计算度量则借助多维表达式(MDX),以虚拟字段的形式,在报表生成阶段动态完成计算任务。由于两者特性各异,在实际应用场景中,我们需依据具体需求,灵活选择计算列和计算度量,实现高效的数据处理与分析。
2 计算类型使用场景介绍
类型 | 场景描述 | 适用功能 |
明细级别计算 | 数据源行级别计算、转换字段类型、数据分割等 | |
聚合/汇总计算 | 求平均值、最大值、求和等 | |
组件快速计算、时间计算 | 基于某个指标快速算同期值、累计值 | |
复杂、高级计算 | 比如动态计算某个指标、时间比较、固定维度计算等 |
3 计算度量与计算列的区别
以下图数据做示例进行说明:
先把数据导入到模型中,导入数据到数据模型可参考:导入文件数据。
客户诉求:
1、计算“神马有限公司”每一笔合同的单价?
分析业务需求,是每一笔合同的单价,单价=合同金额/购买数量,每一行都要得到一个”单价“,属于明细级别的计算,可以使用 计算列 来进行计算。
表达式如下:
预览得到 每一笔单价 结果:
2、计算“神马公司的”所有的合同金额以及合同数量的平均单价? 需要把 合同金额、购买数量变成度量进行汇总,平均单价=汇总之后的合同金额/ 汇总之后的购买数量 ,这个时候用计算列做不到,需要使用计算度量:
创建好 平均单价,预览结果:
3、总结区别:
1、计算度量是先汇总后再计算表达式,而计算列是表级别明细计算。如果计算列变成度量,是先计算计算列里面的内容再汇总。
2、计算列是加在表上,创建完之后可以在表上直接预览出数据;计算度量是基于多维表达式(MDX)的虚拟字段,在报表使用时动态计算,不存储数据。
3 计算列与计算度量常用场景
计算列:计算列实现场景介绍。
计算度量:计算度量实现场景介绍。