Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powerbi 如何在DAX Power BI中按每月细分日期范围?_Powerbi_Dax_Powerbi Embedded - Fatal编程技术网

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

Powerbi 如何在DAX Power BI中按每月细分日期范围?,powerbi,dax,powerbi-embedded,Powerbi,Dax,Powerbi Embedded,我有两个约会: “2018-01-05”和“2019-01-05” 如何创建计算表以按月分解这些日期。 应该是这样的: 根据需要创建新表 Table = CALENDAR( DATE(2018, 5, 1), DATE(2019, 1, 5) - 1) 将自动生成的列“日期”重命名为“开始日期”。将新列添加为 End Date = Start Date + 1 将新表创建为 Table = CALENDAR( DATE(2018, 5, 1), DATE(2019, 1, 5) - 1)

我有两个约会:

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

如何创建计算表以按月分解这些日期。 应该是这样的:

根据需要创建新表

Table = CALENDAR( DATE(2018, 5, 1), DATE(2019, 1, 5) - 1)
将自动生成的列“日期”重命名为“开始日期”。将新列添加为

End Date = Start Date + 1
将新表创建为

Table = CALENDAR( DATE(2018, 5, 1), DATE(2019, 1, 5) - 1)
将自动生成的列“日期”重命名为“开始日期”。将新列添加为

End Date = Start Date + 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)
                )
表=
风险值开始=日期(2018年1月5日)
VAR期末=日期(2019年1月5日)
可变风险可监测=
总结(
添加列(
日历(开始、结束),
“起始日期”,EOMOUNT([日期],0)+1),
[起始日期],
“结束日期”,EOMONTH([StartDate],0)+1)
回归联盟(
行(“开始日期”,开始,“结束日期”,EOMOUNT(开始,0)+1),
过滤器(可移动,[EndDate]<结束和[StartDate]>开始),
行(“开始日期”,EOMOUNT(结束,-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)
                )
表=
风险值开始=日期(2018年1月5日)
VAR期末=日期(2019年1月5日)
可变风险可监测=
总结(
添加列(
日历(开始、结束),
“起始日期”,EOMOUNT([日期],0)+1),
[起始日期],
“结束日期”,EOMONTH([StartDate],0)+1)
回归联盟(
行(“开始日期”,开始,“结束日期”,EOMOUNT(开始,0)+1),
过滤器(可移动,[EndDate]<结束和[StartDate]>开始),
行(“开始日期”,EOMOUNT(结束,-1)+1,“结束日期”,结束)
)
基本上,您可以从
日历
函数开始获取所有日期,用相应的月份标记每个日期,然后汇总该表,每个月只返回一行


由于第一行和最后一行有点不规则,我将它们添加到已筛选版本的汇总月份表中,以获得所需的表格。

谢谢Alexis。这基本上是我需要计算的第一部分。现在我需要使用这些日期来分解和计算每月和每年的总和(赚取保费)。。谢谢你,亚历克西斯。这基本上是我需要计算的第一部分。现在我需要使用这些日期来分解和计算每月和每年的总和(赚取保费)。。