Excel Add-In for Olap Cubes/Analysis Services & PowerPivot

几个月前偶然发现一个用于SSAS OLAP数据分析的Excel插件SmartPivot,都是非常实用的功能,如果你的BI解决方案是采用SSAS,那么请看看这个东西,一定会对你有很多启发,如果你的BI Report客户端采用的是Excel,那么这简直就是居家必备的绝配工具,最近几个月我用零碎的时间模仿并改进了部分基础功能,并根据具体项目定制扩展了更加人性化的功能,没什么技术难点,主要是针对现有的项目做的定制功能就不方便公开了,这里只介绍通用的基础功能,看官阅后若觉得有用就留下邮箱,我发安装包给你。

下面是SmartPivot的官方介绍,可以下载试用版

http://www.devscope.net/products/SmartPivot

下面介绍下我的XPivot当前版本已实现的通用功能,也欢迎提出改进意见。

1. Logon跨域鉴权,这个主要解决了客户端和服务端不在同一个域环境内,又希望不同的客户端用户具备不同的维度访问权限,就在插件里实现了跨域鉴权,具体就不详述了,请翻看之前的博客,当时的版本和现在没有太大差异

2. Source Config配置数据源,  配置的多个数据源以竖线分割,第一条配置项【Cube】具备唯一性,后面的几条配置项大家都认识,需要说明的是【Integrated Security】,如果配置其等于SSPI,则不会提示你登陆,将默认使用当前windows用户身份访问Cube或DW,如果Cube或DW任何一方没有【Integrated Security】配置项,都会弹出登陆框要求输入身份密码,如果Cube和DW的【Integrated Security】都没有配置,就会使用同样的录入身份登录Cube和DW,服务端需要分别为Cube和DW配置同样的登陆身份和密码

3. New PivotTable,这个没什么特别的,类似于【Data】菜单里的【Existing Connections],只不过简化了操作步骤,是直接在当前单元格插入一个PivotTable,另外,如果是新开的Workbook还没有【Existing Connections]的话,就会按当前选中的数据源以及登陆的身份新建PivotTable

4. New Table,这个类似于上一条功能,是在当前单元格插入QueryTable,不过会先弹出窗口让你录入SQL,唯一有些特别的是你可以在SQL脚本里用注释/**/配置传参,脚本举例说明:

select top /*A1*/100/*A1*/ * from DimDate

如果当前QueryTable所在Sheet的A1单元格为空,则默认取出top 100的记录,当你修改了A1单元格的内容,就会触发并修改这个QueryTable的脚本,并提示你是否马上刷新,比起Excel QueryTable默认的传参方式灵活多了。顺便吐槽下Excel QueryTable的数据源如果是From SQL Server的话是不支持传参的,如果是From Microsoft Query的话虽然支持传参,但对执行的脚本会有诸多限制。

5. Toggle Fields,收缩折叠PivotTable Field List,如下图所示,这个功能兼容Excel2010和2013,因为Excel2013本身有类似功能,所以此处仅在Excel2010版本上有意义

6. Copy Address,复制所选单元格Range地址(可以是连续或不连续的多个单元格)到剪切板,用于往固定的报表模板上粘贴数据引用地址,以实现PivotTable或QueryTable刷新后自动同步Raw Data到固定的模板Sheet。

7. Filter自动过滤器,如下左图所示,如果需要进行维度多选,且选项数量有限的情况下还尚可手动操作,而如果选项过多,就可以使用这个功能,如下右图所示,定位当前单元格在某个PivotTable的Filter上,然后点击菜单里的Filter按钮,弹出窗口罗列出当前已选的选项,在编辑框里录入所有要选取的选项后确认,即可自动完成筛选工作。

8. Synchronize Filters同步过滤器,类似于Slicer切片器的功能,但切片器有其功能上的局限性,不如这种方式灵活。

如下所示三个PivotTable分别筛选不同的Country,修改A和C的Filter Name为Country AC,修改B的Filter Name为Country B

然后点击菜单里的【Synchronize Filters】,会为你创建一个用于设置全局过滤器的PivotTable,在其中添加一个Country Filter并修改Filter Name为Country AC

再次点击菜单里的【Synchronize Filters】完成同步后的结果如下图

9. Drill Down,当一个PivotTable的行和列上被各种维度占据后,如果还想继续下钻到一个新的维度,不但视觉上会感到杂乱,而且下钻的性能也会受到影响,如下左图所示定位当前单元格到B7,然后点击【Drill Down】会为你新建一个PivotTable如下右图,把所有行列上的维度都迁移到Filter区域,接着你就可以把你想观察的其它维度放在行列区域,服务端的计算量大为减少,所以前端的数据加载效率将会提高不少

时间: 2025-01-04 11:53:48

Excel Add-In for Olap Cubes/Analysis Services & PowerPivot的相关文章

Analysis Services OLAP 概述2

在DW/BI系统中,关系型数据库是存储和管理数据的最佳场所.但是关系数据库本身的智能化程度不够.关系型数据库缺乏如下功能: 丰富的元数据,帮助用户浏览数据和创建查询. 强大的分析计算和函数,在对上下文敏感的查询语句中定义. 各种即席查询中的杰出,一致的查询性能.   在Microsoft平台上,首选的体系结构是使用SSAS作为主要的展示数据库,在关系数据仓库上定义Analsis Services数据库时,就在创建这个丰富的元数据层,同时,还可以创建一个物理存储层,以包含聚合和索引,获得杰出的查询

SharePoint 2013中PerformancePoint仪表板设计器连接Analysis Services 2012的问题

在SharePoint 2013的PerformancePoint仪表板设计器在创建链接到AnalysisServices 2012的数据链接的时候,数据库列表无法获取服务器上的数据库.这个问题挺让人困惑的.FQ查询,发现有老外对问题作了分析,还提出了解决办法. “Why can’t SharePoint Dashboard Designer 2013 connect to SQL Analysis Services 2012?”里面找到是ADOMD的版本过新导致的问题,并给出了老版版的ADOM

SQL Analysis Services MDX 查询超时 解决办法

当页面有很多MDX语句查询的时候,会发生超时的情况. 解决办法: SQL Analysis Services所在的服务器(OLAP的文件夹下) 找到: msmdpump.ini 将: <ConfigurationSettings> <ServerName>localhost</ServerName> <SessionTimeout>3600</SessionTimeout> <ConnectionPoolSize>100</Co

对数据集“dsArea”执行查询失败。 (rsErrorExecutingCommand),Query execution failed for dataset &#39;dsArea&#39;. (rsErrorExecutingCommand),Manually process the TFS data warehouse and analysis services cube

错误提示: 处理报表时出错. (rsProcessingAborted)对数据集“dsArea”执行查询失败. (rsErrorExecutingCommand)Team System 多维数据集或者不存在,或者未经处理. 解决方法: Manually process the TFS data warehouse and analysis services cube When you need the freshest data in your reports, when errors have

Analysis Services PowerShell

使用powershell 处理 Analysis Services 对象 加载Analysis Services 提供程序和Cmdlet 在powershell 中运行 Import-Module “SQLPS”,如果不想显示黄色的警告信息则运行 Import-Module “SQLPS” -disablenamechecking    注意红色框框运行这个已经进入sql server 的Module   可以通过命令查询到Analysis Services里面的常用对象,具体的这个Module

【技术文档】使用ADOMD.NET建立与Analysis Services的连接

C#操作Analysis Services,AMO是Analysis Services的管理类的完整集合,可在托管环境中,在Microsoft.AnalysisServices命名空间下以编程方式使用. 这些类包含在 AnalysisServices.dll文件中,该文件通常位于SQL Server安装目录下的\100\SDK\Assemblies\文件夹中.使用AMO可以创建.修改和删除对象,如多维数据集.维度.挖掘结构以及Analysis Services数据库. 但需要注意的是:无法通过

《SQL Server 2012 Tutorials - Analysis Services Multidimensional Modeling》读后感

花了一些时间完整的看了一遍,感觉这就是一本精简版的工具书,有很多Demo可以照着完整做一遍,基本上涉及到了AS的所有功能,可以对AS有个整体性的了解,关于最后的一章--Defining Administrative Roles--没有实际完成的操作,限于知识有限,后查找园子里的大神们,发现邀月工作室有两篇关于这方面的文章介绍,没有仔细,先Mark下,回头仔细看, <Expert Cube Development with Microsoft SQL Server 2008 Analysis Se

多维建模 在 Analysis Services 项目中定义数据源视图(一)

我本机安装的mssql2012,在下图中我们看到SQL Server Data Tools(SSDT),制作SSRS报表.SSIS项目.及SSAS项目都可以在DataTools应用程序中操作.       新建项目后,已安装模板中有一个商业智能=>Analysis Services, 选择第一个Analysis Services多维和数据挖掘项目后,点击确定. 下面是一个新建的Analysis Services项目示例, 现在我们来创建数据源视图, 1.定义连接可以点击新建按钮 2.使用服务账户

SQL Server Analysis Services 数据挖掘

假如你有一个购物类的网站,那么你如何给你的客户来推荐产品呢?这个功能在很多 电商类网站都有,那么,通过SQL Server Analysis Services的数据挖掘功能,你也可以轻松的来构建类似的功能. 将分为三个部分来演示如何实现这个功能. 构建挖掘模型 为挖掘模型编写服务接口 开发简单的前端应用 此篇介绍如何使用SQL Server Analysis Services基于此问题来构建简单的挖掘模型. 关于数据挖掘,简单的就是说从海量数据中发现信息的一个过程.如果说商业智能分为三个层次:告