【问题标题】:Transform and Pivot in Ms-AccessMs-Access 中的转换和透视
【发布时间】:2018-06-10 04:09:46
【问题描述】:

我有一张桌子看起来像:

Field1    Field2     Blank    Fail    Pass    Date
a         1          0        20      40      170101
a         2          1        19      99      170101
b         1          0        54      24      170101
c         3          1        24      30      170101
a         1          0        11      19      170102
b         2          0        21      266     170102
a         1          2        10      40      170103
....

然后用户选择他们想要显示的日期范围,我希望我的结果看起来像:

Field1  Field2 0101_B  0101_F  0101_P 0102_B  0102_F  0102_P 0103_B  0103_F  0103_P  
a       1      0       20      40     0       11      19     2       10      40
a       2      1       19      99
b       1      0       54      24
c       3      1       24      30      
b       2                             0       21      266

非常感谢任何帮助!

【问题讨论】:

  • MS Access 查询与任何 SQL 查询一样,不会产生这样的分层列。考虑 Excel 数据透视表、SAS 表、Python pandas 等。
  • 谢谢!我对所需的输出格式进行了更改,并使其不是分层列。这可能吗?

标签: ms-access vba transform pivot-table


【解决方案1】:

选项:

  1. 一个 UNION 查询作为 CROSSTAB 的源 - 参数确实应该引用表单上的控件。
    PARAMETERS StartDate Long, EndDate Long; TRANSFORM Sum(Q.Data) AS SumOfData SELECT Q.Field1, Q.Field2, Q.Yr FROM (SELECT Field1, Field2, Blank AS Data, "B" AS Source, [Date], Mid([Date],3) & "_B" AS MonDayCat, Int(Left([Date],2)) AS Yr FROM Table1 UNION SELECT Field1, Field2, Pass, "P", [Date], Mid([Date],3) & "_P", Int(Left([Date],2)) AS Yr FROM Table1 UNION SELECT Field1, Field2, Fail, "F", [Date], Mid([Date],3) & "_F", Int(Left([Date],2)) AS Yr FROM Table1) AS Q WHERE (((Q.Date) Between [StartDate] And [EndDate])) GROUP BY Q.Field1, Q.Field2, Q.Yr PIVOT Q.MonDayCat;

  2. 三个 CROSSTAB 查询然后加入 CROSSTABS

  3. 评论http://allenbrowne.com/ser-67.html#MultipleValues

  4. VBA 过程将记录写入“临时”表

如果每天都有数据(最多 2.5 个月),这些选项都不会允许一整年的数据。基于 CROSSTAB 构建一个永久运行的稳定报告并非易事。评论http://allenbrowne.com/ser-67.html#ColHead

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-16
    • 2021-12-19
    • 2013-05-08
    相关资源
    最近更新 更多