如何将公式写入数据透视表 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?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 php 数组将 sql 查询结果转换为数据透视表?