Power BI的月销售趋势基于工作日

时间:2017-08-17 17:18:17

标签: powerbi dax

我有每日销售数据,我想创建一个度量或列,根据当月的平均每日销售量计算月度销售趋势。

例如,截至2017年8月17日,我们本月有12个工作日,已售出360个单位。平均每天30个单位。因此,为了手动计算趋势,我将采用30个单位/天,并将其乘以当月的23个工作日,以获得690个单位的销售量。

以下是一些示例数据。

enter image description here

2 个答案:

答案 0 :(得分:0)

编辑:根据添加到帖子中的新信息调整解释和度量定义

您可以创建三个度量来帮助您达到最终结果。在这个例子中,我只是将度量分成三个部分以增加可读性。如果你愿意的话,你可以把所有这些放在一起。

第一项指标为您提供销售的单位数量。这只是销售单位的简单总和,因为您已经为样本中的度量添加了一个月过滤器:

Sales:=SUM('SalesTable'[Items Sold])

第二项指标为您提供截至Sales Table中最新条目的过滤月份的工作天数:

WorkingDaysToDate:=
CALCULATE(
    COUNTROWS('DateTable'), 
    FILTER(
        'DateTable', 
        'DateTable'[Date] > CALCULATE(MAX('SalesTable'[Date]))
        && [Type] = 'Work Day'
    )
)

第三项指标为您提供过滤月份的总工作天数:

WorkingDays:=
CALCULATE(
    COUNTROWS('DateTable'),
    FILTER(
        'DateTable',
        [Type] = 'Work Day'
    )
)

最后,您可以结合使用这三个指标来获得月度趋势:

MonthTrend:=DIVIDE([Sales], [WorkingDaysToDate]) * [WorkingDays]

答案 1 :(得分:0)

总月销售额

TotalMTDSales = SUM('Sales Table'[Items Sold])

每月工作日总数

TotalMTDWorkDays =  CALCULATE(
COUNT('DateTable'[Date]), 
FILTER(ALLSELECTED('DateTable'), 'DateTable'[Date]<=MAX('SalesTable'[Date]) && 
'DateTable'[Type] = "Work Day"))

总工作天数

TotalWorkDays = CALCULATE(
COUNTROWS('DateTable'),
FILTER(
    'DateTable',
   'DateTable'[Type]= "Work Day"))

Trend = ([TotalMTDSales] / [TotalMTDWorkDays] ) * [TotalWorkDays]

按月过滤