Fórum pro uživatele kancelářského balíku OpenOffice | LibreOffice
 

#1 28. 5. 2011 11:53:43

blazen19
Člen
Registrace: 20. 2. 2010
Příspěvků: 11

Obsáhlá databáze v Calcu, dlouhé náběhy otevření souboru či uložení

Dobrý den,

řeším velmi obsáhlou tabulku dat, která je navázána na další v témže souboru.
Hlavní tabulka čítá 10.000 řádků a obsahuje cca 100 sloupců. Každá buňka
má nastavené omezení vstupních dat a navíc 2-3 úrovně podmíněného formátování.
Některé buňky obsahují vzorec a též jsou některé databázové vzorce,
které čerpají z hlavní tabulky (např. DSUM, VLOOKUP, DCOUNT).
Problémem je značná velikost souboru, který v tomto podání šplhá až k 30MB,
a jeho doba otevření se pohybuje v řádu desítkách minut, obdobné je to
s ukládáním. V praxi v podstatě ani nelze, protože uvedená operace ani neproběhne
a Calc zkolabuje. Otázka míří na zkušené uživatele, zda by mohl pomoci počítač
s vyšším výpočetním výkonem, popř. jakým nebo to nemá až tak velký vliv?
Mám vyzkoušeno, že při velikosti souboru cca 2,5 MB funguje náběh a uložení
ještě snesitelně (1:30s náběh, uložení 0:30s), ovšem tato velikost odpovídá
zhruba 1.000 řádků hlavní tabulky, což je málo.

Za jakékoliv typy pro urychlení náběhu a ukládání předem děkuji.

Offline

#2 28. 5. 2011 15:08:21

Zvedavec
Člen
Registrace: 8. 11. 2004
Příspěvků: 484

Re: Obsáhlá databáze v Calcu, dlouhé náběhy otevření souboru či uložení

Tezko Vam nekdo napise, ze pomuze PC s vetsim vykonem, kdyz nevime, co mate ted.


LO většinou poslední verze, na W10 prof. 32b/64b

Offline

#3 28. 5. 2011 16:05:14

sedlacekdan
Moderátor
Místo Nehvizdy
Registrace: 21. 6. 2010
Příspěvků: 617

Re: Obsáhlá databáze v Calcu, dlouhé náběhy otevření souboru či uložení

A vy opravdu potřebujete mít 1.000.000 buněk s omezením dat a podmíněným formátováním? Pak se nedivte.
Není lepší provést kontrolu dat na vstupu a pokud jsou v pořádku pak teprve zapisovat do buněk?
Pak budou v souboru pouze data a pár vyhledávacích vzorců.
Možná by bylo lepší řešit přes databázi než přes Calc.
Sledujte tento seriál:
Práce s databází Base v OpenOffice.org

;o)


soubor o velikosti 5,33 MB se mi otvírá cca 17 sekund

MS Windows XP Profesional SP3,
Intel Celeron M processor 1.50GHz, 5O3MB RAM,

Editoval sedlacekdan (28. 5. 2011 16:37:51)


Linux Mint 16 Petra - Apache OpenOffice 4.0.1
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#4 28. 5. 2011 20:00:31

lp.
Člen
Registrace: 24. 9. 2009
Příspěvků: 844

Re: Obsáhlá databáze v Calcu, dlouhé náběhy otevření souboru či uložení

Moc mi to nesedí. Tabulka je sice trochu větší, ale ne tolik. Zkusil jsem vyplnit podobný rozsah, nastavil formátování, vstupní kontroly, ... Uložený soubor má trochu přes 1,5 MB.

Pokud v dalších tabulkách je jen pár vzorců a nepředpokládádm, že by v hlavní tabulce bylo hodně dlouhých vzorců nebo textů, tak moc nerozumím těm 30 MB. Příliš mnoho funkcí VLOOKUP dokáže výpočet docela zpomalit.

Pokud calc při načítání kolabuje pravidelně, tak to spíše vypadá na poškozený soubor.

Offline

#5 29. 5. 2011 18:28:28

Ondra.kl
Člen
Registrace: 30. 9. 2008
Příspěvků: 933

Re: Obsáhlá databáze v Calcu, dlouhé náběhy otevření souboru či uložení

zní to divně ... zkusil bych to uložit do nového souboru ověřit chování v něm. Je taky otázka jestli to co děláte už není už dávno práce pro databázi. Jinak pro urychlení náběhu bude velice vhodné použít SSD disk ... vícejádrový procesor a několik GB ram už dneska v "náročných" úlohách předpokládám automaticky.

Offline

#6 30. 5. 2011 09:05:39

blazen19
Člen
Registrace: 20. 2. 2010
Příspěvků: 11

Re: Obsáhlá databáze v Calcu, dlouhé náběhy otevření souboru či uložení

Zvedavec napsal(a)

Tezko Vam nekdo napise, ze pomuze PC s vetsim vykonem, kdyz nevime, co mate ted.

Jednojádrový procesor v rozsahu 2-2,8 GHz, 1GB RAM, SATA I 40GB (200GB)

Offline

#7 30. 5. 2011 09:20:00

blazen19
Člen
Registrace: 20. 2. 2010
Příspěvků: 11

Re: Obsáhlá databáze v Calcu, dlouhé náběhy otevření souboru či uložení

sedlacekdan napsal(a)

A vy opravdu potřebujete mít 1.000.000 buněk s omezením dat a podmíněným formátováním? Pak se nedivte.
Není lepší provést kontrolu dat na vstupu a pokud jsou v pořádku pak teprve zapisovat do buněk?
Pak budou v souboru pouze data a pár vyhledávacích vzorců.
Možná by bylo lepší řešit přes databázi než přes Calc.
Sledujte tento seriál:
http://www.openoffice.cz/navody/prace-s … office-org

;o)

soubor o velikosti 5,33 MB se mi otvírá cca 17 sekund

MS Windows XP Profesional SP3,
Intel Celeron M processor 1.50GHz, 5O3MB RAM,

Tak znělo původní zadání. Je možné, že takto velká kapacita nutna nebude,
ale když už má Calc tak mnoho řádků, leckoho to svádí.
Prozatím jsem nadefinoval na 200.000 buňkách a časy jsou přijatelné.
Odzkoušeno mám i 250.000 a budu pokračovat, co to snese.
Nevím jestli si rozumíme s tou kontrolou dat. Omezením vstupních dat jsem měl právě na mysli to, že do buňky se nezapíše hodnota, která není v nastaveném limitu
viz kontrola vstupních dat. Zhruba pětina buněk jsou pouze vzorce typu = buňka.
Možná by klasická databáze byl vhodnější nástroj, ale nemám zkušenost zda skýtá
takové možnosti podmíněného formátu či kontroly vstupních dat jako Calc.

Offline

#8 30. 5. 2011 09:29:28

blazen19
Člen
Registrace: 20. 2. 2010
Příspěvků: 11

Re: Obsáhlá databáze v Calcu, dlouhé náběhy otevření souboru či uložení

lp. napsal(a)

Moc mi to nesedí. Tabulka je sice trochu větší, ale ne tolik. Zkusil jsem vyplnit podobný rozsah, nastavil formátování, vstupní kontroly, ... Uložený soubor má trochu přes 1,5 MB.

Pokud v dalších tabulkách je jen pár vzorců a nepředpokládádm, že by v hlavní tabulce bylo hodně dlouhých vzorců nebo textů, tak moc nerozumím těm 30 MB. Příliš mnoho funkcí VLOOKUP dokáže výpočet docela zpomalit.

Pokud calc při načítání kolabuje pravidelně, tak to spíše vypadá na poškozený soubor.

VLOOKUPů je cca 61, ale nejeví se mi, že by to mělo velký vliv na výpočet.
Pak mám pravda obsažen VLOOKUP jako parametr při kontrole vstupních dat,
ale ten se dle mého názoru přepočítává až ve chvíli, kdy zapisuji do buňky
nebo se mýlím? Zaznamenal jsem i mírné zrychlení když jsem některé vzorce
obdařil jednoduchým IF na vstupu, aby se zkrátka nepočítal složitější vzorec,
když není splněna podmínka pro výpočet.
Zajímavé je, že i po odstranění VLOOKUpů se doba náběhu nikterak výrazně nezlepšila,
což vcelku vyvrací tvrzení, že mnoho VLOOKUpů zbržďuje výpočet zásadním způsobem.
Tím neříkám, že to není pravda, ale možná si s tím dokáže výkonný procesor poradit.

Offline

#9 30. 5. 2011 10:58:24

lp.
Člen
Registrace: 24. 9. 2009
Příspěvků: 844

Re: Obsáhlá databáze v Calcu, dlouhé náběhy otevření souboru či uložení

Zkusme problém rozdělit:

10000 řádků v tabulce je trochu více, ale ne mnoho, to není problém.

30 MB pro sešit s 1M buněk problém je.

Kontroly na vstupu: Pro takový objem dat jsou asi zbytečné, lze předpokládat, že pro tak velké objemy se asi velká část dat bude do tabulky kopírovat, v tom případě kontroly nefungují.

Podmíněné formáty: Mají význam pouze při zadávání dat. Označené chyby v takové tabulce nejspíš nenajdete (pokud je používáte k identifikaci chyb). Při kopírování buněk se navíc občas přepíšou.

Pokud chcete předcházet chybám při zadávání, použijte formulář, nebo aspoň samostatný list s kontrolami - správná data nakopírujete do výsledné tabulky.

Co ještě zabírá místo?

Zvažte použití pomocného sloupce, který indikuje chybu v řádku. Podmíněný formát můžete odvodit od pomocného sloupce + bonus: můžete filtrem najít řádky s chybami. Navíc lze snadno tyto kontroly dočasně vypnout.


Funkce VLOOKUP?

Několik desítek funkcí lookup na oblast do 10000 řádků může výpočet docela zpomalit.

Opravdu je vždy nezbytná? Pokud ji používáte na vyhledání více hodnot z jednoho řádku tabulky, zvažte její náhradu funkcemi MATCH/INDEX.

Offline

Zápatí