设为首页 收藏本站
查看: 922|回复: 0

[经验分享] 一种在PowerPivot客户端中把SharePoint的PowerPivot作为数据源的方法!

[复制链接]

尚未签到

发表于 2015-9-27 10:52:04 | 显示全部楼层 |阅读模式
      由于PowerPivot的数据是内嵌在EXCEL文件中,这种方式好处就是可以作为离线数据分析(即使源数据不可用,不能进行同步更新,但还是可以使用已导入的PowerPivot数据),但是也存在一些劣势,如会造成大容量的Excel文件,一般PowerPivot的Excel文件容量200M以上,而如果仅仅作为报表展示的Excel通常文件容量在5M左右,并且难以适应以下应用场景:
      1.需要避免重复数据。比如在开发多个工作簿的时候,需要生成不同的报表视图,需要使用相同的数据,但实际上可能并不想复制相同的数据在所有的工作簿,这样会导致在服务器中占用更多的内存,需要安排更多的计划任务去刷新数据,这将导致增加工作量(比如修改了度量值,则需要在多个工作簿中进行替换更新等)。
      2.需要锁定数据。比如对于一些度量值是非常敏感的,只能特定的用户组才能使用,即数据权限的问题,可以在Sharepoint锁定权限,并按需分配给不同级别的数据。
      3.避免打开工作簿刷新性能问题。如果在PowerPivot中更新了数据,但如果不在Excel中刷新数据,则在Excel的数据或图表并不会发生任何变化,需要强制刷新才可以。
      这些都会导致低效率的,在许多场合将会变得很慢,那么有没有一种只在Excel展现数据或图表并不包含PowerPivot数据的方式?答案是肯定的,本文提供一种瘦工作簿的方式,把SharePoint中PowerPivot数据作为Excel的数据源(非以内嵌的方式,而是作为核心工作簿,可以基于该核心工作簿,开发不同的视图报表),可以较好地满足以上三个应用场景,具体操作步骤如下:
      一、下载SharePoint的PowerPivot工作簿到本地上,例如PowerPivot Healthcare Audit.xlsx,如下图:         DSC0000.jpg
    PowerPivot Healthcare Audit.xlsx文件的容量大小为4.8M左右,如下图:
DSC0001.jpg
  
  打开此工作簿的连接属性,可以看到Data Source=$Embedded$,即为内嵌数据源,如下图:
      DSC0002.jpg
     二、把此工作簿的连接属性的Data Source=$Embedded$改为Data Source=http://portal.contoso.uat/sites/cockpit/PowerPivot/PowerPivot Healthcare Audit.xlsx,如下图:
DSC0003.jpg
  按确定后,则会刷新OLAP数据,数据源从SharePoint中PowerPivot数据刷新,如下图,
      DSC0004.jpg
  完成后,另存为PowerPivot Healthcare Audit Test.xlsx,注意两个文件的大小是一样的(PowerPivot数据依然是嵌入到Excel文件中的),如下图:
      DSC0005.jpg
       三、用压缩软件打开PowerPivot Healthcare Audit Test.xlsx,去除内嵌的PowerPivot数据,用记事本打开xl\customData目录下的item1.data,清除此文件的所有数据并保存到压缩软件中,如下图:
      DSC0006.jpg
  完成后,PowerPivot Healthcare Audit Test.xlsx将不包含PowerPivot数据,仅仅是Excel数据,文件容量将大大减少了,如下图:
   DSC0007.jpg
   DSC0008.jpg
  通过以上步骤,已完成了“瘦工作簿”,下面来验证一下是否设置成功,再次打开PowerPivot Healthcare Audit Test.xlsx,查看连接属性的数据源是否为SharePoint的PowerPivot的工作簿,如下图:
      DSC0009.jpg
    可以看到数据源已设置成功,进行相应的切片并保存工作簿,看看文件容量是否会改变,如下图:
      DSC00010.jpg
DSC00011.jpg
  完成操作后,保存后结果,如下图:
      DSC00012.jpg
   从以上可以看到文件容量发生了变化,比之前少了3K,再次打开此文件,看看是否存在PowerPivot数据,如下图:
      DSC00013.jpg
DSC00014.jpg
    从以上可以看到PowerPivot中不存在任何数据,即数据刷新是通过SharePoint的PowerPivot工作簿的。只需要在SharePoint的PowerPivot工作簿配置计划刷新任务,即可自动同步数据到SharePoint的PowerPivot工作簿,如下图:
   DSC00015.jpg
    通过与SharePoint的集成,就可以实现轻量级的PowerPivot工作簿,特别是可以统一数据源(建立“核心”工作簿),缩减文件容量,提高性能等都具有很大优势。
  
本博客为软件人生原创,欢迎转载,转载请标明出处:http://www.cnblogs.com/nbpowerboy/archive/2013/04/29/3050943.html。演绎或用于商业目的,但是必须保留本文的署名软件人生(包含链接)。如您有任何疑问或者授权方面的协商,请给我留言。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-119400-1-1.html 上篇帖子: 在SharePoint Server 2010中更改“我的网站” 下篇帖子: SharePoint Web Service系列:获取文档的属性信息
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表