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

DAX计算产品托盘平均售罄时长的技术咨询

DAX计算产品托盘平均售罄时长的技术咨询

看起来你遇到的核心问题是销售数据和托盘发货数据没有直接关联,导致没法精准追踪每个托盘的售罄周期,而且现有度量值只在第一次售罄时能出结果,后续的计算就失效了。我来帮你梳理下思路,一步步解决这个问题:

第一步:先建立表之间的核心关联

既然FacStoreOrder(托盘发货表)和FacSales(销售表)目前没有直接关联,我们需要通过共享的维度表搭建间接关系,这是DAX计算的基础:

  • 确保Dim_Article(产品维度表)同时关联FacStoreOrder和FacSales
  • 确保Dim_Store(门店维度表)同时关联FacStoreOrder和FacSales
  • Dim_Calendar(日期/周维度表)也要关联这两张事实表,这样才能按时间维度做累计销量计算

第二步:计算单个托盘的售罄周数

我们需要先追踪从托盘到货周开始的累计销量,直到累计销量超过托盘的总承载量(ArticlePalletUnits)。先做两个核心度量值:

1. 累计销量度量值

CumulativeUnitsSold = 
CALCULATE(
    SUM(Fac_Sales[SumUnitsSold]),
    FILTER(
        ALLSELECTED(Dim_Calendar),
        Dim_Calendar[WeekNumber] <= MAX(Dim_Calendar[WeekNumber])
    ),
    ALLEXCEPT(Fac_Sales, Dim_Article[Article], Dim_Store[Store])
)

2. 单托盘售罄周数度量值

WeeksToSellPallet = 
VAR PalletTotalUnits = MAX(Fac_OrderStore[ArticlePalletUnits])
VAR PalletReceivedWeek = MAX(Fac_OrderStore[ReceivedWeek]) -- 若订单表无此字段,可从到货日期转换为周数
-- 筛选从到货周开始的累计销量,找到首次超过托盘容量的周数
VAR FirstSoldOutWeek = 
    MINX(
        FILTER(
            ALL(Dim_Calendar),
            Dim_Calendar[WeekNumber] >= PalletReceivedWeek 
            && [CumulativeUnitsSold] >= PalletTotalUnits
        ),
        Dim_Calendar[WeekNumber]
    )
RETURN
-- 计算从到货到售罄的周差,若还未售罄则返回空
IF(ISBLANK(FirstSoldOutWeek), BLANK(), FirstSoldOutWeek - PalletReceivedWeek)

第三步:计算平均售罄周数

有了单个托盘的售罄周数,就可以计算整体平均了:

AverageWeeksPalletSales = 
VAR TotalValidPallets = COUNTROWS(FILTER(Fac_OrderStore, NOT(ISBLANK([WeeksToSellPallet]))))
VAR TotalWeeksAcrossPallets = SUMX(Fac_OrderStore, [WeeksToSellPallet])
RETURN
DIVIDE(TotalWeeksAcrossPallets, TotalValidPallets, BLANK())

为什么你的原有度量值失效?

你的原有度量值用DIVIDE([#Weeks], [SumPalletsSold])再乘以门店数,这个逻辑没有关联托盘到货时间和累计销量的先后关系,只是做了简单的数值除法,所以只能在第一次售罄时碰巧得到一个结果,后续周数计算没有锚定托盘到货的时间起点,自然就失去了准确性。

额外优化提示

如果同一个门店的同一产品有多次托盘到货记录,建议给每个到货批次添加唯一的PalletID标识,然后在计算累计销量时限定为该PalletID对应的到货周之后的范围,避免不同批次的销量互相干扰。

备注:内容来源于stack exchange,提问作者Descartes

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.21 08:00:27