多个数据点的交叉表查询 [英] Crosstab Query on multiple data points

查看:24
本文介绍了多个数据点的交叉表查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个跟踪员工质量评估数据的表。它包括员工姓名、跟踪重要项目的5个是/否字段以及用户完成每项任务的日期作为列标题。每位员工每月都会收到10条记录,因此它包含了很多关于我们的员工在这5项任务中做得有多好的数据。

我想要一份报告,向我显示这5个是/否字段的月平均值:上诉、NRP、流失、协议和Resub。我希望这些是行头。我希望列标题是连续的月份,平均值是值。我可以通过对单个项目的交叉表查询来做到这一点,比如值是avg:call,行标题是user。我如何构造我的查询以使用全部5个是/否字段?他们希望结果会是这样的:

Table image showing how I want it to look

对正确答案的评论: 6月7日想出了一个很棒的答案!我在DataUNION查询中将True更改为False,因为我需要准确性百分比,而True表示员工评估有误。我还添加了一些以前没有提到的字段。非常感谢你在6月7日帮我洗澡!通读您写的内容启发我开始学习关于Lynda的SQL课程。我知道这是基本的,但是你必须从某个地方开始,我已经到了Access的内置函数不能为我做这件事的地步。希望在下一个问题中,我能够解决下面评论员的担忧,他们对我自己没有第一个尝试过的代码感到不安。 June7's revised Code

推荐答案

考虑:

Query1:DataUNION

SELECT ID AS SourceID, Emp, Year([TaskDate]) AS Yr, Format([TaskDate], "mmm") AS Mo, "Appeal" AS Trend 
      FROM Data 
      WHERE Appeal=True
UNION SELECT ID, Emp, Year([TaskDate]), Format([TaskDate], "mmm"), "NRP" 
      FROM Data WHERE NRP = True
UNION SELECT ID, Emp, Year([TaskDate]), Format([TaskDate], "mmm"), "Churn" 
      FROM Data WHERE Churn = True
UNION SELECT ID, Emp, Year([TaskDate]), Format([TaskDate], "mmm"), "Protocol" 
      FROM Data WHERE Protocol = True
UNION SELECT ID, Emp, Year([TaskDate]), Format([TaskDate], "mmm"), "Resub" 
      FROM Data WHERE Resub = True;

Query2:DataCOUNT

SELECT DataUNION.Yr, DataUNION.Mo, DataUNION.Trend, 
Count(DataUNION.Emp) AS CountOfEmp, Q.CntYrMo, Count([Emp])/[CntYrMo]*100 AS Pct
FROM (SELECT Year([TaskDate]) AS Yr, Format([TaskDate],"mmm") AS Mo, Count(Data.ID) AS CntYrMo
      FROM Data
      GROUP BY Year([TaskDate]), Format([TaskDate],"mmm")) AS Q 
INNER JOIN DataUNION ON (Q.Yr = DataUNION.Yr) AND (Q.Mo = DataUNION.Mo)
GROUP BY DataUNION.Yr, DataUNION.Mo, DataUNION.Trend, Q.CntYrMo;

查询3:

TRANSFORM First(DataCount.Pct) AS FirstOfPct
SELECT DataCount.Yr, DataCount.Trend
FROM DataCount
GROUP BY DataCount.Yr, DataCount.Trend
PIVOT DataCount.Mo In ("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");

这篇关于多个数据点的交叉表查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆