< návrat zpět

MS Excel


Téma: Challenge - mazanie záznamov rss

Zaslal/a icon 6.3.2016 4:09

Ahoj,
riešil som nasledujúci problém (mám už vyriešené, ale zaujímalo by ma, aký postup by použil niekto ďalší).
Zadanie: Odstrániť z tabuľky začínajúcej na riadku 10 duplicitné záznamy pre krajinu aa a dodávateľov aaa a bbb. V sheete som vyznačil záznamy, ktoré majú byť odstránené. Tzn. konkrétny dodávateľ nemusí byť iba u krajiny aa a naopak, nie na všetkých dodávateľov u krajiny aa je možné aplikovať odstránenie duplicitných záznamov. V reále má tabuľka viac než 100 tis. položiek a spústu stĺpcov a pár dodávateľov, u ktorých majú zostať iba neduplicitné položky. Z uvedeného dôvodu sa nie ako vhodné javilo použite nejakého pomocného stĺpca, cez ktorý by sa dalo potom filtrovať. Resp. vzorec, ktorý som použil ja, sa pre tak veľký rozsah dát, napriek tomu, že počítal správne, javil nad možnosti Excelu 2007 na stroji, ktorý mám v novej práci k dispozícii. Hľadal som preto riešenie cez rozšírený filter. Zrejme sa podarilo, ale otestujem až v práci, či sa s tým moja stará plečka v práci popasuje. Otázka teda znie: príde niekto na to, ako uvedený problém riešiť rozšíreným filtrom, prípadne vzorcom, ktorý uvedené spočíta rýchlo a excel u toho nebude zamŕzať? Bez toho, aby boli dáta sortované a pod. Hľadám non VBA riešenie. Uviedol som, že riešenie poznám a na záver uverejním, zaujíma ma, ako by sa s tým popasoval niekto iný.

Příloha: zip30606_wallchallenge.zip (8kB, staženo 34x)
Zaslat odpověď >

Strana:  1 2   další »
#030612
avatar
Prikladam reseni pomoci Power Query (je ovsem nutno mit Office 2010 nebo novejsi). Vyhodne zejmena pri castem pouzivani - po pridani dat staci pouze kliknout na tabulku Vystup a dat refresh. Rovnez parametry (country+vendor) se mohou menit primo v tech dvou tabulkach. Dalsi velkou vyhodou PQ je rychlost zpracovani, docela by me zajimalo, jak bude vyznivat porovnani doby zpracovani pri ruznych moznostech pri 100 000 radcich.
Příloha: zip30612_wallchallenge.zip (17kB, staženo 34x)
citovat
#030613
avatar
Predchozi priloha nebude fungovat, tato by mela.
Příloha: zip30613_wallchallenge.zip (17kB, staženo 35x)
citovat
icon #030616
avatar
pepe, vyzerá to zaujímavo, PQ som doteraz nikdy nepoužil, takže je to pre mňa nová oblasť. V minulosti som sa chvíľu hral s Power Pivotom, ale príliš som tomu na chuť neprišiel. Mal som v práci Access a tam som sa cítil bezpečnejšie.
Ale sľubujem, že sa na Tvoje riešenie pozriem detailnejšie. Každopádne, PQ v práci na 2007 nemám, nemám zatiaľ ani Access, človek ťažko uverí, že niekto rieši 6 tisícovú položku :(. Tvoje riešenie síce nespĺńa zadanie, ale je v každom prípade zaujímavé. Výsledkom query mali byť tie žlté hodnoty, nie tie druhé, to je ale detail, to sa v tom PQ určite dá nastaviť, aby sa zobrazila tá druhá množina.citovat
#030617
avatar
Cili vystupem maji byt hodnoty, ktere splnuji jak podminku zeme (aa) a vendora (aaa,bbb) a zaroven jsou duplicitni? Jinymi slovy kazdy prvni unikatni zaznam ma byt smazan? "Odstrániť z tabuľky začínajúcej na riadku 10 duplicitné záznamy pre krajinu aa a dodávateľov aaa a bbb. V sheete som vyznačil záznamy, ktoré majú byť odstránené." - z toho jsem pochopil, ze resenim ma byt to, co jsem prilozil poprve...citovat
icon #030618
avatar
Odstrániť z tabuľky začínajúcej na riadku 10 duplicitné záznamy pre krajinu aa a dodávateľov aaa a bbb. V sheete som vyznačil záznamy, ktoré majú byť odstránené. - Sú to tie žlté, tie majú zostať na liste viditeľné, aby ich bolo možné odstrániť :).
Vlastne, máš pravdu, po odstránení majú zostať tie, ktoré uvádzaš vo svojom riešení.citovat
icon #030620
avatar
Tak si s tým PQ trochu hrám a zatiaľ sa mi to zdá trochu ťažkopádne proti tomu, čo ponúka Access. Ale to ovládanie je pomerne intuitívne a nejakú službu táto nová funkcionalita asi plniť môže. Hlavne pre užívateľov, ktorí sa nechcú trápiť s SQL alebo žiadny DBMS proste k dispozícii nemajú. Keď sa budem nudiť, pozriem sa na to trochu hlbšie.citovat
icon #030650
avatar
Sľúbil som, že sa podelím o svoje riešenie. Mal som síce v úmysle počkať, s čím prípadne príde niekto iný, okrem pepeho sa ale nikto neozval, tak dávam svoje riešenie už teraz a to z nasledujúceho dôvodu: Na 2016 mi to funguje, na 2007 k môjmu prekvapeniu nie a bol by som rád, pokiaľ by niekto bol schopný prísť na to, v čom je u 2007 zakopaný pes. Na liste advanced filter je riešenie cez rozšírený filter, na liste formula riešenie cez pomocný stĺpec. Riešenie cez pomocný stĺpec v reále použiť nemôžem, na stotisícovom počte záznamov to proste excel v práci nie je schopný prepočítať. Dúfal som, že problém obídem prostredníctvom rozšíreného filtra, to sa mi ale na 2007 vôbec rozchodiť nepodarilo - výsledkom po aplikácii rozšíreného filtra je prázdny zoznam, napriek tomu, že v 2016 sú to tie žlté riadky podľa môjho predpokladu. Pokiaľ by to niekoho zaujímalo, tak popis problému je v prílohe. Vzorec použitý ako kritérium pre filtrovanie je pomerne jednoduchý, v bunke F7:
=SUMPRODUCT((($F$11:F11&$G$11:G11)=(F11&G11))*(F11=tblCountryAF[country])*COUNTIF(tblVendorAF[vendor]; G11))<2=FALSE
Vôbec netuším, prečo to v 2007 vyhodnocuje špatne a inak než v 2016. Príde na to niekto?

edit: samozrejme, že pokiaľ by som dáta zosortoval podľa dodávateľa, tak vzorec môžem použiť iba na vybraného dodávateľa a toto už 2007 zvládne, triedeniu dát sa ale snažím vyhnúť napriek tomu, že pôvodné poradie ošetriť dokážem pomocným stĺpcom. V túto chvíľu ma zaujíma, prečo ten rozšírený filter v 2007 nezafunguje korektne/podľa predstáv.
Příloha: zip30650_wallsolution.zip (168kB, staženo 33x)
citovat
#030654
avatar
Tak konecne se mne snad povedlo upravit Power Query tak, aby splnovalo zadani. Nebylo to uplne trivialni, nicmene po mirne manualni uprave kodu uz by to melo byt OK.

Co se Accessu tyce, tak s tim moc zkusenosti nemam, asi i proto se mne zda PQ jednodussi a pro dane ucely vhodnejsi. Navic PQ dokaze kombinovat velke mnozstvi ruznych zdroju (textove soubory, excel soubory, cele adresare, web, ruzne databaze - namatkou access, Sql, Oracle - sharepoint, ODBC a dalsi) dohromady, umi pracovat s obrovskym mnozstvim dat (stamiliony radku by nemel byt problem) a vyrazne dokaze zredukovat velikost souboru (samozrejme za predpokladu, ze data nejsou primo v danem souboru, ale ziskany pres connection popsane vyse). Dalsi velkou vyhodou je rychlost zpracovani oproti napr maticovym vzorcum.
Příloha: zip30654_wallchallenge.zip (17kB, staženo 33x)
citovat
icon #030655
avatar
pepe, fajn, bohužiaľ, PQ je pre mňa v práci v súčasnosti mimo možnosti použiteľnosti, nakoľko 2007 PQ nemá. Čo sa týka nástroja samotného, tak okrem výhod, ktoré uvádzaš, má i svoje nevýhody. Neumožňuje totiž, na rozdiel od Accessu, spojiť v jednom kroku viac, než dve tabuľky, to je tá vlastnosť, na ktorú poukazujem, pokiaľ som zmienil jeho ťažkopádnosť. Teda, aby som bol presný, za tú chvíľu, ktorú som to študoval, som neprišiel na spôsob, ako spojiť viac než dve tabuľky v jednom kroku a je preto potrebné použiť postupnosť niekoľkých krokov. Je v tomto ohľade na tom podobne ako MS Query. Dostatočne dobré pre užívateľov bez skúseností s SQL alebo prístupu ku skutočne plnohodnotnému DBMS (Access, SQL server apod.). Pokiaľ ale niekto čuchne k DBMS, tak sa domnievam, že z PQ zas až tak nadšený nebude. Vďaka za snahu, v túto chvíľu by ma ale viac zaujímalo, ako prípadne v 2007 rozchodiť ten rozšírený filter.citovat
#030658
avatar
AL: Rozumim, chtel jsem ukazat alternativu k beznym postupum. Jak jsem jiz psal, s Accessem ani SQL serverem zkusenosti moc nemam, proto je ani nechci srovnavat. Kazdopadne PQ za urcitych podminek umi pracovat s mnoha tabulkami v jednom kroku (napr umoznuje nacist adresar s x soubory s tabulkami a spojit je).

Kazdopadne, advanced filter jsem vyzkousel na verzi 2010 a tam zda se funguje. Pristup k verzi 2007 bohuzel nemam.citovat

Strana:  1 2   další »

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Aktivní diskuse

Čas od do

elninoslov • 19.4. 8:46

Čas od do

jarek1111 • 18.4. 13:46

Čas od do

lubo • 18.4. 11:13

Čas od do

jarek1111 • 18.4. 8:32

Čas od do

jarek1111 • 18.4. 8:31

Makro smyčka

MilanKop • 18.4. 7:18

Makro smyčka

elninoslov • 18.4. 0:18