01 15
最后结果
多年来,Microsoft Excel与顶级商业智能(BI)平台之间存在差距。 Microsoft Excel 2010数据透视表增强功能以及其他一些BI功能使其成为企业BI的真正竞争对手。 传统上,Excel一直用于独立分析和每个人都将其最终报告导入到的标准工具。 传统上,专业商业智能一直专为SAS,Business Objects和SAP等用户所使用。
Microsoft Excel 2010(带有Excel 2010数据透视表)以及SQL Server 2008 R2,SharePoint 2010和免费的Microsoft Excel 2010附加软件“PowerPivot”产生了高端商业智能和报表解决方案。
本教程介绍了一个简单的场景,使用简单的SQL查询将Excel 2010数据透视表连接到SQL Server 2008 R2数据库。 我还使用Slicers进行视觉过滤,这是Excel 2010中的新增功能。我将在不久的将来使用PowerPivot for Excel 2010中的数据分析表达式(DAX)覆盖更复杂的BI技术。 这个最新版本的Microsoft Excel 2010可以为您的用户社区提供真正的价值。
02之15
插入数据透视表
您可以在新的或现有的Excel工作簿中插入数据透视表。 您可能需要考虑将光标从顶部向下放置几行。 如果您共享工作表或将其打印出来,这将为您提供标题或公司信息的空间。
- 打开新的或现有的Excel 2010工作簿,然后单击您希望数据透视表左上角的单元格。
- 点击Insert选项卡并点击Tables部分中的PivotTable下拉列表。 选择数据透视表。 这将启动创建数据透视表对话框。
03 15
将数据透视表连接到SQL Server(或其他数据库)
Excel 2010可以从所有主要的RDBMS(关系数据库管理系统)提供者中检索数据。 默认情况下,SQL Server驱动程序应该可用于连接。 但是所有主要的数据库软件都会使ODBC(开放式数据库连接)驱动程序允许您建立连接。 如果您需要下载ODBC驱动程序,请检查他们的网站。
在本教程中,我将连接到SQL Server 2008 R2(SQL Express免费版)。
- A - 创建数据透视表格是创建与SQL Server连接的第一种形式。 选择“使用外部数据源”并点击选择连接按钮。 除非要创建新工作表并将其放置在那里,否则请保留数据透视表的放置位置。
- B - “现有连接”表格列出了当前工作簿,计算机和当前连接的网络中的所有连接。 现有连接实际上只是具有访问特定数据源所需的连接信息的文本文件。 在我们的例子中,我们将创建一个新的数据源。 点击Browse for More按钮。
- C - 点击New Source按钮将启动数据连接向导。
- D - 选择Microsoft SQL Server,然后单击下一步。
- E - 输入服务器名称并登录凭据。 选择适当的验证方法。 如果您不确定使用哪种方法,请联系您的数据库管理员。
- 使用Windows身份验证:此方法使用您的网络登录来访问SQL Server数据库。
- 使用以下用户名和密码: SQL Server已配置为使用独立用户访问数据库时使用此方法。
- F - 在这一步中,我们将选择一个表作为占位符。 我们将用自定义SQL替换表格,该表格将准确提供我们在Excel工作簿中所需的数据。
- 选择您要连接的数据库。 在这个例子中,我们连接到Microsoft提供的AdventureWorks示例数据库。 选中连接到特定的表格并选择第一个表格。 请记住,我们不会从这张表中检索数据。
- 单击完成,这将关闭向导并将您返回到工作簿。 我们将替换我们的自定义SQL查询的占位符表。
您将返回到创建数据透视表格(A)。 点击确定。
15的15
数据透视表临时连接到SQL表
此时,您已连接到占位符表,并且您有一个空的数据透视表。 您可以在左侧看到数据透视表,右侧显示可用字段的列表。
15 15
打开连接属性
在开始为数据透视表选择数据之前,我们需要将连接更改为SQL查询。 确保您位于选项选项卡上,然后单击数据部分中的更改数据源下拉菜单。 选择连接属性。
这将显示连接属性窗体。 点击定义选项卡。 这会向您显示当前连接到SQL Server的连接信息。 在引用连接文件时,数据实际上嵌入在电子表格中。
06 15
使用查询更新连接属性
将表格中的命令类型更改为SQL,并用SQL查询覆盖现有的命令文本。 以下是我从AdventureWorks示例数据库创建的查询:
SELECT Sales.SalesOrderHeader.SalesOrderID,
Sales.SalesOrderHeader.OrderDate,
Sales.SalesOrderHeader.ShipDate,
Sales.SalesOrderHeader.Status,
Sales.SalesOrderHeader.SubTotal,
Sales.SalesOrderHeader.TaxAmt,
Sales.SalesOrderHeader.Freight,
Sales.SalesOrderHeader.TotalDue,
Sales.SalesOrderDetail.SalesOrderDetailID,
Sales.SalesOrderDetail.OrderQty,
Sales.SalesOrderDetail.UnitPrice,
Sales.SalesOrderDetail.LineTotal,
Production.Product.Name,
Sales.vIndividualCustomer.StateProvinceName,Sales.vIndividualCustomer.CountryRegionName,
Sales.Customer.CustomerType,
Production.Product.ListPrice,
Production.Product.ProductLine,
Production.ProductSubcategory.Name AS ProductCategory
FROM Sales.SalesOrderDetail INNER JOIN Sales.SalesOrderHeader ON
Sales.SalesOrderDetail.SalesOrderID = Sales.SalesOrderHeader.SalesOrderID
INNER JOIN Production.Product ON Sales.SalesOrderDetail.ProductID =
Production.Product.ProductID INNER JOIN Sales.Customer ON
Sales.SalesOrderHeader.CustomerID = Sales.Customer.CustomerID AND
Sales.SalesOrderHeader.CustomerID = Sales.Customer.CustomerID INNER JOIN
Sales.vIndividualCustomer ON Sales.Customer.CustomerID =
Sales.vIndividualCustomer.CustomerID INNER JOIN
Production.ProductSubcategory ON Production.Product.ProductSubcategoryID =
Production.ProductSubcategory.ProductSubcategoryID
点击确定。
07 15
接收连接警告
您将收到一个Microsoft Excel警告对话框。 这是因为我们改变了连接信息。 当我们最初创建连接时,它将信息保存在外部.ODC文件(ODBC数据连接)中。 直到我们在步骤#6中将表格命令类型更改为SQL命令类型之前,工作簿中的数据与.ODC文件相同。 警告告诉您数据不再同步,并且工作簿中对外部文件的引用将被删除。 还行吧。 单击是。
08 15
使用查询连接到SQL Server的数据透视表
这将返回到带有空数据透视表的Excel 2010工作簿。 您可以看到可用字段现在不同并且与SQL查询中的字段对应。 我们现在可以开始将字段添加到数据透视表。
15 15
将字段添加到数据透视表
在数据透视表字段列表中,将ProductCategory拖到行标签区域,OrderDate拖到列标签区域,将TotalDue拖到值区域。 图像显示结果。 如您所见,日期字段具有单独的日期,因此数据透视表为每个唯一日期创建了一列。 幸运的是,Excel 2010有一些内置函数来帮助我们组织日期字段。
10 15
为日期字段添加分组
分组功能使我们能够将日期组织到几年,几个月,几个季度等。这将有助于总结数据并使用户更容易与其交互。 右键单击其中一个日期列标题,然后选择出现分组窗体的组。
11 15
选择按值分组
根据您分组的数据类型,表单看起来会有所不同。 Excel 2010允许您将日期,数字和选定的文本数据分组。 我们在本教程中将OrderDate分组,以便表单将显示与日期分组相关的选项。
点击Months and Years并点击OK。
12 15
按年份和月份分组的枢轴表
正如您在上面的图片中看到的,数据按年份先分组,然后按月分组。 每个都有一个加号和减号,可以让你根据你希望看到的数据展开和折叠。
此时,数据透视表非常有用。 每个字段都可以被过滤,但问题是没有关于过滤器当前状态的直观线索。 此外,需要点击几下才能更改视图。
13 15
插入切片器(Excel 2010中的新增功能)
切片器在Excel 2010中是新增功能。切片器基本上等效于在现有字段的可视化设置过滤器和创建报告过滤器的情况下,以便您要过滤的项目不在当前数据透视表视图中。 关于Slicers的好处在于,用户可以很容易地更改数据透视表中的数据视图,并提供有关过滤器当前状态的可视指示器。
要插入切片器,请单击“选项”选项卡,然后单击“分类和滤镜”部分中的“插入切片器”。 选择插入切片器打开插入切片器窗体。 检查尽可能多的字段,你想拥有。 在我们的例子中,我添加了年份,CountryRegionName和ProductCategory。 您可能必须将切片器放在您想要的位置。 默认情况下,选择所有值,这意味着没有应用过滤器。
14 15
用户友好切片机的枢轴表
正如你所看到的,Slicers显示所选数据。 用户非常清楚数据透视表的当前视图中的数据。15 15
从更新数据透视表的切片器中选择值
点击各种值的组合,看看数据透视表视图如何变化。 您可以使用典型的Microsoft在Slicers中单击,这意味着如果您可以使用Control + Click来选择多个值或Shift + Click来选择一系列值。 每个切片器显示所选的值,这使得它非常清楚数据透视表在过滤器方面的状态。 您可以通过单击“选项”选项卡的“切片器”部分中的“快速样式”下拉列表来更改切片器的样式。
Slicers的引入实际上改善了数据透视表的可用性,并且已经将Excel 2010更接近成为专业的商业智能工具。 Excel 2010中的数据透视表已经有所改进,并且与新的PowerPivot结合创建了一个非常高性能的分析环境。