zoukankan      html  css  js  c++  java
  • Power BI数据集内存挑战—节省40%以上!

    是不是常常有企业在和一些大数据集的客户合作的时候,我们的BI伙伴经常会面临这么一个挑战:我们是否有比较有效的的方法减少和降低内存的消耗,同时仍然可以看到应有的指标。

    01接受挑战!

     事实上,我们已经采取过多种优化措施:减少基数,删除不需要的列,并确保所需的数据加载到数据集中等。但即使我们这样做了,我们的数据集大小仍在Azure Analysis Services中消耗90GB的内存,所以并没有太大起色。

    那还有没有更好的办法呢?下面跟大家分享一个技巧,我们可以通过以下步骤将数据集的大小缩减到37GB!

     

    02原始数据集大小

     如图所示,我们原来的PBIX原始大小为5.01MB。

    当运行这个数据集时,它消耗了大约20MB的内存。

    03使用十进制减少数据集大小

     我们通过阅读有关数据类型的文档时,可以将数据类型从“十进制数”更改为“固定十进制数”,这样可以节省数据集的大小。

    我们把数据类型变为固定小数,保留4位小数。

    我们确保如果将列中的值更改为仅保留小数点后4位,总数将保持不变。

    如下所示,将列SalesAmount_EUR的数据类型设置为“十进制数”。

    接下来,我们保留4位小数的值,如下所示。

    现在,当我们保存PBIX时,它从5.01MB变为4.18MB。

    这样可以节省大约16%,最初我们认为这也还不错。

    但是我们觉得应该还有办法能让数据集内存优化到更小,是什么呢?我们继续看下文。

    04使用整数使数据集真正小而有效

     有这么一个想法:如果现在可以将SalesAmount_EUR拆分到单独的列中怎么办?

    那意味着我们可以两列整数。不仅如此,十进制值的基数也会大大减少。

    我们立即开始尝试,并使用TSQL(你可以再次使用Power Query)将列拆为2列。但现在有个问题要解决的是:当我有一个负值时,要保证我的拆分列也为负!

    拆分数据后,要确保拆分列的数据类型都设置为“整数”。

    做到这一步,真心希望这可以满足我们的需求:大大节省数据集和内存大小。

    当我保存文件时,它已降至1.75MB。

    下面我们通过一个Power BI视觉文件,来测试对比看看我们到底可以节省了多少内存资源。

    如上所示,数据集的大小减少了65%。

    内存大小也从19MB减少到2.1MB。

    现在,我需要在DAX度量中添加一些其他逻辑以将这两列组合在一起以表示相同的值。

    我们也对此进行了测试,并且由于数据集的大小要小得多,因此结果是数据集的大小,数据的大小和列的层次结构的大小都变小,这意味着超快速的SSAS引擎可以更快地处理数据。

    这是我们如何一次将这些值重新组合在一起

    1

    2

    3

    Sales Amount EUR =

    SUM ( Data[SalesAmount_EUR] )

                +   ( DIVIDE ( SUM ( 'Data'[SalesAmount_EUR_Cents] ), 10000 ) )

    05结论

    正如我们所展示的,有时可以使用一些非常有创意的方法来减少数据集的大小,你们觉得呢?

    技术交流

    1.Power BI免费下载:http://www.yeacer.com/

        Microsoft Power BI Desktop中文最新版:下载地址

    2.欢迎加入的Power BI技术群,目前正在学习阶段,有兴趣的朋友可以一起学习讨论。 

       Power Data技术交流群:702966126 (验证注明:博客园Power BI) 

       更多精彩内容请关注微信公众号:悦策PowerBI          


    如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,作者博客:https://www.cnblogs.com/yeacer/ 
    Fancy
  • 相关阅读:
    How to install VXDIAG Honda, Toyota and JLR SDD software
    16% off MPPS V16 ECU tuning tool for EDC15 EDC16 EDC17
    Cummins INSITE locked and ask for verification code
    How to use BMW Multi Tool 7.3 to replace lost key for BMW X1
    Bleed Brake Master Cylinder with Intelligent Tester IT2
    Porsche Piwis Tester II “No VCI has been detected”,how to do?
    Creader VIII VS. Creader VII+
    How to solve GM MDI cannot complete the installation
    汽车OBD2诊断程序开发 (原文转载,思路很清晰!)
    汽车节温器单片机开发思路
  • 原文地址:https://www.cnblogs.com/yeacer/p/12090620.html
Copyright © 2011-2022 走看看