我想显示两个日期之间的数据。例如给出下表:
我想在条形图中按月显示该月包括的每个人。
例如,在2018年1月,应仅出现凯文
2018年2月应出现凯文和凯特
2018年3月,凯特和摩根应会出现
以此类推。问题是如何执行此操作,可以使用一些文档或一些技巧来实现它。
感谢和问候
答案 0 :(得分:3)
我想在条形图中按月显示该月包括的每个人。
您可以使用基本日历表和一种度量方法来执行此操作,以确定日历表日期是否在开始/结束日期范围内。该表不需要与主表之间有关系。
首先在DAX或M中创建一个基本日历,这是DAX计算的表之一:
Date = Calendar( Date(2018, 1, 1), Date(2018,12,31))
您可以使用内置的日期层次结构,但我希望月份显示为MMM-yyyy,因此请使用以下方法在日期表上添加新列:
Month = Format('Date'[Date], "MMM yyyy")
对于需要计算月份人数的公式:
Example Count = CALCULATE(COUNT('Example Data'[Name]),
FILTER ( 'Example Data',
'Example Data'[Start Date]<= CALCULATE(MAX('Date'[Date] )) &&
'Example Data'[End Date] >= CALCULATE(MIN('Date'[Date]))))
希望有帮助
答案 1 :(得分:1)
您可以通过将基本数据更改为一种格式来实现,即每个月都有一个新行用于输入新名称。这将使您的最终目标容易得多。例如,从上面的示例数据中,名称为“ Kevin”的数据将被转换为以下内容:
Name StartDate EndDate Month
Kevin 1/1/2018 2/4/2018 1/1/2018
kevin 1/1/2018 2/4/2018 2/1/2018
以下链接着重介绍了达到上述结果应遵循的步骤:
https://medium.com/dm-p/generating-rows-by-month-for-date-ranges-in-power-query-9baf62ed8e99
一旦创建了月份值,就可以使用更改后的表以所需的方式描述数据。希望这会有所帮助。