概述
OLAP 是什么?
OLAP 又名联机分析,是由关系数据库之父 E.F.Codd 于 1993 年提出的一种数据动态分析模型,它允许以一种称为多维数据集的多维结构访问来自商业数据源的经过聚合和组织整理的数据。数据透视表便是 OLAP 最常见的应用。
数据透视表是什么?
数据透视表是 Microsoft Excel 中最强大的功能之一。数据透视表允许您只需点击几下鼠标即可进行数据分析,通过易于阅读的表格显示结果,“透视”通过拖放字段来更改报告布局,将关键信息高亮显示,并包括图表展示。
WijmoJS 的 OLAP 是什么?
WijmoJS 的 OLAP 全称为 OLAP Pivot 控件,是完全通过 JavaScript 实现的类似 Excel 的基于 Web 的数据透视表。借助 WijmoJS 的 OLAP 模块,您可以在没有服务端依赖的情况下快速处理、聚合成千上万行数据。智能的 Pivot Panel 可以解析数据类型,自动的摆放字段。
OLAP 模块包含以下组件:
PivotEngine:通过其 itemsSource 属性接收原始数据并构建 pivotView 属性公开的输出视图的非可视组件。
PivotPanel:一种控件,允许用户使用拖放和易用的上下文菜单动态构建和修改视图。
PivotGrid:一个数据网格,它扩展了我们的 FlexGrid 以显示数据透视数据,包括可折叠的行和列,小计,总计和自定义单元格格式。
数据透视图:一种图表控件,用于扩展我们的 FlexChart 控件以显示透视数据,包括多种图表类型和分层轴。
WijmoJS OLAP 怎么使用?
一、使用本地数据
使用 PivotEngine 的最简单的方法是将包含原始数据的 JavaScript 数组或 CollectionView 对象分配给引擎的 itemsSource 属性。 数据可以从任意服务计算或检索。
例如:
var engine = new wijmo.olap.PivotEngine({ itemsSource: getDataArray() });
使用本地数据对于相对较少量的数据(比如说大约 50,000 个数据项)来说是一种简单,适当的方法。 引擎设置完成后,您可以使用代码构建视图,或让用户使用 PivotPanel 控件构建视图。 一旦定义了构建,引擎就会向服务器发送请求,检索结果并通过 pivotView 属性公开它们。 在大多数情况下,结果将显示在连接到引擎或面板的 PivotGrid 或 PivotChart 控件中。
但对于大型数据集,使用本地数据可能不切实际。 通过网络载入一百万条数据记录可能需要很长时间,特别是在使用移动设备时。 在这些情况下,您可能更愿意使用服务器来存储和聚合数据,并使用 WijmoJS OLAP 作为前端来构建视图并显示结果。
二、使用远程数据
WijmoJS OLAP 支持两种类型的远程方案:
- 直接连接到 OLAP SSAS 多维数据集(Microsoft 的 Sql Server Analysis Services)
- 连接到 ComponentOne 的数据引擎服务。
三、干货来了:直接连接到 OLAP SSAS 多维数据集
如果您已经安装并运行了 SSAS 实例,则建议使用此选项。 在这种情况下,您只需配置服务器以使您的应用程序可以访问数据,并将 PivotEngine 的 itemsSource 属性设置为包含多维数据集名称和 URL 的对象。
例如:
var ng = new wijmo.olap.PivotEngine({ itemsSource: { url: 'http://ssrs.componentone.com/OLAP/msmdpump.dll', cube: 'Adventure Works' } });
这是使用 WijmoJS OLAP 的应用程序与本地或远程数据之间的唯一区别。 包括构建,编辑,保存和恢复视图以及显示或导出结果所需的其他步骤在本地和远程数据场景中都是相同的。
以下各节总结了安装,创建和配置 SSAS OLAP 多维数据集所需的步骤:
第1步:安装 SSAS
有关如何安装 SQL Server Analysis Services 的详细信息,请参阅 MSDN 教程。
第2步:创建和配置 OLAP
有关如何创建,定义和部署 OLAP 多维立方体的详细信息,请参阅 MSDN 多维建模教程。
第3步:配置服务器
要启用对 SQL Server Analysis Services 的 HTTP 访问,请使用 MSMDPUMP.DLL ISAPI 扩展。 有关如何设置 MSMDPUMP.DLL 扩展的详细信息,请参阅 MSDN HTTP 访问教程。 对于用于测试目的的在线可访问的 OLAP 服务,请使用上面示例中列出的 URL(http://ssrs.componentone.com/OLAP/msmdpump.dll)。
如果要在跨域方案中使用多维数据集,则必须设置跨源资源共享(CORS)。
要允许跨域请求到 OLAP 服务,请启用服务器的 CORS 行为。 以下各节演示如何在 Internet 信息服务(IIS)服务器上启用 CORS。 跨域访问要求您配置 HTTP 响应头和 OPTIONS 方法服务器响应。
配置 HTTP 响应头
要配置 HTTP 响应头,请指定:
- 将执行数据请求的域。
- 数据将通过其传输的 HTTP 方法。
- 可以在请求中使用的 HTTP 标头。
- 如果使用经过身份验证的访问权限,那么将需要用户凭证。
配置 OPTIONS 方法服务器响应
要配置 OPTIONS 方法服务器响应,请指定服务器对 OPTIONS 方法请求的响应。 在 IIS 中,通过 OPTIONSVerbHandler 映射设置来配置 OPTIONS 方法的行为。
以下示例演示您必须应用的设置列表。
安全地访问数据
要实现对 OLAP 实例的安全访问,请使用以下任一方法:
- 使用在安全协议上与多维数据集进行通信的代理服务。 这个代理应该支持 XMLA 协议。 在微软的世界里,解决方案是使用 ADOMD.NET。 有关详细信息,请参阅此论坛主题。
- 即使因此用户名和密码将在客户端(浏览器)上可见,也可以使用请求标头发送凭证。 有关如何通过请求头传递凭证的详细信息,请参阅此 StackOverflow 讨论。 您可以直接在 transport.read 对象中定义所需的回调和设置,因为它们将传递给 $ .ajax 方法。
连接到 ComponentOne 的数据引擎服务。
Wijmo OLAP 提供了另一种选择,即连接到 ComponentOne 的数据引擎服务,这些服务提供高容量/高性能服务以及间接访问 SSAS OLAP 多维数据集。 ComponentOne DataEngine 服务分开记录。 有关更多详细信息,请参阅 ComponentOne DataEngine Services。
将 Microsoft SSAS 多维数据集连接到 WijmoJS OLAP
下图说明了您可以与 WijmoJS 的 PivotEngine 组件一起使用的三种 itemsSource 类型:
1 适用于小数据集,大约 50,000 件或更少。 这是最简单的选择,因为它不需要任何服务器端组件。
2 是访问 SSAS OLAP 多维数据集的最佳选择。 它不需要任何自定义的服务器端组件(除了SSAS OLAP 服务器),并且不需要您购买除 WijmoJS OLAP 之外的任何其他产品。
3 是最强大和最灵活的。 ComponentOne 数据引擎服务允许您使用您想要的任何数据创建您自己的定制服务器,并为巨大的数据集提供出色的性能。 如果需要,它还允许您使用 SSAS OLAP 多维数据集。 它确实要求您在服务器端编写一些代码,并购买 ComponentOne Studio Web API 版本,该版本包含在 ComponentOne Ultimate 捆绑包中,并且包含 WijmoJS。
WijmoJS OLAP 模块从哪里获取?
WijmoJS OLAP 是纯前端控件集 WijmoJS 2018 V1 版本包含的控件,下载试用最新版 WijmoJS 纯前端控件集,即可开始使用。
想要查看 WijmoJS 控件集 2018 V1 版本的其他新特性,请点击此处。
如果你的项目需要一款专注于企业应用的 .NET 全功能控件套包,支持 WinForm、WPF、UWP、ASP.NET MVC 等多个平台,帮助您在缩减成本的同时,提前交付丰富的桌面、Web 和移动企业应用,ComponentOne Enterprise 恰恰能满足您的一切需求点击这里,开启您的炫酷之旅!
如果你有疑问,可以到 GCDN (葡萄城技术社区)获得技术支持:
GCDN:http://gcdn.grapecity.com.cn/
官方网站:葡萄城官网