按月汇总表

时间:2016-06-22 07:25:44

标签: sql sql-server

我有一个相当有趣的问题。我需要按月汇总一个表格。分组似乎不会起作用,所以我不知道该去哪里。我宁愿这样做作为一年而不是一个功能(权限和所有) 现在桌子是白天的,这不是太方便(谁想要在9个月的项目中每天看到一个项目资源成本)我需要将所有这些都卷起来,而不是每天按月计算。 我需要按月分组ProjectUID,AssignmentUID,ResourceUID,TaskUID然后其他字段汇总。所以我有一些东西看起来像这个项目的总成本,对于这个任务,这个资源,这个任务 - 月份(不是一天) 我不知道从哪里开始。 表的一部分如下所示: ProjectUID,TimeByDay,AssignmentUID,ResourceUID,TaskUID,AssignmentCost,resourcePlanCost(需要合计的许多其他列)

    SELECT [AssignmentUID]
  ,[ResourcesUID]
  ,[TimeByDay]
  ,[ProjectUID]
  ,[TaskUID]
  ,[AssignmentCost]
  ,[AssignmentOvertimeCost]
  ,[AssignmentActualCost]
  ,[AssignmentActualOvertimeCost]
  ,[AssignmentWork]
  ,[AssignmentOvertimeWork]
  ,[AssignmentActualWork]
  ,[AssignmentActualOvertimeWork]
  ,[AssignmentMaterialWork]
  ,[AssignmentMaterialActualWork]
  ,[AssignmentBudgetCost]
  ,[AssignmentBudgetWork]
  ,[AssignmentBudgetMaterialWork]
  ,[AssignmentResourcePlanWork]
  ,[TaskIsActive]
  ,[AssignmentRegularCost]
  ,[AssignmentRemainingCost]
  ,[AssignmentRemainingOvertimeCost]
  ,[AssignmentActualRegularCost]
  ,[AssignmentRemainingRegularCost]
  ,[AssignmentRegularWork]
  ,[AssignmentRemainingWork]
  ,[AssignmentRemainingOvertimeWork]
  ,[AssignmentActualRegularWork]
  ,[AssignmentRemainingRegularWork]
  ,[AssignmentCombinedWork]
  ,[AssignmentCount]
   ,[AssignmentBaseline4Cost]
  ,[AssignmentBaseline4Work]
  ,[AssignmentBaseline4MaterialWork]
  ,[AssignmentBaseline4BudgetCost]
  ,[AssignmentBaseline4BudgetWork]
  ,[AssignmentBaseline4BudgetMaterialWork]
  ,[AssignmentBaseline5Cost]
  ,[AssignmentBaseline5Work]
  ,[AssignmentBaseline5MaterialWork]
  ,[AssignmentBaseline5BudgetCost]
  ,[AssignmentBaseline5BudgetWork]
  ,[AssignmentBaseline5BudgetMaterialWork]
  FROM [PSIT].[dbo].[MSP_EpmAssignmentByDay_UserView]

这是来自Project Server 2013的任何帮助都会受到赞赏(Analysis Services不可用,因此我可以构建一个多维数据集。)

1 个答案:

答案 0 :(得分:2)

为什么GROUP BY无法工作?

SELECT 
    ProjectUID, 
    AssignmentUID, 
    ResourceUID, 
    TaskUID, 
    SUM(AssignmentCost)
FROM
    [PSIT].[dbo].[MSP_EpmAssignmentByDay_UserView]
GROUP BY
    ProjectUID, 
    AssignmentUID, 
    ResourceUID, 
    TaskUID,
    DATEPART(year, TimeByDay), DATEPART(month, TimeByDay)

DATEPART函数为您提供TimeByDay的年份和月份,您可以按这些值进行分组。