【发布时间】:2013-03-23 08:45:41
【问题描述】:
我已经阅读了数十种与我即将提出的类似换位问题的解决方案,但奇怪的是没有一个完全反映我的问题。我只是想在一个简单的仪表板类型数据集中将我的行翻转为列。
从各种事务表中提取的数据如下所示:
DatePeriod PeriodNumberOverall Transactions Customers Visits
'Jan 2012' 1 100 50 150
'Feb 2012' 2 200 100 300
'Mar 2012' 3 300 200 600
我希望能够生成以下内容:
Jan 2012 Feb 2012 Mar 2012
Transactions 100 200 300
Customers 50 100 200
Visits 150 300 600
指标将是静态的(交易、客户和访问),但日期周期将是动态的(IE - 随着月份的推移会增加更多)。
再一次,我已经准备好许多利用 pivot、unpivot、存储过程、UNION ALL 等的示例,但我没有做任何聚合,只是从字面上转置整个输出。我还在 Visual Studio 2005 中找到了一种使用带有嵌入式列表的矩阵的简单方法,但我无法将最终输出导出到 excel 中,这是必需的。任何帮助将不胜感激。
【问题讨论】:
-
在 stackoverflow.com/questions/13372276/…Bluefeet 的回答中检查 Dynamic Pivot 版本
标签: sql tsql sql-server-2005 pivot