如何在DAX Power BI中按月细分日期范围?

时间:2018-06-29 21:40:42

标签: powerbi dax powerbi-embedded

我有两个约会:

“ 2018-01-05”和“ 2019-01-05”

如何创建计算表以按月细分这些日期。 应该看起来像这样:

enter image description here

2 个答案:

答案 0 :(得分:1)

创建新表为

Table = CALENDAR( DATE(2018, 5, 1), DATE(2019, 1, 5) - 1)

将自动生成的列“日期”重命名为“开始日期”。将新列添加为

End Date = Start Date + 1

答案 1 :(得分:1)

执行此操作的方法可能很多,但这是一种结合了一些不同概念的方法:

Table = 
    VAR Starting = DATE(2018, 1, 5)
    VAR Ending = DATE(2019, 1, 5)
    VAR MonthTable =
        SUMMARIZE(
            ADDCOLUMNS(
                CALENDAR(Starting, Ending),
                "StartDate", EOMONTH([Date], 0) + 1),
            [StartDate],
            "EndDate", EOMONTH([StartDate], 0) + 1)
    RETURN UNION(
               ROW("StartDate", Starting, "EndDate", EOMONTH(Starting, 0) + 1),
               FILTER(MonthTable, [EndDate] < Ending && [StartDate] > Starting),
               ROW("StartDate", EOMONTH(Ending, -1) + 1, "EndDate", Ending)
                )

基本上,您可以从CALENDAR函数开始,获取所有日期,并用相应的月份标记每个日期,然后对该表进行汇总以每月仅返回一行。

由于第一行和最后一行有些不规则,因此我将其添加到汇总月份表的过滤版本中,并将其追加到所需的表格中。