ID tematu: 76137
 |
"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
|
|
|
 |
|
|
|
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ść
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
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 |
_________________
Pozdrawiam, były szbill62 aktualnie Bill Szysz |
|
 | ID posta:
437197
|
|
|
 |
|
|
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
Jeśli dane będą torturowane dość długo, przyznają się do wszystkiego |
|
 | ID posta:
437358
|
|
|
 |
|
|
|
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
|
|
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
|