首页 > 数据库 > mysql教程 > 如何在 SQL Server 中透视多个列(销售额、库存和目标)进行数据分析?

如何在 SQL Server 中透视多个列(销售额、库存和目标)进行数据分析?

Susan Sarandon
发布: 2024-12-31 05:18:09
原创
354 人浏览过

How to Pivot Multiple Columns (Sales, Stock, and Target) in SQL Server for Data Analysis?

在 SQL Server 中透视多个列进行数据分析

数据通常需要重组以促进分析和可视化。数据透视是一种将数据转换为不同格式的技术,在这种情况下被证明是非常有价值的。本文探讨了在 SQL Server 中旋转多个列以获得新表排列的概念。

问题:

考虑以下场景:

  • 包含“分支机构”、“类别”、“销售”、“库存”和“目标”列的示例表。
  • 目标就是对 Category 列进行透视,将其放置为行,同时将 Sales、Stock 和 Target 移至列。

解决方案:

透视的关键多列在于在执行透视操作之前重命名列。这确保了后续的pivot语句可以成功聚合数据。

以下修改后的代码实现了所需的转换:

SELECT
*
FROM
(
  SELECT 
   Branch,
   Category,
   Category+'1' As Category1,
   Category+'2' As Category2,
   Sales, 
   Stock, 
   Target
  FROM TblPivot
 ) AS P

 -- For Sales
 PIVOT
 (
   SUM(Sales) FOR Category IN ([Panel], [AC], [Ref])
 ) AS pv1

 -- For Stock
 PIVOT
 (
   SUM(Stock) FOR Category1 IN ([Panel1], [AC1], [Ref1])
 ) AS pv2

 -- For Target
 PIVOT
 (
   SUM(Target) FOR Category2 IN ([Panel2], [AC2], [Ref2])
 ) AS pv3
 GO
登录后复制

结果:

此精炼代码执行旋转操作,生成一个表,其中类别列作为行,销售、库存和目标作为

补充说明:

为了进一步分析,您可以根据需要聚合 pv3 以根据特定列对数据进行求和和分组。

以上是如何在 SQL Server 中透视多个列(销售额、库存和目标)进行数据分析?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板