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

Posted

技术标签:

【中文标题】如何将公式写入数据透视表 SQL?【英文标题】:How do you write formulas into a pivot table SQL? 【发布时间】:2019-11-12 13:36:28 【问题描述】:

@ProductionTable AS PT 如下所示(示例是 L020 上的 AC_46)

以下 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

这样看起来(红色文字为上表)

我需要将 StandardTime 乘以 Progress 以获得 Completed Hours,然后除以 StandardTime 以显示完成百分比,这样最终表格就会显示类似 -

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

【问题讨论】:

【参考方案1】:

当然,一旦我写了这个......解决方案就会出现。

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

【讨论】:

以上是关于如何将公式写入数据透视表 SQL?的主要内容,如果未能解决你的问题,请参考以下文章

在数据表中添加一个字段的SQL语句怎么写

如何使用 php 数组将 sql 查询结果转换为数据透视表?

Microsoft Access 数据透视表到 SQL Server 数据透视表

将 sql 数据从数据透视表存储过程导出到 excel

Excle数据透视表如何按照地区交替填充背景颜色

您可以将公式应用于数据透视表的计数过滤器吗?尝试在大型数据集中查找重复项