Skip to content

Metabase

Metabase er en opensource plattform for moderne datautforskning og visualisering.

Kom igang

Metabase for interne data i NAV er tilgjengelig på metabase.ansatt.nav.no. Innloggingen gjøres med SSO.

Hvordan fungerer tilgangsstyring i Metabase?

Med unntak av all-users@nav.no så støtter vi ikke at gruppetilganger gitt gjennom Datamarkedsplassen synkroniseres til Metabase. For å få tilgang i Metabase må derfor hver enkelt bruker gis individuell tilgang til datasettet i Datamarkedsplassen. Dette inkluderer også eiere av datasettet.

Dersom teamet legger til datasettet i Metabase (Legg til i Metabase på Datamarkedsplassen), vil det være tilgjengelig for de samme som har tilgang til datasettet på Datamarkedsplassen. Når datasettet legges til i Metabase, vil det opprettes en database (I i figuren under) og en collection (II i figuren under) i Metabase. Begge deler er tilgangsbegrenset. Tilgangsstyringen gjelder både for å lese Dashboard og for å lage dem.

flowchart BT
subgraph Dataprodukt
subgraph Datasett 1
A{Tilganger}
B[(BigQuery-tabell)]
end
end

subgraph Metabase
subgraph II: Tilgangsstyrt collection
C[Dashboard]
D[Questions]
end
E[(I: Database)]
F{Metabase-tilganger}
end

subgraph Annen collection
G[Questions]
H[Dashboard]

end

A --Tilganger til Metabase er <br> er de samme som i BigQuery--> F
B --> E
F --> D
D --> C
G --Personer med tilgang til <br> collectionen har tilgang til <br> *resultatet* fra questionen <br> om den ligger i samme collection. <br> De kan ikke endre questionen <br> eller se data i underliggende tabell--> H
E --> F
F --Kan kun bruke data <br> andre steder om personen <br> har tilgang--> G

Datasett som er åpne for alle i NAV (all-users@nav.no) synkroniseres automatisk til Metabase og åpnes for alle brukere.

Tilgangsbegrensede elementer i åpent tilgjengelige dashboards vil fortsatt være tilgangsbegrenset. Det betyr at om du inkluderer data som kun er tilgjengelig for ditt team inn i et åpent dashboards, vil folk utenfor teamet få beskjed om at de ikke har tilgang til akkurat det dataene.

Hvor skal spørsmål og dashboards lagres?

Det er fra versjon 1.53 mulig å lagre spørsmål direkte i dashboardet. Dette er praktisk med tanke på orden, men spørsmålene vil da ikke være tilgjengelig for bruk i andre dashboards.

Tilgangen knyttet til mappen elementene er lagret i bestemmer hvem som kan se dem. Metabase har to toppnivå:

  • Personal collections: Her kan du lagre alt som ikke skal være synlig for andre enn deg selv.
  • Our analytics: Alt som skal være synlig for andre lagres her. Fortrinnvis nede i ditt teams undermappe®.

Det er mulig å flytte elementer mellom mapper og dashboards etter behov, men husk at det er tilgangen til mappen som bestemmer hvem som kan se spørsmål og dashboard.

Administere datamodell

Når et datasett legges til i Metabase vil appen gi hvert felt en semantisk type som den tror passer. Hvis Metabase gjetter feil kan det føre til problemer som at du ikke kan summere tall, filtrere på en kategori eller bruke tidsfunksjoner. Dette kan endres i adminmenyen:

  1. Trykk på tannhjulet oppe til høyre og gå inn i "Admin settings". Her finner du alle datasett du har tilgang til via Datamarkedsplassen.
  2. Velg tabellen du ønsker å administrere.
  3. Her kan du for hvert felt gjøre endringer som å velge semantisk type og filtertype utifra hva du selv ønsker. Merk at disse endringene vil gjelde for alle som bruker dette datasettet til å lage spørsmål.

Er du usikker på hvilken type som passer kan du prøve deg fram eller velge en av disse:

  • Kategori: Entity name eller Category
  • Tid: Creation timestamp eller Creation date
  • Tall: Quantity

Sync og scan av tabeller

Dersom du gjør endringer på skjemaet til en tabell i BigQuery vil ikke Metabase oppdage dette av seg selv. Det må trigges en sync manuelt. Dette kan du gjøre selv ved å gå inn i "Admin settings", velge tabellen du ønsker å synce og trykke på "Sync options". Der har du to valg, "Sync table schema" og "Re-scan table". I dette tilfellet er det en sync som må til, men det kan ofte være nyttig å trykke på begge. Når syncen er trigget vil Metabase bruke det nye skjemaet innen få minutter. Det kan være nødvendig å refreshe nettleseren for å at nye felter skal dukke opp.

En gang i døgnet gjøres det en full table scan. Metabase sjekker da hvilke mulige verdier hver kolonne kan ha for å populere nedtrekksmenyer og lignende. Scans kan trigges ved å trykke "Re-scan table" som beskrevet over.

Public dashboards

Fra menyen på datamarkedsplassen kan man gjøre dashbord "public". Et public dashbord kan være nyttig i følgende situasjoner: - Teamet vil vise fram dashbordet til kolleger som ikke har metabasebruker. - Teamet ønsker en "view only"-lenke til dashbordet. - Dashbordet skal vises på en infoskjerm.

FAQ

Q: Jeg får ikke lov å gjøre endringer på et spørsmål. Hva kan jeg gjøre?
A: Dette betyr at du ikke har tilgang til datasettet spørsmålet er knyttet til. Gå til Datamarkedsplassen og sjekk at din e-post har tilgang til datasettet.

Q: Datamarkedsplassen viser at jeg har tilgang, men jeg har ikke tilgang i Metabase.
A: Det kan noen ganger skje feil hvor tilgangen din ikke blir riktig syncet til Metabase. Dette kan vanligvis løses ved å slette tilgangen og legge den til på nytt. Merk at gruppetilganger ikke synces til Metabase.

Q: Jeg har nettopp lagt til en ny kolonne i BigQuery-tabellen min. Hvorfor dukker den ikke opp i Metabase?
A: Du må trigge en sync. Se avsnittet om sync og scan av tabeller.

Q: Filter-verdier i Metabase er ikke oppdatert?
A: Metabase kjører en daglig scan av hele tabellen i BigQuery for å finne ut av hvilke verdier som finnes. Dette brukes bl.a. til å generere "options" i filter. Disse vil også oppdateres med "Re-scan table" som forklart over.

Q: Hvorfor får jeg ikke joinet datasett som er åpent tilgjengelig?
A: Du kan det! Men du må gjøre det med "SQL query". Et alternativ er å joine tabeller i BigQuery, lage et nytt datasett og legge dette til i Metabase.

Q: Kan jeg koble sammen datasett som er tilgangsbegrenset?
A: Slik Metabase er satt opp, er det en unik service-bruker per tilgangsbegrensede datasett. Generelt anbefaler vi å gjøre joins i et BigQuery-view og registrere dette som et nytt datasett.

Q: Jeg har tilgang til et datasett i Datamarkedsplassen gjennom å være medlem av en AD-gruppe og får lest data direkte fra BigQuery, hvorfor har jeg da ikke tilgang til samme datasett i Metabase?
A: I Metabase leses data fra kilden med en service-bruker og ikke din personlige bruker. Vi har ikke synkronisering av AD-grupper til Metabase, så for å få samme tilgang i Metabase må hver enkelt person legges til manuelt for å inkluderes i korrekt tilgangsgruppe i Metabase.