当我运行以下语句时,我收到错误:transform语句中的语法错误。 有人可以告诉我如何解决它吗?
TRANSFORM First([H_Project Calender Concat].[Project ID]) AS [FirstOfProject ID]
SELECT [H_Project Calender Concat].Year, [H_Project Calender Concat].Month, [H_Project Calender Concat].Employee
FROM [H_Project Calender Concat]
GROUP BY [H_Project Calender Concat].Year, [H_Project Calender Concat].Month, [H_Project Calender Concat].Employee
PIVOT [H_Project Calender Concat].Day In IIf([H_Project Calender Concat].Month = 1, (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31), (IIf([H_Project Calender Concat].Month = 2, (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28),(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31)));
它持续了整整12个月,并没有闰年。
更新
我正在尝试创建一个日历,其中显示为特定日期分配的项目ID。
示例数据:
Name | Date | Project ID
Bill | 1-29-2014 | P363
Jack | 2-03-2014 | P444
... | ... | ...
Tom | 3-30-2015 | P363
当我发布这个时,我原本希望它看起来像这样:
Year | Month | Name | 1 | 2 | ... | 28 | 29 | 30 | 31
2014 | 1 | Bill | | | ... | | P363 | |
2014 | 2 | Jack | | | ... |
... | ... | ... | | | ... | | | |
2015 | 3 | Tom | | | ... | | | P363
然而我意识到这并没有多大意义。相反,有没有办法我可以显示上面的内容,但突出显示单元格以显示当月已结束?
示例:[〜=突出显示的方块]
Year | Month | Name | 1 | 2 | ... | 28 | 29 | 30 | 31
2014 | 1 | Bill | | | ... | | P363 | |
2014 | 2 | Jack | | | ... | |~~~~~~|~~~~~~|~~~~~
... | ... | ... |...|...| ... |... | ... | ... | ...
2015 | 3 | Tom | | | ... | | | P363 |~~~~~
我目前有以下代码。它成功创建了一个交叉表查询,并将项目ID放在正确的日期:
TRANSFORM First([H_Project Calender Concat].[Project ID]) AS [FirstOfProject ID]
SELECT [H_Project Calender Concat].Year, [H_Project Calender Concat].Month, [H_Project Calender Concat].Employee
FROM [H_Project Calender Concat]
GROUP BY [H_Project Calender Concat].Year, [H_Project Calender Concat].Month, [H_Project Calender Concat].Employee
PIVOT [H_Project Calender Concat].Day In (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31);