» »

[EXCEL] Ogromne količine podatkov

[EXCEL] Ogromne količine podatkov

avtek ::

Pozdravljeni!

Zanimajo me vaša mnenja glede brskanja po podatkih v Excelu, ki imajo cca 350k (350.000) vrstic in cca 45 stolpcev.
Zaenkrat so vsi stolpci še brez formul, jih bo pa nekaj potrebno dodati (združevanje, iskanje, left, right itd) in skopirati na nov list s samo "uporabnimi" stolpci. Tako, da bi končna tabela vsebovala cca 350.000 vrstic in 15 stolpcev.

Primer: Imel bom stolpec naziv, stolpec država ter stolpec cena. Najprej bom preko držav (recimo z INDEX-MATCH (ker naj bi bil hitrejši kot VLOOKUP??)), selekcioniral države in nato z vgnezdenim nazivom v državi poiskal ceno.

Zadevo bi rad čimbolj avtomatiziral (kolikor pač premorem znanja) in ne vem ali se naj te zadeve lotim v Excelu in če že ... index-match? Priporočate kaj drugega?
Ali naj Excel s toliko podatki uvozim v kakšno bazo? (Access? Kako bi potem rudaril oz brskal po teh podatkih?)

Nekako se 'moram' osredotočiti na Microsoftove izdelke.


Hvala, lp

krneki0001 ::

Iz excela brez problemov izvoziš v Access ali sql bazo. Tam je pa potem mnogo lažje premetavat zadeve. Čeprav na normalnem računalniku excel s 350.000 vrsticami ni nekaj obremenilnega. Jaz sem jih v excel 2013 vrtel 1.5 milijona na I7-4770, 32GB rama in SSD disku.

FTad ::

Predlagam Access ja.

butec ::

moj PC (E8400 in 4 GB RAM)
Excel pri kombinaciji INDEX-MATCH (iskanje po dveh kriterijih) imel kar težave
20.000 vrstic 10 stolpcev
VLOOKUP se je pri meni izkazal za boljšo varianto

mm&r ::

Excel 2013-2016 ima vgrajeno omejitev na malenkost čez miljon, ne vem kako ti je uspelo vrtet miljon pa pol.

1,048,576 rows by 16,384 columns


Vir: MS

Predlagam uporabo Power query-ja for Excel
Ta naloži podatke v spomin pa so operacije nad podatki kar hitre.

krneki0001 ::

mm&r je izjavil:

Excel 2013-2016 ima vgrajeno omejitev na malenkost čez miljon, ne vem kako ti je uspelo vrtet miljon pa pol.

1,048,576 rows by 16,384 columns



With MS-Excel you can then create a data connection to the source (without actual loading the records in a worksheet) and create a connected pivot table. You then can have virtually unlimited number of lines in your table

Horejšio ::

Mogoče prenese Access 350k zapisov z dobro mašino s SSD? Jaz bi uporabil MySql...

krneki0001 ::

access je od 2010 verzije enako močan kot MySQL.

Horejšio ::

Mal dvomim, ker fura večino spleta skupaj z apache

Zgodovina sprememb…

krneki0001 ::

In človek rabi splet? Access kot celovita aplikacija je za desktop zadeve veliko boljši od SQL serverja (MySQL je sql server in ne desktop aplikacija).

In OP rabi desktop aplikacijo, poleg tega je tudi zapisal, da se "mora" osredotočiti na MS izdelke.

MS Access database is more suitable for desktop use with a small number of users accessing it simultaneously. One reason you might choose to use Microsoft Access over SQL Server is for compatibility/sharing.

Zgodovina sprememb…

Horejšio ::

Nekdo mi je izbrisal del, kjer je omenjeno, da večina www deluje na MySql!

krneki0001 ::

Ja, večina www, OP pa potrebuje desktop zadeve, ne www. Access je desktop aplikacija, ne SQL server. Če bi že moral primerjat MySQL z nečim, bi moral biti to MS SQL server, ki pa MySQL povozi. Ta pa je trenutno že na tako visoki stopnji, da se postavlja ob bok oraclu in DB2.

Pa ni ti noben zbrisal. En post pred mojim je.

Zgodovina sprememb…

WarpedGone ::

1. nared si prvo uslugo in se nauči SQL
2. nared si drugo uslugo in NE it v Access
3. nared si tretjo uslugo in NE it v raznorazne XyServer zadeve, ki so totalni overkil sestavljene iz kupa posušenih kravjekov

Za osnovno premetavanje in mučkanje podatkov:
- SQLite (inštalacija in konfiguracija zadeve obsega kopiranje enega DLLja na željeno mesto)
- kakšno adHoc orodje za poganjanje sqlov - priporočam SqLiteStudio (SqlLite že priložen)

Ampak si premal povedal o konkretnih zahtevah in željah in kaj naj bi iz tega nastalo čez 2 leti.
Zbogom in hvala za vse ribe

krneki0001 ::

avtek je izjavil:

Nekako se 'moram' osredotočiti na Microsoftove izdelke.


Pa če že orodje za dostopat do različnih baz in pisanje sql stavkov, uporabi squirrel

http://squirrel-sql.sourceforge.net/

Resnično uporabna zadeva z dobro podporo.

Zgodovina sprememb…

Lonsarg ::

Jaz se tudi strinjam da v modernem svetu ni prostora za vmesne tehnologije. Imaš bodisi excel bodisi neko sql bazo. Če si IT ni dileme, ampak tudi kaki advanced userji se spodobi da znajo iz SQLa kaj dobit.

krneki0001 ::

sql server express + squirrel. Oboje zastonj, pa z bazo se bo še držal MS produktov.

Horejšio ::

Upam, da vam uspe z MS to lepo posortirat :)

krneki0001 ::

Zakaj nebi?
Mislim eni pljuvate po produktih, ki jih niti poznate ne, ali pa ste celo delali enkrat v njih in jih niti približno ne poznate.


Zelo verjetno bi tudi v calcu od openoffica lahko 350k vrstic obdeloval normalno.

avtek ::

Hvala za vse odgovore. Nisem se še povsem odločil kaj in kako bom zadevo speljal, saj v "igri" nisem samo jaz. Meni načeloma nebi predstavljal SQL nobenih težav (za rudarjenje podatkov), problemček pa nastane, ker imam okoli sebe tudi kakšnega laika, ki bi to zadevo uporabljal in se mi zaenkrat zdi najlažja opcija nek "search" znotraj Excela (bodisi VLOOKUP, še hitrejši pa je (kot kažejo razni testi) INDEX-MATCH).

@WarpedOne
Kaj bom s tem delal čez dve leti? Isto kot danes (oz. ko bom zadevo 'razvil') - mesečno se mi bodo podatki spreminjali (ne struktura, ampak vrednosti) in bo potrebno po teh podatkih na nek način rudariti. Kot sem že opisal, problem nastane pri kompleksnosti uporabe, ker v tem nisem sam.

krneki0001 ::

Če se misliš iti data mining, potem delaj z sql server Express + excel.

V sql serverju expres (ki je zastonj) narediš baze, importaš vse podatke v te baze, potem pa v excelu narediš data connection na to bazo in operiraš s podatki kolikor hočeš. Takrat namreč v excelu nisi limitiran na vrstice.

Zgodovina sprememb…

avtek ::

Sej do samih omejitev glede vrstic sigurno ne bom prišel, bolj me skrbi da ne bo za vsak 'search' (INDEX MATCH (verjetno po 2-3 kriteriji)) Excel preračunaval 5min.
Glede na to, da se nekatere zadeve delajo tudi lokalno (na stacionarnih računalnikih), bi moral to zadevo vzpostaviti na vseh sistemih ločeno, kajne?

Primer, sedaj je nek Excel (max 10.000 vrstic v vsakem dokumentu) naložen na skupno mapo, si jo vsak izmed uporabnikov prenese in poišče po določenih kriterijih in iz tega naredi poročilo v ločen Excel.


Cilj je, da bi zadevo bolj avtomatiziral in poenostavil, tudi pohitril (glede na to, da bo 350k vrstic)...vendar je problem, ker imam glede same izvedbe te zadeve zvezane roke - ne morem vseh zadev početi kot doma - primer.

krneki0001 ::

Ne rabiš delat lokalno. Lokalno ima vsak uporabnik na računalniku excel, link za podatke imajo pa na sql server expres, ki pa je lahko na tvojem računalniku, ali pa v kaki virtualki na nekem serverju.

avtek je izjavil:

Primer, sedaj je nek Excel (max 10.000 vrstic v vsakem dokumentu) naložen na skupno mapo, si jo vsak izmed uporabnikov prenese in poišče po določenih kriterijih in iz tega naredi poročilo v ločen Excel.


Sedaj boš pa uvozil excel v bazo, potem si bo pa vsak iz baze k sebi potegnil podatke in delal poročila, kakršna mu paše. Al pa boš avtomatiziral, pa bo samo en sql zalaufal vsak mesec (kr makro narediš), pa bo ta uporabnik imel poročilo.

Zgodovina sprememb…

avtek ::

Hmmm, dobre ideje ja. Čeprov tisto z makrom sigurno ne bo šlo, ker so poročila ponavadi precej različna in a-tipična (glede na prejšnje poročilo ali drugo vrsto poročila).

Hvala zaenkrat! :)

ToniT ::

Jaz bi na nek strežnik naložil MS SQL express in uvozil tabelo tja.
Od tam pa lahko vsakdo dela po želji.
Access je super zadeva za hitre poizvedbe in hitro kreiranje poročil.

Invictus ::

Horejšio je izjavil:

Nekdo mi je izbrisal del, kjer je omenjeno, da večina www deluje na MySql!

Pač zgodovinski razlogi, ker je bila Apache + MySQL kombinacija zastonj ...

Danes si nihče ne upa dregnit v to zmešnjavo, sploh pa ne zastonj. Denarja za nadgradnjo na nekaj drugega pač ni. Če potem tukaj še upoštevaš faktor nostalgije, prideš do stanja kjer si danes.
"Life is hard; it's even harder when you're stupid."

http://goo.gl/2YuS2x

WarpedGone ::

Danes si nihče ne upa dregnit v to zmešnjavo


95% se sploh ne zaveda da gre za zmešnjavo, kjer se na koncu 95% časa ubadaš zakaj se server ne odziva.
Zbogom in hvala za vse ribe

Invictus ::

krneki0001 je izjavil:


Zelo verjetno bi tudi v calcu od openoffica lahko 350k vrstic obdeloval normalno.

Ne gre.

To sranje se naključno zacikla iz neznanih razlogov za neznano dolgo v naključnih intervalih.

Horejšio je izjavil:

Upam, da vam uspe z MS to lepo posortirat :)

Tako Access kot Excel podpirata SQL.

Kaj pa je narediti pol par poročil. Mačji kašelj...
"Life is hard; it's even harder when you're stupid."

http://goo.gl/2YuS2x

Zgodovina sprememb…

  • spremenil: Invictus ()

Isotropic ::

za desktop userja je access čist ok. še boljši od npr. sqlite, ker že out of the box podpira izdelavo poročil, ima GUI itd.

OP, poglej si še powerpivot.

accessove glavne omejitve so pri št. concurrent userjev afaik, kjer grejo performanse hitro v pm (vsaj včasih). zato si je pridobil tudi slab sloves proti mysql 10 let nazaj.
samo za desktop userja je še najbolj prijazna opcija.

Zgodovina sprememb…

WarpedGone ::

Drži.
Zbogom in hvala za vse ribe

videc ::

Access bo povsem ok.
Če ostaneš v Excelu, poglej powerpivot, tako kot že predlagano prej.
Prav tako že predlagano tudi SQL Express, lahko si pogledaš še Firebird bazo (nekdanja Borlandova baza).
Če boš imel podatkov bazi, lahko do njih dostopaš iz vsake preglednice (Excel, OOCalc, ...) ali prog. jezika.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Excel pomoč

Oddelek: Programska oprema
121693 (770) P=LN
»

Petina znanstvenih člankov iz genomike oporečnih zaradi Excela

Oddelek: Novice / Znanost in tehnologija
488701 (5364) filipk
»

Program za uvoz velike količine podatkov

Oddelek: Programska oprema
61042 (847) brodul
»

Kako oz. z čim izdelujete spletišča? (strani: 1 2 )

Oddelek: Izdelava spletišč
5713155 (11571) Goran's Blog
»

MS Access (strani: 1 2 )

Oddelek: Programiranje
647043 (5101) travica

Več podobnih tem