2016-08-04 101 views
1

我有这两个栏目: SALES_CALLSID QFQ4TA5006C2 QZPIOA18LW8A QS4GSA300PU0 ....;和 MEETING_DATE 2014年7月10日12:00 2015年3月27日12:00 2015年11月3日12:00月滚动平均双向电力DAX

我需要的第一列(salesid)的计数,但此数应每个月的平均值为12个月,即例如7月 - 最近11个月的销售编号+最近11个月的计数(即基于会议日期栏),类似地,该措施必须每隔一个月进行一次。

“销售电话ID”列是一个文本字段。我可以使用公式COUNTA(AccountSalesCalls [SALES_CALLSID])`查看计数。

我建获得销售ID的总数在12个月的计算公式如下:

CALCULATE (
    COUNTA (AccountSalesCalls[SALES_CALLSID]), 
    DATESBETWEEN (
     AccountSalesCalls[MEETING_DATE], 
     NEXTDAY (SAMEPERIODLASTYEAR (LASTDATE (AccountSalesCalls[MEETING_DATE]))), 
     LASTDATE (AccountSalesCalls[MEETING_DATE]) 
    ) 
) 

当我这样做我得到一个错误:

A date column containing duplicate dates was specified in the call to function 'DATESBETWEEN'. This is not supported.

我再建一个DATE表,并用DATE表中的列替换MEETING_DATE列,如下所示:

CALCULATE (
    COUNTA (AccountSalesCalls[SALES_CALLSID]), 
    DATESBETWEEN (
     'Date'[Date], 
     NEXTDAY (SAMEPERIODLASTYEAR (LASTDATE (AccountSalesCalls[MEETING_DATE]))), 
     LASTDATE (AccountSalesCalls[MEETING_DATE]) 
    ) 
) 

这只是给了我c与COUNTA(AccountSalesCalls[SALES_CALLSID])的结果相同。

我还没有完成部门的平均得分,但首先想弄清楚如何使总数工作。任何帮助,将不胜感激。

+0

数据的简单和有代表性的可能是为了提供一个答案或者一些指导 –

+0

确定有用的,所以我有这两个栏目:SALES_CALLSID QFQ4TA5006C2 QZPIOA18LW8A QS4GSA300PU0 ;和,MEETING_DATE 7/10/2014 12:00 3/27/2015 12:00 11/3/2015 12:00我需要第一列(salesid)的计数,但此计数应该是一个过去的十二个月平均每月,即例如7月 - 7月的销售ID计数+最近11个月的计数(即基于会议日期栏),类似地,该措施必须每隔一个月进行......我希望这澄清... –

+0

抱歉我coudn't代表列信息的列形式,但其只有两列 - 1.SALES_CALLSID其次是样本三个值,然后,2. MEETING_DATE后跟三个样本值... –

回答

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(... 

More or moving averages using DAX

+0

请认真编辑更多信息。仅限代码和“尝试这个”的答案是不鼓励的,因为它们不包含可搜索的内容,也不解释为什么有人应该“尝试这个”。我们在这里努力成为知识的资源。 –

+0

我只是稍微修改了op的公式 - 不知道还有什么要添加的。试过这个,为我工作。 – user5226582

0

相反除以12的,我所看到罗布科利通过

处理的划分

COUNTROWS(VALUES('Date'[Year-Month]))

其中[Year-Month]是'Date'表中的计算列E:

= FORMAT( '日期'[日期], “YYYY-MM”)

以这种方式使用VALUES还处理在可用数据覆盖少于12个月的情况。

我也看到Chandoo使用了类似的方法,但是使用COUNTROWS来检查是否有12个月可用来基于滚动平均值(如果不是,返回空白)。