c#中的数据透视表

我需要在.net中创建一个数据透视表。 不能使用任何第三方控制(除非它是免费的)。 我试图找到解释如何创建数据透视表(算法或步骤)的文档,但几乎所有内容都与excel有关。 有谁知道如何在c#中创建数据透视表? 谢谢

在这里帮助http://msdn.microsoft.com/en-us/library/aa172756%28SQL.80%29.aspx

实际表:

Year Quarter Amount 1990 1 1.1 1990 2 1.2 1990 3 1.3 1990 4 1.4 1991 1 2.1 1991 2 2.2 1991 3 2.3 1991 4 2.4 1992 4 2.4 

期望的输出:(这里Q为季度)

 Year Q-1 Q-2 Q-3 Q-4 1990 1.1 1.2 1.3 1.4 1991 2.1 2.2 2.3 2.4 1992 0.0 0.0 0.0 2.4 

查询:

 Use Northwind GO CREATE TABLE Pivot ( Year SMALLINT, Quarter TINYINT, Amount DECIMAL(2,1) ) GO INSERT INTO Pivot VALUES (1990, 1, 1.1) INSERT INTO Pivot VALUES (1990, 2, 1.2) INSERT INTO Pivot VALUES (1990, 3, 1.3) INSERT INTO Pivot VALUES (1990, 4, 1.4) INSERT INTO Pivot VALUES (1991, 1, 2.1) INSERT INTO Pivot VALUES (1991, 2, 2.2) INSERT INTO Pivot VALUES (1991, 3, 2.3) INSERT INTO Pivot VALUES (1991, 4, 2.4) INSERT INTO Pivot VALUES (1992, 4, 2.4) GO SELECT * FROM Pivot GO SELECT Year, SUM(CASE Quarter WHEN 1 THEN Amount ELSE 0 END) AS Q1, SUM(CASE Quarter WHEN 2 THEN Amount ELSE 0 END) AS Q2, SUM(CASE Quarter WHEN 3 THEN Amount ELSE 0 END) AS Q3, SUM(CASE Quarter WHEN 4 THEN Amount ELSE 0 END) AS Q4 FROM Northwind.dbo.Pivot GROUP BY Year GO 

另一个输出:

 SELECT P1.*, (P1.Q1 + P1.Q2 + P1.Q3 + P1.Q4) AS YearTotal FROM (SELECT Year, SUM(CASE P.Quarter WHEN 1 THEN P.Amount ELSE 0 END) AS Q1, SUM(CASE P.Quarter WHEN 2 THEN P.Amount ELSE 0 END) AS Q2, SUM(CASE P.Quarter WHEN 3 THEN P.Amount ELSE 0 END) AS Q3, SUM(CASE P.Quarter WHEN 4 THEN P.Amount ELSE 0 END) AS Q4 FROM Pivot AS P GROUP BY P.Year) AS P1 GO 

MS-Access具有TRANSFORM命令(执行转轴),因此您可以使用ADO.NET查询ms-access mdb文件,然后使用passthrough查询来获取无法转动的数据源(通常是MS- SQL / T-SQL)。 我做了一个关于这个概念的certificate并且它起作用并且比使用数组进行数据透视的VBScript实现短约5000个LOC。

关于MS-Access的通常贬低性评论不适用于此,因为您实际上并未在MS-Access中存储数据。

CellSetGrid是一个开源ASP .Net(c#)控件,它提供类似于数据透视表的function。

过去可以在此站点下载: http : //www.SQLServerAnalysisServices.com

现在该站点不再承载此控件。 所以我在这里上传了控件的来源 – CellSetGrid。

  1. 您可以构建源
  2. 在Visual Studio工具箱中将其添加为控件。
  3. 将控制拖放到Web表单
  4. 将连接字符串设置为多维数据集
  5. 这将显示所有维度和度量值组,以便您可以拖动您想要获得像function一样的数据透视表