Excel Forum - Porady, Pomoc,  Excel Help, Excel FAQ Strona Główna
 FAQ  RegulaminRegulamin  Szukaj   Użytkownicy   Grupy   Rejestracja   Profil   Twoje wiadomości   Zaloguj 


Poprzedni temat «» Następny temat
Przesunięty przez: cbr
23-06-2016, 15:08
Pole, elementy i zestawy
Autor Wiadomość
Sultan1453 
Fan Excela


Posty: 98
Wysłany: 23-06-2016, 14:23   Pole, elementy i zestawy

Witam,

mam problem. Mianowicie nie mogę stworzyć pole obliczeniowe które będzie odejmować różne miesiące. Chodzi o to, że dane wsadowe są narastająco, i żeby wyliczyć np. cenę na jednostkę muszę od narastającej sprzedaży za luty odjąć styczeń i podzielić to na różnicę między narastającą ilością za luty i styczeń. Format nie może być zmieniony.

Jeszcze najważniejsze: jeśli uda się to zrobić to w samym pivocie nie będzie pokazywane sprzedaż i ilość, mają zostać same ceny per miesiąc.

Byłbym bardzo wdzięczny za pomoc.

Pozdrawiam,
M.

przyklad1.xlsx
Pobierz Plik ściągnięto 36 raz(y) 39.94 KB

ID posta: 296493 Skopiuj do schowka
 
 
Cezary Czajka 
ExcelSpec


Pomógł: 89 razy
Posty: 443
Wysłany: 24-06-2016, 09:53   

Moja propozycja w załączniku. Zdaję sobie sprawę, że rozwiązanie nie jest doskonałe, niestety dla kolejnych miesięcy należy utworzyć nowe elementy obliczeniowe :-(

przyklad1.xlsx
Pobierz Plik ściągnięto 45 raz(y) 55.87 KB

_________________
W sumie - jest git
ID posta: 296520 Skopiuj do schowka
 
 
Sultan1453 
Fan Excela


Posty: 98
Wysłany: 24-06-2016, 11:59   

Cześć, dzięki za odpowiedź, już bliżej do sukcesu. Czy mógłbyś napisać jak to się robi? Dokładnie? Bo wiem, że wszedłeś na pole, elementy i zestawy, później wybrałeś element obliczeniowy. Ale kiedy klikam na elemencie obliczeniowym i wybieram miesiąc, wstawiając np. 2-1 to mi blad wyskakuje :/

Edit: Zefirek
Proszę nie cytować całego posta bezpośrednio pod nim, wiadomo że do niego się odnosisz.
ID posta: 296528 Skopiuj do schowka
 
 
Cezary Czajka 
ExcelSpec


Pomógł: 89 razy
Posty: 443
Wysłany: 24-06-2016, 12:36   

Przenieś MTH do etykiet wierszy. Ustaw tam kursor i wtedy wybierz wstawianie elementu obliczeniowego (2-1)
_________________
W sumie - jest git
ID posta: 296531 Skopiuj do schowka
 
 
szbill62
Excel Expert


Pomógł: 635 razy
Posty: 2751
Wysłany: 24-06-2016, 14:18   

Sultan1453, ja (chyba z lenistwa) uzyłbym Power Query. Nie musiałbyś się wtedy martwić dodawaniem pól obliczeniowych dla kolejnych miesięcy.
Przykład w pliku. Nie wyrzucałem wyniku zapytania do arkusza tylko od razu dałem je jako źródło dla TP.
Wystarczy odświeżać TP w kolejnych miesiącach. Oczywiście układ TP może być inny - to zależy od gustu :mrgreen:

Pozdrawiam

przyklad1_PQ.xlsx
Pobierz Plik ściągnięto 38 raz(y) 56.72 KB

_________________
Szkolenia z Power Query!!!
ID posta: 296548 Skopiuj do schowka
 
 
Cezary Czajka 
ExcelSpec


Pomógł: 89 razy
Posty: 443
Wysłany: 24-06-2016, 14:46   

Leniwy Kolega Zbyszek, aż miło popatrzeć :-D
Poproszę o składnię tej cudownej funkcji
_________________
W sumie - jest git
ID posta: 296551 Skopiuj do schowka
 
 
Sultan1453 
Fan Excela


Posty: 98
Wysłany: 24-06-2016, 16:04   

szbill62 napisał/a:
Sultan1453, ja (chyba z lenistwa) uzyłbym Power Query. Nie musiałbyś się wtedy martwić dodawaniem pól obliczeniowych dla kolejnych miesięcy.
Przykład w pliku. Nie wyrzucałem wyniku zapytania do arkusza tylko od razu dałem je jako źródło dla TP.
Wystarczy odświeżać TP w kolejnych miesiącach. Oczywiście układ TP może być inny - to zależy od gustu :mrgreen:

Pozdrawiam


No właśnie, ja też poproszę ::)
ID posta: 296563 Skopiuj do schowka
 
 
Sultan1453 
Fan Excela


Posty: 98
Wysłany: 27-06-2016, 08:21   

Cezary Czajka napisał/a:
Leniwy Kolega Zbyszek, aż miło popatrzeć :-D
Poproszę o składnię tej cudownej funkcji


Czy kolega będzie uprzejmy napisać rozwiązanie z power query? ::)
ID posta: 296674 Skopiuj do schowka
 
 
szbill62
Excel Expert


Pomógł: 635 razy
Posty: 2751
Wysłany: 27-06-2016, 11:54   

Sultan1453, ale to jest rozwiązanie z Power Query. Żeby zobaczyć zapytanie musisz przejść w menu do zakładki "Power Query" i wybrać "Pokaż okienko". Pojawi Ci sie boczne okienko "Zapytania dotyczące skoroszytów" a w nim będzie zapytanie o nazwie "Tabela1" (tylko połączenie). Klikasz na nie prawym przyciskiem myszy i wybierasz "Edytuj". Otworzy sie okienko Power Query. Po prawej stronie zobaczysz wszystkie kroki zapytania. Jeśli chcesz zobaczyc cały kod kliknij w menu na "Edytor zaawansowany".
W excelu nie widać wyniku zapytania bo nie jest on (wynik) wyrzucony do arkusza. Tabela przestawna bazuje bezpośrednio na zapytaniu jako na źródłe danych ("Narzędzia tabel przestawnych" -> "Opcje" -> "Zmień źródło danych" - zobaczysz że TP bazuje na danych zewnętrznych, bo tak traktowane jest połączenie TP bezpośrednio z wynikiem zapytania nie wyrzuconego do arkusza)

Pozdrawiam
_________________
Szkolenia z Power Query!!!
ID posta: 296688 Skopiuj do schowka
 
 
Sultan1453 
Fan Excela


Posty: 98
Wysłany: 29-06-2016, 11:21   

Cześć,

spróbowałem zrobić na swoim zbiorze danych jakoś mi nie wychodzi.

Czy mógłbyś zrobić to samo na tym zbiorze który jest maxymalnie zbliżony do rzeczywistego.

znów chcę dodać taki element obliczeniowy, który mi policzy cenę na jednostkę w danych okresie. Bo dane są kumulatywne.

Byłbym bardzo wdzięczny

Pozdrawiam,
M.

przyklad_PQ.xlsx
Pobierz Plik ściągnięto 20 raz(y) 19.95 KB

ID posta: 296864 Skopiuj do schowka
 
 
szbill62
Excel Expert


Pomógł: 635 razy
Posty: 2751
Wysłany: 30-06-2016, 01:24   

Sultan1453, ok...mogę to zrobić ale najpierw podaj jakie maja być wyniki dla zaprezentowanego przykładu (tego ostatniego) bo nie chce zgadywać. Tak na oko w tej chwili wyszłyby jakies trochę "bzdurne", stąd moje pytanie - wolałbym zrozumieć właściwie zagadnienie.

Pozdrawiam
_________________
Szkolenia z Power Query!!!
ID posta: 296955 Skopiuj do schowka
 
 
Sultan1453 
Fan Excela


Posty: 98
Wysłany: 30-06-2016, 15:42   

Ok, chodzi o to, że: Dane które są dla każdego miesiąca są narastające. Czyli mamy dane za styczeń, później dane za luty w którym są również dane (sprzedaż, ilość itd.) za styczeń, dane za marzec (styczeń+luty+marzec) itd.

Teraz chodzi o to, żeby w takim układzie zaprezentować dane dla sprzedaży (tylko i wyłącznie dla sprzedaży) za oddzielny miesiąc. Dlatego trzeba odjąć od lutego styczeń, żeby został tylko luty. Dzięki temu będę miał cenę sprzedaży za konkretny miesiąc a nie średni za cały okres.

Dlatego potrzebuję od narastającej sprzedaży za luty odjąć sprzedaż za styczeń i podzielić to na różnicę narastającej sprzedaży między lutym styczniem. Pozostałe dane mają zostać tak jak jest. I tak dla każdego miesiąca. W sensie narastającym trybie. Ta operacja ma dotyczyć tylko ceny (czyli sprzedaż/ilość).

Mam nadzieję, że udało się mi wytłumaczyć.
ID posta: 296995 Skopiuj do schowka
 
 
szbill62
Excel Expert


Pomógł: 635 razy
Posty: 2751
Wysłany: 30-06-2016, 17:55   

Popatrz i się wypowiedz

Pozdrawiam

przyklad_PQ_sz.xlsx
Pobierz Plik ściągnięto 28 raz(y) 46.31 KB

_________________
Szkolenia z Power Query!!!
ID posta: 297010 Skopiuj do schowka
 
 
Sultan1453 
Fan Excela


Posty: 98
Wysłany: 01-07-2016, 09:50   

Cześć, dzięki za odpowiedź i wysiłek. Sprawdzam teraz co do czego, ale w najważniejszej kwestii się porozumieliśmy (wyciąganie cen per miesiąc z narastających danych). Teraz próbuję zrozumieć jak to technicznie zrobiony. Na poniedziałek powinienem się wyrobić!

Jesteś mistrzem!

Dziękuję jeszcze raz!

Pozdrawiam,
M.
ID posta: 297048 Skopiuj do schowka
 
 
Sultan1453 
Fan Excela


Posty: 98
Wysłany: 01-07-2016, 15:52   

szbill62 napisał/a:
Popatrz i się wypowiedz

Pozdrawiam


Dobrze, popatrzyłem i:

Nie rozumiem pierwszego kroku:

Kod:
= (t as table) as table =>
       let

          FirstMTH = t{0}[MTH],
          QTY = Table.AddColumn( t, "QtyCorrect", each [Qty] - (if [MTH] > FirstMTH then List.Sum(Table.SelectRows( t, (x) => [MTH] > x[MTH])[Qty]) else 0) ),
          SALES = Table.AddColumn( QTY, "SalesCorrect", each [Sales] - (if [MTH] > FirstMTH then List.Sum(Table.SelectRows( QTY, (x) => [MTH] > x[MTH])[Sales]) else 0) ),
          COGs = Table.AddColumn( SALES, "COGSCorrect", each [COGS] - (if [MTH] > FirstMTH then List.Sum(Table.SelectRows( SALES, (x) => [MTH] > x[MTH])[COGS]) else 0) ),
          PPU = Table.AddColumn(COGs, "Price per unit", each [SalesCorrect]/[QtyCorrect]),
          CPU = Table.AddColumn(PPU, "COGS per unit", each [COGSCorrect]/[QtyCorrect]),
          RemCols = Table.RemoveColumns(CPU,{"Qty", "COGS", "Sales"})
       in
          RemCols


jak i po co to się robi? Czy to jest przekształcanie danych wsadowych w formę tabelarną?
Rozumiem formuły QTY, SALES, COGs, PPU oraz CPU. Najbardziej nie pojmuje

Kod:
(t as table) as table =>
       let

          FirstMTH = t{0}[MTH],


oraz

Kod:
RemCols = Table.RemoveColumns(CPU,{"Qty", "COGS", "Sales"})
       in
          RemCols
[/code]

Później utknąłem w kroku "Tabele". Wyskakuje błąd przy wpisaniu formuły:

Kod:
fxCorrect([tbl])


Dalej wydaje się, że poradzę.
ID posta: 297105 Skopiuj do schowka
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Theme xandgreen created by spleen& Programosy modified v0.3 by warna
Opieka techniczna www.marketingNET.pl

Archiwum


Strona używa plików cookies.

Kliknij tutaj, żeby dowiedzieć się jaki jest cel używania cookies oraz jak zmienić ustawienia cookie w przeglądarce.
Korzystając ze strony użytkownik wyraża zgodę na używanie plików cookies, zgodnie z bieżącymi ustawieniami przeglądarki.