我有这两列: SALES_CALLSID QFQ4TA5006C2 QZPIOA18LW8A QS4GSA300PU0 ....;和 MEETING_DATE 2014年7月10日12:00 2015年3月27日12:00 2015年11月3日12:00
我需要第一列(salesid)的计数,但这个计数应该是每个月的平均12个月平均值,例如7月 - 7月的销售额+最近11个月的计数(即基于在会议日期栏上),类似地,这个措施必须每隔一个月进行一次。
"销售电话ID"列是文本字段。我可以使用公式COUNTA(AccountSalesCalls [SALES_CALLSID])来查看计数。
为获得过去12个月的销售ID总数而构建的公式如下:
CALCULATE (
COUNTA ( AccountSalesCalls[SALES_CALLSID] ),
DATESBETWEEN (
AccountSalesCalls[MEETING_DATE],
NEXTDAY ( SAMEPERIODLASTYEAR ( LASTDATE ( AccountSalesCalls[MEETING_DATE] ) ) ),
LASTDATE ( AccountSalesCalls[MEETING_DATE] )
)
)
当我这样做时,我收到一个错误:
在调用中指定了包含重复日期的日期列 功能' DATESBETWEEN'。这不受支持。
然后我构建了一个DATE表并用DATE表中的列替换了MEETING_DATE列,如下所示:
CALCULATE (
COUNTA ( AccountSalesCalls[SALES_CALLSID] ),
DATESBETWEEN (
'Date'[Date],
NEXTDAY ( SAMEPERIODLASTYEAR ( LASTDATE ( AccountSalesCalls[MEETING_DATE] ) ) ),
LASTDATE ( AccountSalesCalls[MEETING_DATE] )
)
)
这只是给了我那个月的计数,与COUNTA(AccountSalesCalls[SALES_CALLSID])
的结果相同。
我仍然没有完成分数部分以获得平均值,但首先想知道如何使总计数有效。任何帮助将不胜感激。
答案 0 :(得分:0)
你快到了。
计算列:
Average = CALCULATE (
COUNTA ( AccountSalesCalls[SALES_CALLSID] ) / 12,
DATESBETWEEN(
AccountSalesCalls[MEETING_DATE],
DATEADD(AccountSalesCalls[MEETING_DATE], -12, MONTH),
AccountSalesCalls[MEETING_DATE]
),
ALL(AccountSalesCalls)
)
请注意,它除以常量(12),这对于数据的第一年是不正确的。你必须决定如何处理这个问题(如果有的话)。
一种选择可以是除以现有选定数据的日期范围:
Average = CALCULATE (
COUNTA ( AccountSalesCalls[SALES_CALLSID] ) /
DATEDIFF( MIN(AccountSalesCalls[MEETING_DATE] ),
MAX( AccountSalesCalls[MEETING_DATE] ),MONTH),
DATESBETWEEN(...
答案 1 :(得分:0)
而不是除以12,我看到Rob Collie通过
来处理分裂COUNTROWS(价值观('日期' [年 - 月]))
其中[年 - 月]是'日期'中的计算列。表:
=格式化('日期' [日期]," YYYY-mm")
以这种方式使用VALUES还可以处理可用数据不到12个月的情况。
我也看到Chandoo使用类似的方法,但是使用COUNTROWS检查是否有12个月可用于基于滚动平均值(如果不是,则返回空白)。