【问题标题】:Power Bi - Get the average of the last X rows from a tablePower Bi - 从表中获取最后 X 行的平均值
【发布时间】:2021-05-24 13:19:06
【问题描述】:

我目前正在学习自己,Power Bi。但是,当我尝试根据最后 X 行而不是过滤最后 X 日期来总结结果时,我陷入了困境。为了更好地理解这里是我创建的表:

table, th, td {
  border: 1px solid black;
}
Table name: Exampe<br><br>
<table><tbody><tr><th>Period</th><th>Value</th></tr><tr><td>2021 - W1</td><td>56.48%</td></tr><tr><td>2021 - W2</td><td>54.58%</td></tr><tr><td>2021 - W3</td><td>61.18%</td></tr><tr><td>2021 - W4</td><td>61.86%</td></tr><tr><td>2021 - W5</td><td>18.18%</td></tr><tr><td>2021 - W6</td><td>89.81%</td></tr><tr><td>2021 - W7</td><td>52.85%</td></tr><tr><td>2021 - W8</td><td>41.69%</td></tr><tr><td>2021 - W9</td><td>18.18%</td></tr><tr><td>2021 - W10</td><td>75.54%</td></tr><tr><td>2021 - W11</td><td>61.48%</td></tr><tr><td>2021 - W12</td><td>48.48%</td></tr></tbody></table>

我关注的结果应该是基于最后 6 行而不是整个列行的平均百分比。因此,我最终使用了“Measure”,因为我无法在 Power BI 中找到它的预构建功能。我的公式如下:

Measure = Calculate(Average(Exampe[Value],TOPN(6,Exampe,[Value],Desc)

但是,输出不正确。如果您能帮助我理解我做错了什么以及为什么公式给出了错误的输出,我将不胜感激。提前谢谢!

【问题讨论】:

    标签: powerbi powerquery calculated-columns measure


    【解决方案1】:

    假设您有以下表格,并且您希望获得最后 6 行的平均值,即 750

    为了达到最后6行的平均值,首先需要在查询编辑器中创建索引列,然后使用以下措施可以达到预期的输出750

    Measure = CALCULATE(AVERAGE(Sheet1[Value]),
                FILTER(ALL(Sheet1),Sheet1[Index] <= MAX(Sheet1[Index])
                     && Sheet1[Index] >MAX(Sheet1[Index]) -6))
    

    这是 Power Bi 中的表格在索引 col 下的样子,如果有帮助,请接受 :)

    【讨论】:

    • 哦,我明白了。但是,我还有一个问题。如果我们假设将来该表将包含更多值,那么电源查询编辑器是否能够自动填充新行,或者我必须再次重新运行它?非常感谢您提供的解决方案。我真的很感激!
    • 在查询编辑器中添加索引列功能总是会自动增加索引计数,最重要的是它可以保持数据的顺序。因此,每次刷新 BI 桌面时,它都应该提供正确的结果。做一些测试,看看,如果有问题,然后看看如何解决它。欢迎,乔治。
    猜你喜欢
    • 1970-01-01
    • 2019-03-08
    • 2020-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多