仅显示前 4 周的交叉表查询
Crosstab query to only show the previous 4 weeks
我乐于接受有关改变我开始布置数据的方式的建议。
我需要:
我需要每周显示个人表现列表。为此,我创建了一个交叉表查询,每列显示为日期(使用查询向导构建)。
查询实际上运行良好,虽然我只想显示 4 列(相当于 4 周的数据)但真的不知道从哪里开始让我怀疑我是否使用交叉表采取了正确的方法.
因为没有条件显示全年几乎超过 50 列
当前代码:
TRANSFORM Max(tbl_Genesys_Weekly.[Field32]) AS MaxOfField32
SELECT [_tbl_Structure].[User Name]
FROM _tbl_Structure INNER JOIN tbl_Genesys_Weekly ON [_tbl_Structure].[User ID] = tbl_Genesys_Weekly.Field5
GROUP BY [_tbl_Structure].[User Name]
ORDER BY tbl_Genesys_Weekly.WC_Date
PIVOT tbl_Genesys_Weekly.WC_Date;
非常感谢任何帮助
更新代码:
TRANSFORM Max(Format([Field32]/100,"Percent")) AS Calc
SELECT [_tbl_Structure].CSM, [_tbl_Structure].[User Name]
FROM _tbl_Structure INNER JOIN tbl_Genesys_Weekly ON [_tbl_Structure].[User ID] = tbl_Genesys_Weekly.Field5
GROUP BY [_tbl_Structure].CSM, [_tbl_Structure].[User Name]
ORDER BY tbl_Genesys_Weekly.WC_Date DESC
PIVOT DatePart("ww", tbl_Genesys_Weekly.WC_Date)
WHERE DateDiff("ww", tbl_Genesys_Weekly.WC_Date, Date()) Between 5 and 1;
收到错误:
在 SQL 语句
结束后找到的字符
您可以使用:
PIVOT DatePart("ww", tbl_Genesys_Weekly.WC_Date);
并包含一个 where 子句:
WHERE DateDiff("ww", tbl_Genesys_Weekly.WC_Date, Date()) Between 5 and 1
请注意,如果您使用标准的 ISO 8601 周数,则无法使用 DatePart,并且必须包含年份才能在新年前后获得正确的排序。
我乐于接受有关改变我开始布置数据的方式的建议。
我需要: 我需要每周显示个人表现列表。为此,我创建了一个交叉表查询,每列显示为日期(使用查询向导构建)。
查询实际上运行良好,虽然我只想显示 4 列(相当于 4 周的数据)但真的不知道从哪里开始让我怀疑我是否使用交叉表采取了正确的方法.
因为没有条件显示全年几乎超过 50 列
当前代码:
TRANSFORM Max(tbl_Genesys_Weekly.[Field32]) AS MaxOfField32
SELECT [_tbl_Structure].[User Name]
FROM _tbl_Structure INNER JOIN tbl_Genesys_Weekly ON [_tbl_Structure].[User ID] = tbl_Genesys_Weekly.Field5
GROUP BY [_tbl_Structure].[User Name]
ORDER BY tbl_Genesys_Weekly.WC_Date
PIVOT tbl_Genesys_Weekly.WC_Date;
非常感谢任何帮助
更新代码:
TRANSFORM Max(Format([Field32]/100,"Percent")) AS Calc
SELECT [_tbl_Structure].CSM, [_tbl_Structure].[User Name]
FROM _tbl_Structure INNER JOIN tbl_Genesys_Weekly ON [_tbl_Structure].[User ID] = tbl_Genesys_Weekly.Field5
GROUP BY [_tbl_Structure].CSM, [_tbl_Structure].[User Name]
ORDER BY tbl_Genesys_Weekly.WC_Date DESC
PIVOT DatePart("ww", tbl_Genesys_Weekly.WC_Date)
WHERE DateDiff("ww", tbl_Genesys_Weekly.WC_Date, Date()) Between 5 and 1;
收到错误: 在 SQL 语句
结束后找到的字符您可以使用:
PIVOT DatePart("ww", tbl_Genesys_Weekly.WC_Date);
并包含一个 where 子句:
WHERE DateDiff("ww", tbl_Genesys_Weekly.WC_Date, Date()) Between 5 and 1
请注意,如果您使用标准的 ISO 8601 周数,则无法使用 DatePart,并且必须包含年份才能在新年前后获得正确的排序。