2013-01-24 66 views
0

我有一个有趣的表,我不能弄清楚如何获得第二最小值或像某些操作。下面是我的表的示例样式:如何在PowerPivot中获得第二个MIN值或交叉列MIN值?

Column1 Column2 Column3 
    A   A   0 
    A   C   11 
    A   D   7 
    B   X   11 
    B   B   0 
    A   E   5 
    B   Y   17 
    A   F   4 

我需要为Column3中的每个A或B(来自Column1)找到最小值。但是A = A(column1 = column2)或B = B行不应该包含在这个MIN计算中。但发现A的值应显示在行A = A或B的最小值应显示在B = B行上。

另外tryed此计算:

IF([列1] <> [列2],CALCULATE(MIN([栏3]),ALL(myTable的),为myTable [列2] = EARLIER(myTable的[列2 ])),0) - >为每一行从Column3返回相同的值。

IF([列1] = [列2],CALCULATE(MIN([栏3]),ALL(myTable的),为myTable [列2] = EARLIER(myTable的[列2])),0) - >返回对于每个A = A或B = B行,正确地为来自Column3的最小值。 A = A或B = B行包含数据,因为数值为0.如果将其更改为1,则此计算返回1。但我需要其他行最小值。

IF([列1] = [列2],CALCULATE(MAX([栏3]),ALL(myTable的),为myTable [column1的] = EARLIER(myTable的[column1的])),0) - >此计算工程就像MAX值的魅力一样。因为最高值总是在其他行中。

P.S:A = A或B = B行默认值在Column3中始终为0。

我卡在这一点= /谢谢。

回答

0

使用(在计算列):

=CALCULATE(MIN([Column3]),FILTER(myTable,myTable[Column1]=EARLIER(myTable[Column1])),myTable[bColumn]) 

其中myTable的[bColumn]是计算列

=myTable[Column1]<>myTable[Column2] 

如果要在一个度量而不是计算列,使用下式:

= CALCULATE(MIN([栏3]),FILTER(ALL(myTable的),COUNTROWS(FILTER(myTable的,为myTable [column1的] = EARLIER(myTable的[column1的])))),为myTable [bColumn])

HTH!

+0

对不起,我迟到的答案= /它像一个魅力。但是测量出错。可能的公式包含多个值类型。但2列的例子很好。谢谢。 – signon