【问题标题】:DAX: How to count how many months have sales in a periodDAX:如何计算一段时间内有多少个月的销售额
【发布时间】:2021-07-28 20:14:13
【问题描述】:

在我的事实表 (fTable) 中,我拥有的列是日期、地区和销售额。

dates region sales
----- ------ -----

我将数据透视表中的数据可视化,其中区域为行,月份为列(我的模型中有一个日期表 (dDate),其中包含月份列)

如果某个地区在给定月份没有销售,我正在寻找一种方法来动态更改平均度量中的分母。现在我的分母被硬编码为 6,因为我在我的提名者中平均了 6 个变量,但是如果我在某个月份没有任何销售,它们中的任何一个都可能是 0,在这种情况下,我的分母需要改变到 5、4 或更少,这取决于我有多少个月没有销售。所以我希望计算过去 6 个月中有多少有销售并将其相加作为分母。

我已经设法通过这种方式计算销售月份:

Denominator:=
var newTable = Summarize(fTable,fTable[date (month)], fTable[region],"Sales",[Sum of Sales])
var MonthsWithSales = Countrows(newTable)

RETURN
MonthsWithSales

我已经尝试返回

Calculate(SUMX(newTable,MonthsWithSales), Dateadd(dDate[Date],-6,MONTH)

但它会产生错误的结果。

有什么建议吗? 谢谢

【问题讨论】:

    标签: powerbi dax powerpivot


    【解决方案1】:

    根据我的示例,我们可以在 CALCULATE 中使用函数 VALUES & COUNTROWS 来获取我们需要的内容:

    Measure = CALCULATE( COUNTROWS(VALUES('Table (2)'[Month])), ALL('Table (2)'[Month]) )
    

    【讨论】:

    • 使用您的示例,我正在寻找的是,当过滤器上下文在 4 月时 - “A”在前六个月有多少个月的销售额? - 在本例中为 0。在 5 月,“A”在前六个月有多少个月的销售额? - 一。在 6 月,“A”在前六个月有多少个月的销售额? - 一。等等。
    猜你喜欢
    • 2018-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-27
    • 1970-01-01
    相关资源
    最近更新 更多