您如何将公式写入数据透视表SQL?

问题描述 投票:0回答:1

@@ ProductionTable AS PT如下所示(示例适用于L020上的AC_46)enter image description here

下面的SQL代码创建一个汇总PT.StandardTime的表。

SELECT * 
FROM   
    (SELECT
        PT.StandardTime AS col,
        PT.AC AS AC, 
        PT.WC AS WC
    FROM @ProductionTable AS PT
    ) t
PIVOT(
    SUM(col)
        FOR AC IN ([AC_43],[AC_44],[AC_45],[AC_46]) 
    ) pvt

看起来像这样(红色文本是上面的表格)

enter image description here

[我需要的是将StandardTime乘以Progress以获得完成的小时数,然后除以StandardTime来显示完成百分比,这样最终表将显示类似-

enter image description here

可以在上面的SQL提取中完成此操作,还是需要以某种方式开始修改@ProductionTable?

sql tsql
1个回答
0
投票

当然,当我写这篇文章时...解决方案就会出现。

SELECT * 
FROM   
    (SELECT
        CAST(ROUND(100 * PT.StandardTime * (PT.Progress / 100.0) / NULLIF(PT.StandardTime, 0), -1) AS INT) AS col,
        PT.AC AS AC, 
        PT.WC AS WC
FROM @ProductionTable AS PT
    ) t
PIVOT(
    AVG([col])
        FOR aircraft IN ([AC_70043],[AC_70044],[AC_70045],[AC_70046]
    ) pvt
© www.soinside.com 2019 - 2024. All rights reserved.