【问题标题】:Monthly sales trend in Power BI based on working daysPower BI 中基于工作日的月度销售趋势
【发布时间】:2017-08-17 17:18:16
【问题描述】:

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

例如,截至 2017 年 8 月 17 日,我们本月有 12 个工作日,已售出 360 台。这是平均每天 30 个单位。因此,要手动计算趋势,我将取 30 个单位/天并将其乘以该月的 23 个总工作日,得出销售 690 个单位的趋势。

这是一些示例数据。

【问题讨论】:

标签: powerbi dax


【解决方案1】:

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

您可以创建三个衡量标准来帮助您达到最终结果。在这个例子中,我只是将度量分成三个部分以增加可读性。如果您愿意,您可以将它们放在一个度量中。

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

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]

【讨论】:

  • 这很有帮助,但是我遇到了问题。似乎 totalmtd 像 sum 函数一样工作,并且依赖于外部过滤器。所以最终的计算只是给了我 sum 函数会给我的东西。而不是(MTD 销售额 / 按 MTD 工作日)* 当月总工作日,计算更像是(销售额总和 / 工作日总和)* 工作日总和
  • 您能否提供数据样本以及您在前端工具中的显示方式?否则很难提供正确的答案:-)
  • 您发布的数据样本和所需输出与我从原始解释中理解的有点不同。因此,我对度量定义进行了相当大的更改。我希望这能让你走上正轨 - 否则请随时告诉我!
  • 您的回答让我使用 MAX 功能走上了正轨。这是我必须修改它的方法。 CALCULATE( COUNT('DateTable'[Date]), FILTER(ALLSELECTED('DateTable'), 'DateTable'[Date]
【解决方案2】:

当月至今的总销售额

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]

按月份过滤

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-17
    • 2011-07-29
    • 1970-01-01
    • 2023-02-24
    • 1970-01-01
    • 1970-01-01
    • 2021-02-14
    相关资源
    最近更新 更多