2016-03-24 6 views
0

Ich versuche im Wesentlichen, eine neue Spalte zu erstellen, die eine Stadt gegeben MAX-Dollar in einer Stadt für ein bestimmtes Programm ausgegeben hat, und dass der CITY-Wert nicht ist "SCHLECHT". Daten Beispiel unterPOWERPIVOT - Max-Wert für eine neue Spalte aus vorhandenen Spalten nachschlagen

PROGRAM | CITY | DOLLARS SPENT | NEW COLUMN 

    1 | X |  $20  |  ? 
    1 | Z |  $30  |  ? 
    1 | Y |  $40  |  ? 
    1 | BAD |  $50  |  ? 
    2 | X |  $30  |  ? 
    2 | BAD |  $50  |  ? 

Also, wenn Stadt = „BAD“, mag ich die neue Spalte die Max-Stadt von Dollar in der neuen Spalte Verbrauchte zurückzukehren.

Idealerweise würde der Ausgang wie folgt aussehen.

PROGRAM | CITY | DOLLARS SPENT | NEW COLUMN 

    1 | X |  $20  |  X 
    1 | Z |  $30  |  Z 
    1 | Y |  $40  |  Y 
    1 | BAD |  $50  |  Y 
    2 | X |  $30  |  X 
    2 | BAD |  $50  |  X 

u/tiger gab eine gute einfache Excel-Antwort. Immer noch auf der Suche nach einer Lösung, die komplett im Powerpivot möglich ist! Hoffentlich macht das alles Sinn. Vielen Dank!

+0

Sollte der Ausgang nicht '{Y , Y, Y, Y, X, X} weil Stadt Y die Max-Dollars (40 $) für Programm 1 ohne 'BAD' ausgegeben hat und Stadt X die Maxdollars (30 $) für Programm 2 ohne' BAD' ausgegeben hat? Warum sind Ihre Ergebnisse {X, Z, Y, Y, X, X}? – tigeravatar

+0

Nein, ich möchte nur die Stadt ändern, in der City = "BAD" ist. Wo die Stadt früher "SCHLECHT" war, möchte ich, dass sie die größte Stadt zurückbringt, die nicht "SCHLECHT" war. –

+0

Also ... Wenn City <> "Bad" dann die größte Stadt der Stadt? Sie möchten nicht, dass die größte Stadt für alle zurückkommt? Gibt es einen bestimmten Grund warum nicht? – tigeravatar

Antwort

0

Hier ist eine Formel, die, wie Sie beschrieben haben, basierend auf den bereitgestellten Beispieldaten funktioniert. In der Zelle D2 und kopiert nach unten:

=IF(B2="BAD",INDEX($B$2:$B$7,MATCH(1,INDEX(($A$2:$A$7=A2)*($B$2:$B$7<>"BAD")*($C$2:$C$7=MAX(INDEX(($B$2:$B$7<>"BAD")*($A$2:$A$7=A2)*$C$2:$C$7,))),),0)),B2) 

Es wird wie so Ergebnisse liefern:

enter image description here

+0

Ich hätte das im Titel hinzufügen sollen. Aber wissen Sie, wie man das in Poiwerpivot macht? Keine Indexfunktion dort –

+0

Leider, ich nicht :( – tigeravatar

+0

Ich war in der Lage, Ihre Methode zu verwenden. Jedoch muss ich aufgrund von Automatisierungseinschränkungen alles in Powerpivot-Formeln enthalten, da dort die Daten enthalten sind. Entfernen der Daten aus Die Powerpivot-Tabellen machen es statisch, was für häufige Updates gefährlich ist.Ihre Methode ist eine große kurzfristige Lösung, aber löst nicht vollständig die Probleme zur Hand. Nochmals vielen Dank für Ihre Antwort, /tigeravatar! –

0

Versuchen Sie, diese berechnete Spalte:

=IF(
    YourTable[City]="BAD", 
    CALCULATE(
    VALUES(YourTable[City]), 
    TOPN(
     1, 
     FILTER(
     ALL(YourTable), 
     YourTable[City]<>"BAD" 
     && YourTable[Program]=EARLIER(YourTable[Program]) 
    ), 
     YourTable[Dollars Spent] 
    ) 
), 
    YourTable[City] 
) 
+0

Ich bekomme einen Fehler Mit dieser Formel, weil die Kennzahl direkt auf die Spalte YourTable [City] verweist, ohne dass eine Aggregation für diese Spalte durchgeführt wird. Ist die TOPN falsch platziert? –

+0

@JamesM. Haben Sie dies als Maß für eine berechnete Spalte verwendet? Probieren Sie eine berechnete Spalte aus – GregGalloway

+0

Nein, ich hatte es als Formel direkt in der berechneten Spalte verwendet. –