< návrat zpět

MS Excel


Téma: Aktializace Power pivot rss

Zaslal/a 30.12.2022 10:22

Ahoj,
rád bych se zeptal na možnost aktualizace dat v power pivot (PP). Data pro PP stahují z Oracle DB pomocí OraOLEDB.Oracle a celý proces aktualizace bych chtěl zautomatizovat pomocí třeba bat souboru. Ten bych uložil do plánovače úloh a vždy ve stejnou dobu, by se baťák spustil a aktualizoval excel. V bat by musely být uložené přístupové údoje do DB.
Můžete mi s tím prosím pomoci? Děkuji

Jméno
Kontrola
Text
  b i u s img code url hr   1 2 3 4 5 6 7 8 9 10

icon #054165
eLCHa
V Oracle DB by měla být možnost nastavení jobu, který vám připraví data.
V excelu si pro datový model můžete nastavit aktualizovat data po otevření.
Pak nepotřebujete plánovač úloh.

Jsou ta data objemná?citovat
#054167
avatar
Nepopsal jste ekosystém. Co máte k dispozici, co máte hotovo, objem dat, počet tabulek, proč data nenačitate přímo z db, kolik uživatelů to bude spouštět, z jakého prostředí,...

Tohle řešit přes diskusi je hodně složité - více systémů, často složitá synchronizace kroku...citovat
#054173
avatar
Děkuji za odpověď. Jde o to, že analytici mají svoje excely, ve kterých je spousta kontingenčních tabulek a ty se každý měsíc, po nahrání nových dat aktualizují. proto není možné data počítat přímo v DB. V ničem by to nepomohlo. Přímo v DB mám vytvořené view, které mi už data nějakých způsobem sjednocuje a agreguje z různých tabulek DB.
Objem je opravdu velký, největší excely mají až 6 mil záznamů (řádků) v power pivotce.
Spouštět budou max 2 uživatelé.
Chtěl jsem se vyhnout tomu, že by se excel aktualizoval po otevření. Rád bych, aby se to dělo ideálně v noci. Aktualizace zabere u těch velkých excelů víc než 2h. Dělám to sice na virtuálu, ale ten potřebuji i k jiné práci. proto načasování na noční hodiny by bylo ideální.citovat
icon #054174
eLCHa
Za mně je odpověď podobná. (Dělám něco podobného, jen místo oracle mám MS server)

To "sjednocení" - tedy přípravu dat (proveďte jobem nejlépe v noci) - proveďte procedurou do tabulky, do které dáte uživatelům přístup. Ta procedura může klidně jet 2 hodiny ;) .
Nepropojujte excel s view, ale s touto tabulkou, kde už máte data připravená. Tzn. při aktualizaci excel rovnou načítá - věřím, že 6mil řádků musí být tak max 10 minut. To už může uživatel sám.
Případně, pokud nemůže mu ten excel zaktualizujete vy - MSDOS (batch, který jste zmiňoval) na to není moc dobrý, napište si nějaký script (otevření, aktualizace, uložení, zavření) např v pythonu nebo vbscript (ten je podobný vba).citovat
#054175
avatar
Asi nejsnažší je začít s makrem ve vba v aktualizovaném souboru, které zajistí načtení tabulky z oracle i aktualizaci všech navazujících struktur. Jeho spuštění je vhodné podmínit "správným" uživatelem (strojem, ...). bat (v čemkoliv) zajistí spolupráci s plánovačem úloh vč. nastavení prostředí.

Problémy:
Při aktualizaci v excelu řada kroků probíhá asynchronně, občas se něco předbíhá (typicky aktualizace kt předbíhá čtení dat, ...). To je nutné v makru zohlednit - např. zakázat během aktualizace operace na pozadí, ne vždy to jde.

Velký počet požadavků na aktualizaci tabulek může vyvolat nahodilé chyby (excel prostě spadne).

Rychlost :
Načítání dat z oracle je hodně pomalé (mám pocit, že to ms dělá schválně). Při větším objemu dat je někdy rychlejší vygenerovat csv soubor data čerpat z něj.
Ale v takovém případě je nutné nějak synchronizovat samostatně běžící úlohy.

Počet paralelních aktualizací souborů je často omezením.

Je také třeba myslet na administraci:
Tady je vhodný samostatný systém (tabulka, db, ..) db je asi nejlepší - umožňuje nejlépe monitorovat průběh pro více uživatelů.

Sledovat:
Stav aktualizace souborů z pohledu správce, hlášení o chybách (pád, chybějící data, nevalidní data po aktualizaci, ...), statistika aktualizací (doba trvání aktualizace jednotlivých souborů, počet paralelních úloh, ... - určité pomůže při plánování aktualizací.

Pro uživatele - info o úspěšné aktualizaci, řešení neúspěšné aktualizace (např. ponechání původního souboru + info)

Musí to běžet automaticky. Informace o chybách by se neměly v případě pádu ztratit.citovat
icon #054176
eLCHa
Jen tip ;)

Pokud je práce s Oracle pomalá (nevím jak přesně, nemám zkušenosti), je zde i možnost, než
generovat csv, nainstalovat MSSQL express (bezplatný, jsou tam omezení: https://www.master.cz/help/microsoft-sql-server-express-vyhody-omezeni/),
který by sloužil jak zdroj reportingu pro excel. Určitě zde bude možné zapisovat z Oracle ;)citovat

Uživatelské menu

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

Menu

Formulář Faktura

Formulář Faktura IV

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

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje