Excel, PowerPivot a SAP – ako načítať dáta priamo zo SAP-u do Excelu aj PowerPivotu

Pred pár dňami som publikoval na blogu Power-BI.sk článok o tom, ako načítať dáta priamo zo SAP-u do Power BI. Ide to však aj pre Excel či PowerPivot. Pretože aj v nich potrebujete analyzovať dáta zo SAP-u. Ideme si teda ukázať, ako načítať dáta priamo zo SAP-u do Excelu a PowerPivotu. Z každého jedného modulu SAP.

Ako sa bežne reportuje zo SAP-u v Exceli

Bežné riešenie, ako dostať dáta zo SAP-u, pripomína dávny počítačový pravek. Dáme dodávateľovi za ťažké peniaze naprogramovať extraktor dát zo SAP-u, kde musíme samozrejme prejsť korporátnym utrpením v podobe spísania detailných požiadaviek, vrátane detailného popisu tabuliek a zoznamu stĺpcov z nich, ktoré chceme. Následne počkáme zopár týždňov či mesiacov, a dostaneme prvé súbory vo formáte CSV, či nebodaj Excely. Nasleduje bojovanie so správnym exportom/importom diakritiky, špeciálnych znakov, koncami riadkov, a podobne. Prípadne si spomenieme, že sme zabudli ešte na 2 dôležité stĺpce, ktoré po novom šéf potrebuje tiež zobrazovať v reporte. A celá šaráda začína odznova.

Po “krátkom” období roka až dvoch máme export zo SAP-u a import do Excelu relatívne vychytaný. A sme radi, že aspoň raz za týždeň dostaneme čerstvé dáta, a môžeme z nich spraviť report.

Ak ste si mysleli, že preháňam, tak sa porozprávajte s niekým, kto si to celé odžil. Povie vám, že ide ešte o optimistickú verziu. Niekedy sa totižto nepodarí ani toto. Existuje však oveľa lepšie riešenie. A stačí pritom len trocha ochoty.

Načítanie dát cez protokol OData

V Exceli aj PowerPivote máte možnosť načítať dáta zo všetkých systémov, ktoré podporujú protokol OData. Čiže aj zo SAP-u. Cez tento protokol sa dajú stiahnuť dáta zo všetkých modulov SAP-u. Teda, zo všetkých, do ktorých máte prístup.

Sťahovanie dát cez protokol OData vám musí najprv povoliť váš administrátor SAP-u. Viac o protokole OData, aj o jeho nastavení v SAP-e, nájdete v tomto článku. Prejdite si ho predtým, než budete pokračovať ďalej.

Váš administrátor SAP-u by vám mal dať URL adresu OData service-u. Je to klasická URL adresa vo formáte “https://nazovSapServeru/sap/opu/odata/……”. Tú použijete na pripojenie sa v ďalšom kroku.

Načítanie dát cez OData zo SAP-u do Excelu 365/2016/2019/2021

V najnovších verziách je načítanie dát zo SAP-u cez protokol OData veľmi jednoduché, keď na to použijeme zabudované Power Query. Spravíte to nasledovne:

V Exceli kliknite v hlavnom menu na záložku Údaje” => Získať údaje” => Z iných zdrojov” => Z informačného kanála OData”:

Poznámka: v Exceli 2016 sa tlačítko “Získať údaje” volá “Nový dotaz”.

Zobrazí sa Vám nasledovné okno z Power Query, do ktorého zadajte URL adresu OData service z predchádzajúceho kroku, a kliknite na tlačítko “OK”:

V ďalšom kroku vyberte naľavo položku “Základné” (angl. “Basic”), a zadajte svoje prihlasovacie meno a heslo do SAP-u. Potom stlačte tlačítko “Pripojiť”:

Poznámka: v niektorých silno zabezpečených inštaláciách SAP-u sa môžu stať nasledovné veci, ktoré môžu skomplikovať prihlásenie do SAP-u:

  1. môže byť potrebné prihlásiť sa na počítači s Excelom najprv cez aplikáciu SAP LOGON, aby sa otvoril komunikačný prestup cez sieť.
  2. vaša inštalácia SAP NetWeaver môže mať zakázanú Basic autentizáciu, a namiesto toho budete musieť ísť cez autentizáciu OAuth 2.0. V takom prípade myslite na 2 veci: A) pri prihlasovaní vyššie namiesto prihlásenia typu “Základné” bude treba vybrať “Konto organizácie”, alebo nájsť iné náhradné riešenie.

Ak sa vám podarí prihlásiť k SAP-u a danému OData service, tak by sa vám v Power Query mal zobraziť klasický Navigátor, ktorý zobrazí zoznam všetkých tabuliek dostupných cez tento OData service:

Tam potom stačí už len kliknúť na danú tabuľku, z ktorej chcete údaje, kliknúť na tlačítko “Načítať”, a voaláááááá, máme dáta zo SAP-u v Exceli!

Namiesto tlačítka “Načítať” môžete dať aj tlačítko “Transformovať údaje”, a tieto údaje si môžete vyfiltrovať, zosumarizovať, vyčistiť, odstrániť chyby, zlúčiť s inými tabuľkami, a podobne. Čiže všetko to, o čom píšem v svojej knihe o Power BI a Power Query, či na webinároch o Power Query.

Načítanie dát cez OData zo SAP-u do PowerPivot-u, cez PowerPivot

Pre načítanie dát cez OData zo SAP-u do PowerPivotu máme hneď 2 možnosti. Prvou možnosťou je načítať dáta priamo v PowerPivote. Nevýhodou je to, že takéto dáta neviete v PowerPivote upraviť. Viete ich len jednoducho vyfiltrovať, ale nie upravovať, odstraňovať chyby a podobne. Preto sa odporúča načítavať dáta do PowerPivotu cez Power Query, ako si ukážeme nižšie. Ak vám však nefunguje Power Query, alebo vám to stačí načítať ako obyčajnú tabuľku, tak môžete to spraviť aj priamo z PowerPivotu.

V PowerPivote kliknite v hlavnom menu na tlačítko “Z iných zdrojov”:

V okne, ktoré sa otvorí, vyberte zdroj nazvaný “Iné informačné kanály”, a kliknite na tlačítko “Ďalej >”:

V ďalšom okne najprv napíšte do políčka “Adresa URL údajového informačného kanála”, vašu URL adresu OData service-u, ktorú vám dal váš administrátor SAP-u. Potom kliknite na tlačítko “Rozšírené”:

Poznámka: Po kliknutí na tlačítko “Rozšírené” vám to môže vyhodiť chybové hlásenie: “401: Unauthorized”. To je bug v novších verziách Excelu, cez ktorý sa mi nepodarilo prepracovať ďalej. V takomto prípade skúste buď nájsť riešenie tohto bugu, alebo použite riešenie načítavania dát cez Power Query, ako je uvedené nižšie.

Zobrazí sa nasledovné okno, v ktorom vyplňte položky označené na obrázku nižšie takto:

  • položka “Integrated Security”: nastavte na voľbu “Basic”,
  • položka “User ID”: zadajte tam prihlasovacie meno užívateľa do SAP-u,
  • položka “Password”: zadajte tam heslo užívateľa.

Potom kliknite na tlačítko “OK”. Vráti vás to naspäť do pôvodného okna, kde kliknite na tlačítko “Ďalej”:

Po tomto kroku by vám to malo zobraziť zoznam tabuliek dostupných vo vašom OData service. Následný import do PowerPivotu je už potom rovnaký, ako import ktorejkoľvek inej tabuľky z iného zdroja.

Načítanie dát cez OData zo SAP-u do PowerPivot-u, cez Power Query

Načítanie dát cez OData cez Power Query je jednoduché. Dokonca si môžete vybrať, či dáta chcete načítať najprv do Excelu a potom do PowerPivotu, alebo priamo do PowerPivotu.

Možnosť č. 1: načítanie dát najprv do Excelu, a odtiaľ do PowerPivotu

Keď chcete načítať dáta najprv do Excelu, postupujte podľa návodu na začiatku tohto článku, aby ste načítali dáta najprv do Excelu.

V ďalšom kroku pripojíte potom tabuľku do PowerPivotu ako linkovanú tabuľku. Presný postup nájdete v tomto článku.

Možnosť číslo 2: načítanie dát cez Power Query priamo do PowerPivotu

V tomto prípade postupujte návodu na začiatku tohto článku, ako keby ste chceli načítať dáta do Excelu. Rozdiel bude v poslednom kroku, keď budete v Navigátore, ktorý vám zobrazí zoznam tabuliek. Tam vyberte svoju tabuľku, a dajte ju načítať priamo do PowerPivotu, tak ako píšem vo svojej knihe na strane 437:

Vedľa tlačítka “Načítať” kliknite na tú malú šípku vedľa neho, a vyberte možnosť “Načítať do…”:

Zobrazí sa ďalšie okno, v ktorom vyberte možnosť “Vytvoriť iba pripojenie”, plus zaškrtnite políčko “Pridať tieto údaje do dátového modelu”, a kliknite na tlačítko “Načítať”:

Vybraná tabuľka sa následne načíta priamo do dátového modelu v PowerPivote, a vďaka tomu nemusíte mať zbytočne tú istú kópiu dát aj v Exceli. S bonusom, že cez tlačítko “Transformovať údaje” na predchádzajúcej obrazovke sa dostanete do Power Query, kde si tie dáta môžete pred načítaním ešte aj vyfiltrovať, zoskupiť či opraviť.

Iné spôsoby pripojenia

Pri SAP-e ešte existuje nespočetné množstvo ďalších spôsobov, ako sa k nemu pripojiť a získať z neho dáta. Sú to napríklad rôzne pluginy pre Excel, exporty z rôznych nástrojov a podobne, ale nebudeme sa im tuto venovať. Spomeniem iba možnosť pripojiť sa do SAP-u priamo na jeho databázu SAP HANA, ktorá je už popísaná v tomto článku.

Na záver

Takto sa teda viete pripojiť k SAP-u. Spôsobov je veľa, a určite poteší možnosť pripojenia cez protokol OData. Ktorá je v SAP-e už od nepamäti, a ktorú pozná každý dobrý admin SAP-u. Ak nepotrebujete ťahať gigantické dáta zo SAP-u, tak protokol OData vám poslúži viac ako dobre. Povoliť ho nič nestojí, netreba naň žiadne dodatočné licencie, a funguje v každom lepšom analytickom a reportingovom nástroji. Tak čo si ešte želať viac? 🙂