在Access 2007中使用数据透视表与大型数据库(~200 MB)

时间:2010-01-14 00:15:51

标签: ms-access ms-access-2007 pivot-table

我正在尝试使用Access来帮助我总结科学数据 - 过去30年左右的温度和湿度。

数据库非常大 - 每个大约200兆字节。

我的理想选择是使用数据透视表为我执行摘要,但我遇到的问题是每次我尝试修改其中一个数据透视表参数,即行,列,过滤器或数据设置,它花了大约一分钟考虑它,有时崩溃。

我希望能够在数据透视表中准确指定我想要的内容,然后告诉它进行处理,而不是让它在每一步之后尝试处理。

非常感谢任何帮助。

三江源,

亚历

1 个答案:

答案 0 :(得分:2)

关于您的数据的一些注意事项:

  1. 表格是否已编入索引?索引可加快查询执行速度
  2. 如果有多个表,您是否创建了适当的关系?
  3. 使用Access不应该难以处理200 MB的数据库。

    现在,关于您的问题:使用交叉表查询。

    实施例: 如果您的表(tblCityTemp)具有以下数据

    city | obsDate    | temp
    ========================
    MTY  | 01/01/2010 | 25
    MTY  | 01/02/2010 | 28
    MTY  | 01/03/2010 | 30
    MX   | 01/01/2010 | 15
    MX   | 01/02/2010 | 17
    

    您可以使用以下查询:

    TRANSFORM Avg(temp) AS avgTemp 
    SELECT obsDate 
    FROM tblCityTemp 
    GROUP BY obsDate 
    PIVOT city;
    

    输出结果为:

    obsDate    | MTY | MX
    ========================
    01/01/2010 | 25  | 15
    01/02/2010 | 28  | 17
    01/03/2010 | 30  |
    

    必须将字段cityobsDate编入索引。

    如果要汇总更多字段,请为每个字段创建交叉表查询。

    希望这会对你有所帮助。