SSAS表格编辑器中用DAX计算订单总商品数的技术问询
在SSAS表格编辑器中创建订单总商品数计算列(DAX)
前提说明
确保你的模型中ORDER_CAB和ORDER_DET表已通过order_nr字段建立了一对多关系(ORDER_CAB为关系的"一"端,ORDER_DET为"多"端),这是实现按订单求和的基础。
计算列DAX公式
在ORDER_CAB表中新建计算列,直接使用以下任一公式即可:
写法1(直观易懂,适合新手)
总商品数 = CALCULATE( SUM(ORDER_DET[prod_qty]), ORDER_DET[order_nr] = ORDER_CAB[order_nr] )
写法2(利用表关系简化)
如果已正确建立表关系,可使用更简洁的RELATEDSUM函数:
总商品数 = RELATEDSUM(ORDER_DET[prod_qty])
公式解释
- 写法1:通过
CALCULATE筛选出与当前ORDER_CAB行order_nr匹配的ORDER_DET记录,再对prod_qty求和。 - 写法2:
RELATEDSUM会自动利用已建立的表关系,直接返回当前订单对应的所有明细行prod_qty的总和,无需手动写筛选条件。
注意事项
如果还未建立表关系,需先在SSAS表格编辑器的模型视图中,将ORDER_CAB的order_nr字段拖拽到ORDER_DET的order_nr字段上,系统会自动创建一对多关系。
内容的提问来源于stack exchange,提问作者Tiago
相关产品推荐
相关产品推荐

