【问题标题】:Getting different result in calculation of last 30 days and 1 Month sales using DATESINPERIOD() DAX function使用 DATESINPERIOD() DAX 函数计算过去 30 天和 1 个月销售额的结果不同
【发布时间】:2022-01-08 15:24:32
【问题描述】:

我正在使用 DAX 函数 DATESINPERIOD() 计算过去 30 天的销售额。当我计算过去 30 天的销售额和过去 1 个月的销售额时,我得到了不同的结果。两个表达式都应该给出相同的结果,但我想知道为什么我得到不同的结果。对于过去 30 天的销售,我得到的结果是 233351,而对于过去 1 个月,我得到的结果是 46693。

Last 30 Days Sales(DATESINPERIOD()) = CALCULATE([Total_Sales],DATESINPERIOD(Sales_Data[Date],LASTDATE(Sales_Data[Date]),-30,DAY))

Last 1 Month Sales(DATESINPERIOD()) = CALCULATE([Total_Sales],DATESINPERIOD(Sales_Data[Date],LASTDATE(Sales_Data[Date]),-1,MONTH))

我也附上了数据集。有人可以告诉我为什么我得到不同的结果。

【问题讨论】:

    标签: powerbi dax analytics


    【解决方案1】:

    您会得到不同的结果,因为这些衡量标准并不相同。

    Dateinperiod for Month 仅返回此:

    您应该考虑完整期间。您已向引擎提供了您希望从上个月接收天数的信息

    【讨论】:

    • 有人能详细说明这两个函数获得的销售额变化的原因吗?我想知道为什么当我使用相同的功能时,30 天和 1 个月的销售额不一样。
    • 首先,月份有不同的天数,它不是一个常数值; DATESINPERIOD,返回指定期间的天数。对于一个月,它总是从该月的 1 日开始(该函数不会将我们向后移动一个月/或 30 天;它只会查找期间的开始)。在您的示例中,DATESINPERIOD, -2, MONTH 将返回从 2021 年 12 月 1 日开始的数据。
    • 好的,所以基本上对于 -30,Days 的 DATESINPERIOD --> 它可以追溯到 30 天并给出销售价值的总和。但是对于带有 -1,MONTH 的 DATESINPERIOD,它不会返回 1 个月,而是检查当月的第一个日期,并给出从该月的第一个日期到任何日期的总销售额。在我的数据集中,当我申请 -1,MONTH 时,它会在 22 年 1 月 1 日开始计算并执行计算到 1 月 6 日(最后销售日期),但是当我申请 -30 天时,它会准确地计算 30 日从 1 月 6 日(最后销售日期)开始倒数,然后计算到 1 月 6 日,
    猜你喜欢
    • 2022-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多