为什么有人想将列转换为行(即旋转)?它解决了哪个问题?
我找到了一些链接,但没有得到满意的答案.
http://codeghar.wordpress.com/2007/11/03/pivot-tables/
http://msdn.microsoft.com/en-us/library/ms177410%28SQL.105%29.aspx
小智 7
关于您的问题“为什么有人想要将列转换为行(即,透视)?它可以解决哪个问题?”
这不是“数据看起来如何”的问题,而是“如何组织和处理数据”的问题。即:
在大多数数据库中,行表示“记录-(实体,事件等)”,列表示“字段(该实体的属性)”。例如,以下是数据的典型DB表示形式;
Person | Birth | Height |
-------------------------------
John | 1980 | 1.82 |
Smith | 1987 | 2.02 |
Run Code Online (Sandbox Code Playgroud)
那意味着 每列代表“人员”的特定属性,当您选择特定列时,您将获得所有人员的特定属性。这样,一列就是“维度”,并且所有值都具有相同的单位(数据类型),所有都是日期,所有都是长度,等等。
但是,在财务建模中,以另一种方式表示数据非常方便。例如,“每月现金流量”表中的典型表格如下所示。
Item | Jan | Feb |
-----------------------------
Sales | $100 | $150 |
Tax | -$50 | -$15 |
Run Code Online (Sandbox Code Playgroud)
请注意,电子表格中的这种表格并不遵循数据库格式,列标题是时间,但是列中的值是货币值CONFLICT,我们无法使用此列进行计算。
如果我们将这个表PIVOT,它将变成
Date | Sales | Tax |
------------------------------
Jan | $100 | -$50 |
Feb | $150 | -$15 |
Run Code Online (Sandbox Code Playgroud)
现在,列尺寸(标题)和其中的数据是一致的。日期列包含所有日期,其他列包含所有$数字。我们可以取一个列并对其进行矢量运算。
这是枢轴解决的一个问题。
| 归档时间: |
|
| 查看次数: |
13107 次 |
| 最近记录: |