如何将多个度量添加到数据透视表中?

时间:2018-04-04 16:49:11

标签: excel pivot-table powerpivot

我对使用数据透视表和数据模型都很陌生,所以我甚至都不知道我想做什么是可能的。我有一个数据透视表(PivotTable1)及其来源(表25),我想在TableCombinations中添加一百个左右的度量。

enter image description here

例如,我输入了橙色的两个第一个度量,但是它们没有链接到TableCombination并且逐个输入它们将会很长。每个度量用于一个不同的Sum wf n 列,它将所有其他行与系数相乘。 TableCombinations表简单地说明了每列使用的系数。对于前三行,这些是我的度量公式:

sum wf1=1.4*Table25[Sum of wD]+0*Table25[Sum of wL]+0*Table25[Sum of wS]+0*Table25[Sum of wW]+0*Table25[Sum of wWSOUL]
sum wf2=1.25*Table25[Sum of wD]+1.5*Table25[Sum of wL]+1*Table25[Sum of wS]+0*Table25[Sum of wW]+0*Table25[Sum of wWSOUL]
sum wf3=1.25*Table25[Sum of wD]+1.5*Table25[Sum of wL]+0*Table25[Sum of wS]+0.4*Table25[Sum of wW]+0*Table25[Sum of wWSOUL]
...

两个问题:

  1. 有没有办法链接表格,以便在数据透视表格测量中更新对TableCombination的任何更改?
  2. 有没有办法在不逐一输入的情况下生成所有措施。

2 个答案:

答案 0 :(得分:1)

使用CROSSJOIN函数,您应该只能使用一个DAX度量来执行此操作。

不要在表之间建立关系,并将#拖到数据透视表的Columns区域。然后创建此度量:

= SUMX(CROSSJOIN(表1,表2),表1 [WD] *表2 [WD] +表1 [器wL] *表2 [器wL] +表1 [WS] *表2 [WS] +表1 [WW] *表2 [ WW] +表1 [wWSOUL] *表2 [wWSOUL])

这应该能为您提供所需的确切答案。

以下是使用一些示例数据的样子:

enter image description here

...以及我使用的示例数据:

enter image description here

答案 1 :(得分:0)

您当然可以使用VBA添加度量,并在表更改时更新它们。我很快就会在这个方法上写一个答案。但这是达到你想要的另一种方式。

我之前已经编写了一些代码来将Table从一个表转移到数据透视表,因此数据透视表的维度或位置的任何更改都将反映在阴影表的维度和位置中。这有效地为我们提供了一种方法来将计算字段添加到数据透视表,该数据透视表可以引用该数据透视表之外的内容。如果数据透视表增长,则计算表将增长。如果数据透视表收缩,则计算表将缩小,其中的任何冗余公式都将被删除。

您可以轻松地使用此方法在数据透视表旁边的第二个表中执行计算,并且第二个表中的每个列x可以轻松地引用您的参数中的第x行'表

请参阅Select Newest Record and Create New Table of Unique Values in Excel