答案 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
函数开始,获取所有日期,并用相应的月份标记每个日期,然后对该表进行汇总以每月仅返回一行。
由于第一行和最后一行有些不规则,因此我将其添加到汇总月份表的过滤版本中,并将其追加到所需的表格中。