2012-02-16 62 views
0

我想弄清楚按月计算每日平均值的最佳方法。按月分组的计数日平均值

这里的数据是什么样子

Date(date),Location(string),UnitID(string) 
2011-12-1,A,123 
2011-12-1,A,456 
2011-12-1,B,789 
2011-12-1,B,246 
2011-12-2,A,135 
2011-12-2,A,123 
2011-12-2,B,789 
2011-12-2,B,468 
... 

愿我们的报告显示以下内容:

(location) 12/2011 1/2012 2/2012 (by month) 
A    12.5  10.3  14.0 
B    22.1  20.9  25.6 

摘要字段应该如下每个月/位置组合这一总体思路来计算:

Avg(Count(UnitID))/(days in month) *see below for clarification, this formula doesn't really make much sense. 

Avg(Count(UnitID))是非常困难的部分。交叉标签最适合,但此时的任何内容都可以正常工作。

任何帮助,非常感谢。

为了清晰起见进行编辑:数据是所有失败单元的列表。每天几个单位失败,分布在多个地点。用英文,我想要的是按地点分组的每月平均每个单元的失败次数。

+0

你能澄清一下那个配方在做什么吗?如果按月份/位置计算“Count(UnitID)”的平均值,那么结果总是只是计数... Average()函数实际上不会做任何事情 – Ryan 2012-02-16 19:23:18

+0

我在底部添加了一个注释希望这将有助于澄清我想要做的事情。感谢您的期待! – Plecebo 2012-02-16 23:43:25

回答

0

我建议在交叉表中做这件事。

首先,添加一个公式(被称为像perMonthCount)像下面这样的报告:

1/DatePart ("d", 
       DateAdd ("d", 
         -1, 
         DateAdd ("m", 
           1, 
           DateAdd ("d", 
             1-DatePart ("d", {failures.fail_date}), 
             {failures.fail_date})))) 

接下来,从菜单中选择Insert > Cross-Tab...,并在十字交叉表选项卡指定下列值-Tab专家dailog:

  • 行:你的位置字段
  • 列:你的失败日期字段(使用组选项按钮来指定列应打印for each month而不是默认for each day
  • 汇总字段,:所述@perMonthCount式字段(的汇总操作应默认Sum of

在交叉表专家dailog,检查的自定义风格选项卡。抑制行总计“复选框。 (如果您不希望在报告末尾查看所有地点的总计,则还可以查看“抑制列总计”复选框。)

单击Cross-选择专家对话框并将交叉表放入报告页脚。

您也可能想要抑制报告的详细信息部分。

在此阶段,您现在应该可以预览结果。

+0

这是一个非常聪明的方法,我敢打赌它会起作用。我直到周二才离开办公室,但我会检查一下,然后通知你。 我从来没有考虑过在一个月内取得平均值的倒数,但它是有道理的。 – Plecebo 2012-02-17 18:22:48