我在一个表中有两个日期列
Coolumn听说:活动|城市| Start_Date | End_Date
第1行:A1 | C1 | 01/01/2014 | 05/01/2014
第2行:A1 | C1 | 06/01/2014 | 07/01/2014
第3行:A2 | C2 | 06/01/2014 | 07/01/2014
第4行:A3 | C3 | 03/01/2014 | 04/01/2014
预期输出如 - 如果用户选择日期范围02/01/2014至07/01/2014
列标题
城市| #StartCount | #EndCount
第1行:C1 | 1 | 2
第2行:C2 | 1 | 1
第2行:C3 | 1 | 1
这里#StartCount是 - 需要按城市分组。 - 它的不同活动计数 - 它应该将日期边界视为:所有活动的开始日期'更大或更有效(> =)'输入开始日期和(小于'<')结束日期
这里#EndCount是 - 需要按城市分组。 - 它的不同活动计数 - 它应将日期边界视为:所有活动的结束日期'较少或较少(或<=)'输入结束日期和(大于'&gt;')结束日期
请你建议我用这种情况表达。 可以使用计算的度量或dax ..
答案 0 :(得分:0)
这里的关键是使用断开连接的切片器,因为如果你使用“常规”切片器,那么执行COUNT计算将无法工作,因为它们只是过滤掉了不适合的行。
我已使用您的数据创建3个表:
然后我添加了两个计算字段:
开始计数
=CALCULATE(COUNTA(Source[City]),FILTER(Source,Source[Start]>=MIN('Start'[Start])))
结束计数
=CALCULATE(COUNTA(Source[City]),FILTER(Source,Source[Start]<=MIN('End'[End])))
这两个命令的作用是计算非空的City行,并按(使用FILTER命令) Start 或 End 列过滤它们。详细了解disconnected slicers here。
要获取报告:创建新的PowerPivot表,将 City 放在行上,然后将开始计数和结束计数拖到值。然后为 Start 和 End 表添加切片器。选择您的日期,您将获得所需的结果。
附件是我使用的屏幕(这将在Excel 2013以及带有PowerPivot插件的Excel 2010中使用):
使用断开连接的切片器有时可能会很棘手 - 但如果您使用新的Excel应用程序(如CreateTimeDimension(免费)或pre-prepared DateTables创建它们),那么您应该只是细
希望这有帮助!