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
ID tematu: 76137 Skopiuj do schowka "Skutki uboczne" udostępnienia nowych funkcji
Autor Wiadomość
Maciej Gonet 
Excel Expert


Wersja: Win Office 365
Pomógł: 3616 razy
Posty: 10635
Wysłany: 02-10-2024, 10:04   "Skutki uboczne" udostępnienia nowych funkcji

Pod koniec września wszyscy użytkownicy standardowej wersji Microsoft 365 otrzymali możliwość korzystania z dwóch nowych bardzo zaawansowanych funkcji, a mianowicie GRUPUJ.WEDŁUG i PRZESTAWIAJ.WEDŁUG (w oryginalnej wersji GROUPBY i PIVOTBY). Funkcje te wykonują złożone działania i mają rozbudowaną listę argumentów, a informacje w pomocy są jak zwykle dość skąpe i powierzchowne. Nieprędko zapewne będę mógł coś o nich więcej napisać, bo upłynie sporo czasu zanim uda mi się przez nie przegryźć.

Dziś natomiast chciałem zwrócić uwagę na mniej spektakularne, ale ważne zmiany towarzyszące udostępnieniu tych funkcji. Chodzi mi o tzw. eta-lambdy oraz o nową funkcję ODSETEK (w oryginale PERCENTOF).
Edit MG: Dopisałem jeszcze fragment o używaniu wektorów eta-lambd i dodałem załącznik w Excelu.

Szczegóły w załącznikach.

Eta_Lambdy_i_ODSETEK.xlsm
Pobierz Plik ściągnięto 20 raz(y) 13.86 KB

Skutki uboczne.docx
Pobierz Plik ściągnięto 21 raz(y) 24.68 KB

ID posta: 437153 Skopiuj do schowka
 
 
Bill Szysz 
Excel Expert



Wersja: Win Office 365
Pomógł: 1075 razy
Posty: 4184
Wysłany: 04-10-2024, 13:28   

Dzięki Maciej za opisanie zagadnienia - podziwiam Twoją pracowitość :tak
Osobiście, wolę stosować "jawne" LAMBDY ze względu na o wiele większe możliwości kształtowania wyników (że tak to nazwę). Jednak jeśli nie potrzebuję "wygibasów" to ety są jak najbardziej w porządku :-D
W Twoim excelowym pliku w komórce B10 masz formułę (być może już coś zmieniłem)
Kod:
=MAP({1\2};LAMBDA(x;WYBIERZ(x;SUMA;ILOCZYN)(2;4;6)))

wiem że to nie to samo ale proponowałbym uproszczenie w postaci
Kod:
=BYCOL({2;4;6};STOS.POZ(SUMA;ILOCZYN))

Jak widać BYCOL potrafi zwrócić więcej wyników ale pod warunkiem że pierwszym argumentem będzie wektor a nie tablica.
WYBIERZ a STOS.* - zdecydowanie częściej korzystam ze STOSÓW - łatwość zapisu.
Jak juz pisałeś, w bardziej złożonych zagadnieniach nieocenioną pomocą jest używanie REDUCE (lub SCAN jeśli potrzeba) w połączeniu ze STOSAMI. Dopiero w tej funkcji mamy prawie nieograniczoną możliwość manipulacji.
Gdybym miał podać schemat budowania złożonych funkcji to taki przykład byłby takim schematem (uproszczonym). Przy okazji pokazuje że, możemy budować LAMBDY wewnątrz wyrażeń LET (oraz innych LAMBD) i używać ich też wewnątrz tego samego LET.
Kod:
=LET(radiany; RADIANY({30;60});
fns; LAMBDA(x; STOS.POZ(SIN(x);COS(x);TAN(x); (SIN(x))^2 + (COS(x))^2));
REDUCE({"Sinus"\"Cosinus"\"Tangens"\"Suma kwadratów"}; radiany; LAMBDA(a;i;STOS.PION(a;fns(i) ))))


Na teraz to tyle ale zagłębię się jeszcze bardziej w Twój tekst i może mi coś przyjdzie do głowy :-)
_________________
Zlecenia, konsultacje, doradztwo i szkolenia z Power Query, Power BI i Excela - Raporty, Analizy, Projekty
Pozdrawiam, były szbill62 aktualnie Bill Szysz
ID posta: 437197 Skopiuj do schowka
 
 
Kaper 



Zaproszone osoby: 2
Wersja: Win Office 365
Pomógł: 4533 razy
Posty: 9051
Wysłany: 22-10-2024, 13:33   

A propos GRUPUJ.WEDŁUG i PRZESTAWIAJ.WEDŁUG to składnia jest bardzo podobna i wydaje mi się, że dość sprawnie pokazana (choć na pewno bez super-niuansów) na https://www.youtube.com/watch?v=mCJzhCxEQlM

Dla mnie wystarczyło i już kilka razy skorzystałem na excelforum.com czy mrexcel.com, gdzie ostatnio też bywam. Mnie osobiście GROUPBY przydało się dopiero raz.

Bardzo mi się podoba, że w grupowaniu (w odróżnieniu od PQ, gdzie przy wyklikiwaniu trzeba ręcznie podmieniać funkcję agregującą na Text.Combine) mamy standardowo ARRAYTOTEXT oraz CONCAT (ZŁĄCZ.TEKST). No i oczywiście znakomicie, że do agregowania może służyć LAMBDA, ale to tak jak w PQ. Tam też możemy samodzielnie coś popodmieniać ;)
_________________
Kaper Jej Królewskiej Mości :boss

Jeśli dane będą torturowane dość długo, przyznają się do wszystkiego
ID posta: 437358 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.wip.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.
SprawdĹş, w jaki sposĂłb przetwarzamy dane osobowe