Powerbi 如何在DAX Power BI中按每月细分日期范围?
我有两个约会: “2018-01-05”和“2019-01-05” 如何创建计算表以按月分解这些日期。 应该是这样的: 根据需要创建新表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)
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。这基本上是我需要计算的第一部分。现在我需要使用这些日期来分解和计算每月和每年的总和(赚取保费)。。谢谢你,亚历克西斯。这基本上是我需要计算的第一部分。现在我需要使用这些日期来分解和计算每月和每年的总和(赚取保费)。。