I denne tredelte bloggserien om hvordan jobbe praktisk med Enin, skal vi vise hvordan få det meste ut av Enins verktøykasse:
Del 1: Der vi bretter opp ermene, og søker etter teknologifirma i vekst.
Del 2: Der vi graver dypere, og integrerer Enins Datasets API inn i Excel.
Del 3: Der vi bygger infrastruktur, og integrerer Enins Datasets API via Alteryx.
Om Enins "Datasets API"
Datasets API-et fokuserer på å levere store mengder data for dataanalyse og datavarehusdrift. Dette går over "HTTPS"-kall, som per tid er anerkjent som standard for de fleste API-integreringer på web. Når det er sagt, så er den underliggende infrastrukturen laget en del mer fleksibelt enn de fleste API-er, og er svært optimert for datauttrekk.
Datasets API-et består av flere "endpoints" som er delt inn i logiske gruperinger. Nå i Januar 2021, så finnes det følgende grupperinger av Datasets API "endpoints":
Hvert "endpoint" har et webadresse-mønster, altså en URL, som kan bli endret for å hente ut forskjellig data. Disse er i prinsippet spørringer. Følgende er et enkelt eksempel:
https://api.enin.ai/datasets/v1/dataset/company?limit=10
Denne henter ut 10 tilfeldige selskap som en JSON-fil. Om man legger til &order_by_fields=company.name
og &response_file_type=csv
på slutten, så kan du sortere dem på navn og få dataen som CSV-fil i stedet:
https://api.enin.ai/datasets/v1/dataset/company?
limit=10&order_by_fields=company.name&response_file_type=csv
(husk å fjern "åpenrom" og "nylinjer" om du gjør klipp-og-lim på det over)
Du kan gjøre langt mer også, men for nå la oss ikke blir forstyrret av kjedelig detaljer og syntaks, og heller fokusere på problemer dette kan løse. For tekniske detaljer anbefales denne Datasets API-veiledningen.
Knytte Datasets API-et til Excel
I denne veilederen bruker vi "Microsoft Excel Version 2012" fra "Microsoft 360 MSO".
Excel er en ofte undervurdert plattform. Det er mange integreringsmuligheter som gir praktisk talt ubegrenset muligheter for analyse. Det handler om å vite hvor man skal lete.
La oss komme i gang med integreringen.
Gå til "Data"-fanen i Excel, så klikk "From Web". Alternativt naviger gjennom "Get Data" > "From Other Sources" > "From Web":
Dette vil vise frem "From Web"-vinduet, hvor du kan legge inn URL "endpoints"-ene vi pratet om før. I URL-boksen kan vi legge inn URL-en vi pratet om i stad.
Dette vil ta oss til et autentiserings-vindu. Om du ikke har fått tilgangsinformasjon for Datasets API-et, be om tilgang her. Legg inn "Basic Authentication Client ID" og "Basic Authentication Client Secret" fra tilgangsinformasjonen du har fått, og velg https://api.enin.ai/
som tilgangsnivå. Dette vil gjøre tilgangsinformasjonen gyldig for andre "endpoints" vi bruker.
Når du nå velger "connect" så vil du få en forhåndsvisning av dataen:
Om du klikker "Load" så vil du få et nytt ark med en datatabell knyttet til hva Excel kaller et "Query".
Om du har kommet så langt som dette så har du nå Enin-data klar for å gjøre hva enn du trenger i Excel.
En ting som kan være verdt å nevne, er hvordan man endrer eller fjerner tilgangsinformasjonen fra Excel. Gå til "Data"-fanen, så "Get Data" > "Data Source Settings...":
... og så velg "Global permissions". Herfra kan du gjøre endringer og/eller fjerne tilgangsinformasjonen helt:
Synkronisering av dine bedriftslister/watchlist
Nå vet vi hvordan å integrere et API "endpoint". La oss hente inn noe tallmateriale for å jobbe med. Om du husker fra forrige innlegg, så laget vi en relevant liste av firma ved hjelp av "Company Browser" i webportalen. Og så eksporterte vi den til Excel, og kunne fortsette å jobbe med den derfra. Det er veldig nyttig, men hvordan holder vi den oppdatert?
Eksportering av "Company Browser"-data til Excel er nyttig, men ofte litt knot om du ønsker å gjøre samme operasjonen ofte. Synkronisering av bedriftslister/"watchlists" kan gjøre dette enklere.
Listen vi laget sist kan lagres som en bedriftsliste/"watchlist" i stedet for å bli eksportert:
Om du ser nærmere på toppen av nettleseren din sin addresselinje, så ser du at "watchlist" har en "id" vi kan bruke, af2f21ab-19c0-4a01-be70-0465d11056f8
, som del av API "endpoint" URL-en vi lager. La oss hente noe regnskapsdata ved hjelp av følgende URL:
http://api.enin.ai/datasets/v1/dataset/accounts-composite?response_file_type=csv
&watchlist_uuid=af2f21ab-19c0-4a01-be70-0465d11056f8
&accounts.accounting_year=2019
&keep_only_fields=
company.org_nr,
company.name,
accounts_highlights.income_statement__operating_revenue,
accounts_highlights.income_statement__ebitda,
accounts_highlights.balance__cash_and_deposits
(husk å fjern "åpenrom" og "nylinjer" om du gjør klipp-og-lim på det over)
Her har vi satt hvilken "watchlist" vi skal hente data for med watchlist_uuid=af2f21ab-19c0-4a01-be70-0465d11056f8
og at vi ønsker regnskapstall for bare 2019 med accounts.accounting_year=2019
og at vi ønsker omsetning, EBITDA og kontanter/bankinnskudd som datafelt ved å bruke parameteren keep_only_fields
. Et eksempel på et sånn felt eraccounts_highlights.income_statement__operating_revenue
hvor accounts_highlights
er entiteten/tabellen i Enin-systemet og income_statement__operating_revenue
er datafeltet.
Om du ikke vet nøyaktig hvilket felt du ønsker å beholde, så kan du alltids fjerne parameteren keep_only_fields
. Da får du samtlige datafelt, som du kan ta utgangspunkt i for neste spørring.
La oss nå ta i bruk URL-en vi har laget. Gå til "Data"-fanen, så klikk "From Web" og legg inn URL-en inn i "From Web"-vinduet:
Denne gangen må vi dessverre gjøre litt mer arbeid for å få korrekt data ut, så klikk på "Transform Data" i forhåndsvisningsvinduet:
Dette tar opp "Power Query Editor"-verktøyet, som gir oss finkontroll på hvordan dataen hentes ut og transformeres før den ender i Excel arket. Årsaken til at vi må gjøre endringer her er at API-et bruker standard nummer-formatering med punktum (.) som desimal-tegn, i stedet for det særnorske kommaet (,). Min Excel er visstnok konfigurert til å bruke Norsk "culture" som standard selv om den er satt til Engelsk, trolig du også, så vi må overstyre hvordan Excel tolker kolonnene vi skal importere.
Men ja, vi gjør dette ved å velge "Changed Type" i panelet til høyre. Først oppdatere vi formelen i toppen sånn at regnskapskolonnene er satt til type number
. Og så må vi tvinge punktum (.) til å bli brukt ved å legge til "en-US"
som siste "culture"-parameter. Når dette er gjort kan vi velge "Close & Load" oppe til venstre. En oppsummering finner du under:
Dette legger til et nytt ark med data. Nå kan vi gjøre ting som å plotte data og sette filter og sorter i Excel, osv.
Om vi sorterer på cash_and_deposites
så kan vi se at det er en del bedrifter med en god del "cash". La oss si at vi ikke er så interessert i disse firmaene, og har lyst å fjerne dem fra bedriftslisten/"watchlist"-en:
La oss gå til webportalen, og slå disse opp for å fjerne dem fra "watchlist"-en:
Om vi nå hadde brukt Excel-eksport fra Company Browser i stedet, så kunne vi ikke synkronisert dataen. Men nå kan vi oppfriske Excel-arket med fersk data sånn her:
Som du kan se så er bedriftene med mer enn 10 MNOK i "cash" borte. Altså fikk vi til å synkronisere Excel-arket.
API-filtrering
En ting å merke seg er at du ikke må filtrere bare på bedriftslister/"watchlists". Den er bare en av mange mulige måter å filtrere på.
Du står fritt til å velge på enhvert datafelt i systemet
Filter-typer som er tilgjengelig er som følger:
I forrige eksempel fjernet vi bedrifter direkte fra en bedriftsliste/"watchlist". Vi kunne også ha filtrert dem bort med å endre på URL-en vi brukte mot API-et, uten å endre på den underliggende bedriftslisten.
La oss fortsette med det forrige eksemplet, og prøve å fjerne bedrifter med omsetning på mindre enn 0.5 MNOK. For å gjøre dette så kan vi legge til &accounts_highlights.income_statement__operating_revenue=GTE:500000
i URL-en. Her står GTE
for "Greater Than or Equals", altså vi beholder bare bedrifter som har mer enn 0.5 MNOK in omsetning.
http://api.enin.ai/datasets/v1/dataset/accounts-composite?response_file_type=csv
&watchlist_uuid=af2f21ab-19c0-4a01-be70-0465d11056f8
&accounts.accounting_year=2019
&keep_only_fields=
company.org_nr,
company.name,
accounts_highlights.income_statement__operating_revenue,
accounts_highlights.income_statement__ebitda,
accounts_highlights.balance__cash_and_deposits
&accounts_highlights.income_statement__operating_revenue=GTE:500000
(husk å fjern "åpenrom" og "nylinjer" om du gjør klipp-og-lim på det over)
Om vi oppfrisker spørringen i Excel så vil du se at bedriftene med mindre enn 0.5 MNOK i omsetning er borte:
De finnes likevel i den underliggende bedriftslisten, så endringene skjer bare i Excel-arket ditt.
Protip: Du kan bruke hurtigtastene "Ctrl+Alt+F5" for å friske opp alle spørringene dine i Excel.
Der har du det: Excel-integrering med Enins Dataset API. I neste "jobbe praktisk med Enin"-innlegg ser vi på hvordan å gjøre liknende integrering med Alteryx. Ved bruk av et slikt verktøy vil du virkelig ha ubegrenset muligheter for integrering og analyse.