You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SSAS表格模型中按日期筛选计算最新产品线日期对应产品销售额总和

SSAS表格模型DAX计算方案

数据模型表结构

表名字段信息
F_SalesInvoice_key(外键), AMT
D_InvoiceInvoice_key(主键), Productline_key(外键)
D_ProductLineProductLine_key(主键), Prd_key(外键), ProductLine_Type, ProductLine_Date
D_ProductPrd_key(主键), Prd_Code
D_SituationSituation_key, ProductLine_key(外键), Situation_Type, Situation_Date

用户筛选条件

  • 必选:日期(需满足 Situation_date <= 所选日期)
  • 可选:指定 ProductLine_Type

需求目标

按每个 Prd_Code 统计 F_Sales 中 AMT 的总和,同时返回该产品对应的最近的ProductLine_Date及关联的ProductLine_Type,且需符合筛选条件。


DAX度量值实现

1. 销售额计算

销售额 = SUM(F_Sales[AMT])

2. 最近产品线日期

最近产品线日期 = 
VAR 筛选日期 = MAX('日期表'[Date]) -- 替换为实际使用的日期筛选字段
VAR 符合条件的产品线 = 
    CALCULATETABLE(
        DISTINCT(D_ProductLine[ProductLine_key]),
        D_Situation[Situation_Date] <= 筛选日期,
        ALLSELECTED(D_ProductLine[ProductLine_Type]) -- 应用可选的产品线类型筛选
    )
VAR 最新日期产品线 = 
    TOPN(
        1,
        CALCULATETABLE(D_ProductLine, D_ProductLine[ProductLine_key] IN 符合条件的产品线),
        D_ProductLine[ProductLine_Date], DESC
    )
RETURN
    MAXX(最新日期产品线, D_ProductLine[ProductLine_Date])

3. 对应产品线类型

对应产品线类型 = 
VAR 筛选日期 = MAX('日期表'[Date]) -- 替换为实际使用的日期筛选字段
VAR 符合条件的产品线 = 
    CALCULATETABLE(
        DISTINCT(D_ProductLine[ProductLine_key]),
        D_Situation[Situation_Date] <= 筛选日期,
        ALLSELECTED(D_ProductLine[ProductLine_Type])
    )
VAR 最新日期产品线 = 
    TOPN(
        1,
        CALCULATETABLE(D_ProductLine, D_ProductLine[ProductLine_key] IN 符合条件的产品线),
        D_ProductLine[ProductLine_Date], DESC
    )
RETURN
    MAXX(最新日期产品线, D_ProductLine[ProductLine_Type])

使用说明

  1. 确保模型中表关系已正确建立:F_Sales ↔ D_Invoice ↔ D_ProductLine ↔ D_Product,D_ProductLine ↔ D_Situation。
  2. 若未使用单独日期表,将代码中的 MAX('日期表'[Date]) 替换为筛选所用的日期字段(如 MAX(D_Situation[Situation_Date]))。
  3. 在报表中,将 D_Product[Prd_Code] 拖入行区域,再添加上述三个度量值,即可得到需求结果。

内容的提问来源于stack exchange,提问作者Borri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 06:42:05