Power Bi中的小组成员

时间:2019-11-20 13:21:28

标签: powerbi ssas dimensions

请考虑以下表格:

 Year        Amount
 -------------------
 2010        10000
 2011        12300
 2012        14000
 2013        13000
 2014        22000
 2015        10000

我想像这样在Power BI中创建一个表:

 Year        Amount
 -------------------
 2010        10000
 2011        12300
 2012        14000
 2013        13000
 2014        22000
 2015        10000
 Last2Years  32000

我有两个问题:

1)如何将两个成员分组并将其放置在原始尺寸?

2)过去两年每小组动态吗?例如,如果将2016添加到维度,则我的组为2015+2016

谢谢

1 个答案:

答案 0 :(得分:1)

在DAX中,没有任何方法可以将行添加到现有表中,您必须使用联合将表复制为包含度量的行。

一种获取最近两年金额的方法:

AmountLastTwo = SUMx(TOPN(2;'Table';'Table'[Year]);[Amount])

TOPN(2..将确保该度量始终包含最近两年。

然后,您可以使用UNION在原始表和包含该度量的行之间创建一个新表:

UnionTable = UNION('Table'; ROW("Year";"LastTwoYears";"Amount";[AmountLastTwo]))

Year            Amount
2010            10000
2011            12300
2012            14000
2013            13000
2014            22000
2015            10000
LastTwoYears    32000

您可以通过此按钮添加表格,然后从上方粘贴代码:

enter image description here

另一个选择是在Power Query中执行此操作。

  1. 复制您的表并将其命名为SUM_LAST_TWO
  2. 按年份排序,然后选择保留前几行(使用UI)
  3. 金额总计(使用用户界面)
  4. 创建一个空查询(新资源>空查询)并将其添加到公式字段:= #table({"Year", "Amount"}, {{"Last2Years",#"SUM_LAST_TWO"}})。这将创建一个单行表,其中包含过去两年的总和。
  5. 在原始表中,附加刚创建的单行表(使用UI)

但是,如果您的表中确实没有多余的行(这会破坏数据类型),我建议仅使用度量AmountLastTwo