2013-08-05 24 views
7

Utworzyłem tabelę przestawną mocy, jak pokazano na rysunku. Chcę obliczyć zmianę sprzedaży w kwartale na kwartał. Za co muszę podzielić na przykład korporacyjną rodzinę "Acer" sprzedaży w 2012Q4 przez sumę całej rodziny korporacyjnej. Używam do tego obliczonej miary, ale nie jestem pewien, jaką formułę mogę użyć.Obliczanie procentu całkowitej mocy w modelu z trzpieniem obrotowym

enter image description here

Moja potrzeba stworzyć dwie kolumny, jeden dla 2012Q4 procent wszystkich i jeden dla 2013Q1 procent ogółu. Potem stworzę kolejną miarę, aby znaleźć różnicę. Tak więc wzór na 2012Q4 powinien być taki: 1624442/(1624442+22449+1200+16123). Jakiś pomysł, która funkcja może mi w tym pomóc?

+11

To pytanie nie powinno być zamknięte jako temat wyłączony. To jest poprawne pytanie. Użytkownik korzysta z modelu PowerPivot i nie może po prostu zmienić swojej tabeli przestawnej, aby pokazać procent całkowitych. To wymaga dodania obliczeń DAX do modelu. Zawsze odpowiadamy na pytania DAX. – mmarie

+7

Głosowanie w celu ponownego otwarcia. Modele PowerPivot używają języka DAX. [DAX] (http://technet.microsoft.com/en-us/library/gg413422.aspx) jest pełnym językiem programowania. Nie pozwól, aby część Excela Cię zmyliła. To po prostu host-host dla tego języka. To nie jest odpowiedni kandydat na SU, ponieważ koncentruje się na HW/SW/Networking. SO jest dla * programowania *. Dodatkowo mamy cholerny tag dla DAX. Nie zamykaj tego, czego nie rozumiesz. – billinkc

Odpowiedz

1

Aby uzyskać wartości procentowe, należy postępować zgodnie z samouczkiem na temat Tech on the Net.

Dodanie kolejnej kolumny, w której obliczy się różnicę między dwiema kolumnami przestawnymi, nie będzie działać - ta kolumna jest "nieobejmowalna", ponieważ opiera się na definicji kolumny. Należy skopiować i wkleić wartości przestawne jako wartości do innego arkusza roboczego i wykonać dodatkowe obliczenia.

+0

Używam powerpivot zamiast prostej przestawnej. Sądzę, że mogę pisać miary w osiach mocy, które nie są możliwe w osi obrotu. Problem z przestawieniem polega na tym, że jeśli zmienię filtry, to moje% zmian ... które mogę przezwyciężyć w przestawieniu mocy ... Jedynym problemem jest to, że nie jestem w stanie uzyskać sumy prawidłowo ... – SAM244776

+2

Wygląda na to, że chcesz obliczyć procent łącznie za bieżący kwartał i poprzedni kwartał. Pomocne będą dwa blogi: http://blogs.msdn.com/b/analysisservices/archive/2010/04/12/time-intelligence-functions-in-dax.aspx. Spójrz na obliczenia [StoreSalesPrevYr]. Możesz zastąpić rok kwartałem. Aby uzyskać procent całości, zobacz http://www.madronasg.com/blog/favorite-quick-easy-dax-calculate-percent-total-scenario#.UgcNUG33Ngg. Zasadniczo użyj czegoś w rodzaju = Oblicz (suma ("Sprzedaż" [Jednostki]), WSZYSTKO ("Produkt" [Rodzina firm])). Będziesz mieć bieżące QTR% calc i Prev Qtr% calc. – mmarie

9

Wygląda na to, że mierzysz zmianę procentu łącznej wartości dla każdej rodziny korporacyjnej z kwartału na kwartał. Musisz utworzyć 3 obliczone miary. Nie jestem pewien, jak wygląda twój model, więc nie mogę podać dokładnej formuły, ale oto jest pomysł.

CurrentQtr%ofTotal:= Divide(Sum('Sales'[Units]),Calculate(Sum('Sales'[Units]), All['Product'[Corporate Family]))) 

PrevQtr%ofTotal:= DIVIDE(CALCULATE(Sum('Sales'[Units]), DATEADD(DimDate[DateKey], -1, QUARTER)), 
CALCULATE(Sum('Sales'[Units]), DATEADD(DimDate[DateKey], -1, QUARTER), All('Product'[Corporate Family])))) 

Change%ofTotal:= DIVIDE(([CurrentQtr%ofTotal]-[PrevQtr%ofTotal]),[PrevQtr%ofTotal]) 

Użyłem divide function, ponieważ obsługuje on dzielenie przez zero błędów. Używasz ALL function, aby usunąć filtr z kolumny Rodzina firm z kontekstu filtru. Zmiana% ofTotal służy tylko do znalezienia differenc. Obliczam% zmiany, ale możesz po prostu odjąć.

Oto the link na dobry blog na temat wywiadu czasowego. I here's jeden na obliczaniu procentu całości.