文章

创建帕累托图表在权力BI.

58biwei
58biwei <在Power BI中创建一个帕累托图

“棒球是90%的心理,另一半是物理。”- Yogi Berra.

你只要喜欢Yogi Berra这样的名言就行了。我们几乎都知道他在说什么,即使他的数学并不准确。这是对帕累托原则80/20规则!它适用于生活或工作中的任何事情。如果我必须为技术文档编写它的定义,它会是这样的:

“归属于一组归属于一组的事件的八十个事件的情况是本集团成员的20%。”

重新说明:

  • 80%的人力资源问题是由20%的员工造成的。
  • 百分之八十的维护问题是由您的20%的设备引起的。
  • 百分之八十的销售额来自百分之二十的产品。
  • 百分之八十的财富由20%的人口控制。

(我当然不在最后那20%里。如果我是,我就不用写这样的文章了!)

现在我们已经了解了原理的理解,让我们看看它是如何可视化的。Excel有一个非常简单的向导,用于创建可以在“插入”菜单上找到的Pareto图表:

但我们希望其中一个在权力BI中。电力BI没有一个(但也许以后)。我们需要“滚动自己”。让我们讨论图表本身的各个部分,所以我们知道我们正在拍摄什么。

  • 底部的类别或系列(1、2、3等)代表我们试图分析的“群体”的不同成员。他们可能是员工,生产线上的机器,或我们目录中的产品。
  • 每个“会员”之上的蓝杆是其各自的测量(人力资源问题的计数,在维护,年度销售等上花费的金钱。该测量的规模位于左侧,在我们的情况下,从0到120。
  • 最终元素是弯曲线,右侧尺度从零到百分之一度测量。这在每个类别成员处代表,所有成员剩余的成员剩余的累积总和的百分比,包容性。要另一种方式,当我们将每个类别的数字添加到左侧的运行总数时,该行表示运行总数为类别的所有成员的整个总数。

箭头指向线上的位置,在它的情​​况下,在我们的情况下,在我们的情况之后,在前四个成员之后,可以通过从右到左后方的绿色虚线来看,然后下来。前四名成员将是帕累托原则的“20%”,他们的累计措施将是八十。

注意:数学向导可能指出,四个成员除以总成员数量的十五个成员更接近二十多个,但请记住这是一项经验法则,我们都知道一些拇指比其他拇指更大或更小。要在帕累托图表中绘制一些数据,我们需要一些信息:

  • 每个成员的各个总数
  • 总和
  • 每个成员的运行总数,从最大到最小的成员排序
  • 运行总数表示的百分比与盛大总数相比

现在我们了解我们拍摄的东西,让我们开始。如果您的数据包括每个成员的测量的运行和,则按各自的成员的测量排序,那么您是Golden的,可以跳到标题的部分添加总计和百分比。您的数据可以包括排名列,因此您可以能够跳过以下两个部分中的每一个中的各个步骤。在你们其余的地方,继续阅读。我们将查看有两种方法来获取中间数据位:功率查询(M)和DAX。

在功率查询中创建排名和运行总和

让我们从Excel中的一些简单数据开始,实际上用于生成我们用于解释概念的Excel Pareto图表的相同数据:

我们将加载此数据(它位于名为“table1”的Excel表中),并在Power BI查询编辑器中编辑它。首先,我们需要通过[Measure]列来对数据进行排序,排序下降。单击测量列标题旁边的下箭头,然后选择“排序降序”。

接下来,在“添加列”菜单上选择“索引列”。保持初始索引为1和增量为1的默认值。

我将我的专栏重命名为[Power Query Rank],以区别于我们稍后将通过DAX在模型中引入的排名步骤。

接下来,我们将使用如下公式添加总计作为一个自定义列:

提示:如果您无法从屏幕拍摄中读取公式,则是:

=表。范围(# "重命名列",0,[查询等级])

归因应转到SAM Vanga和SQL Server Central此位M代码

电源查询功能table.range.可以这样解释:给定一个数据表,在我们的例子中,我们的查询步骤的最后一步,也就是#“重命名列”,从0行(顶部)开始,然后沿着列[Power query Rank]中的值表示的行数向下。结果是表格与查询中的每一行相关联。查询的第一行是一个包含一行数据的表。第二行有一个包含两行的表,以此类推。这个表由我们刚刚添加的列的每一行上的单词“table”表示。

从这里,单击列标题中的“展开”箭头,然后选择“聚合单选”按钮,查看“测量总和”列,并取消选中“使用原始列名作为前缀”:

我重命名结果列[电源查询运行总计](未显示)。

单击“关闭”并在“主菜单上”。

在DAX中创建等级和运行总和

与所有Microsoft一样,有多种方式来实现目标。在我们的情况下,目标是获得运行总数,就像之前一样,我们将首先需要排名。对于此练习,我们将使用DAX而不是电源查询,但应该得到相同的结果。

创建一个柱子公式如下:

DAX RANK = RANKX(所有(表1),[测量])

接下来,创建DAX运行总数措施作为:

达克斯运行总=

计算(

总和(表1 [测量]),

筛选 (

Allselected(表1),

表1 [DAX秩] <= MAX(表1 [DAX秩])

此DAX公式与电源查询范围相同。唯一的函数上面,唯一的区别在于它包括内部的聚合,无需额外列。

注意:了解DAX中列与度量之间的差异。误认为这两个将导致错误,挫折和脱发。

在简单的表视觉上绘制所有这些列和度量,显示电力查询和DAX以相同的答案为等级和运行总数,一个很好的理智检查。此外,级别易于验证准确性,并且有一点精神数学,运行总数也是如此。我不得不重新格式化一些数字,以便在没有小数的情况下显示它们。

添加总计和运行百分比

我们需要有两件:[总计]这是不言自明的,[运行百分比],它是与[宏总数]'相比的[运行总计]的“百分比”。这些只能在DAX中完成。添加A.措施如下:

总计=计算(总和(表1 [测量]),所有(表1))

这计算了宏伟的总数,并在每个切片(每个成员的行)上提供它。

现在添加最后一个项目,a柱子用表达式:

跑步百分比= [功率查询运行总计] / [总计]

或者:

运行百分比=划分([Power查询总计],[总计])

注意:列[DAX运行总数]将工作得和它的功率查询等价,因为我们知道它有相同的数字。

最后一个用百分数表示。

创建图表

现在是有趣的部分。为此,我们需要“线条和堆叠的列图”或“行和群集列图”。这是整个练习中最容易的部分:

  • 共享轴是[Member]列(“1”、“2”、“3”等)。
  • 列值为[Measure]列
  • [Running Percent]列中的行值

就像我说的那样,如果你有你面前的所有数据件。

需要帮助获得正确的数据块?不确定可以从现有的数据块中生成什么图表?也许有办法到达你想去的地方。联系我们在BlumShapiro Consulting的数据科学家团队,了解更多关于数据必威电子如何帮助引导您的组织走向未来的信息。

继续与我们的团队进行对话
请与我们联系。

联系我们