Gå till huvudinnehåll

Visa och omvandla datamodellen

Datamodellvyn är en översikt över appens datastruktur. Här kan du visa detaljerade metadata om tabeller och fält. Du kan även skapa dimensioner och mått från datafälten.

Klicka på Datamodellvyn under fliken Förbered i navigeringsfältet så öppnas datamodellvyn.

Varje datatabell representeras av en ruta, som får tabellens namn som rubrik och innehåller en lista över alla fält i tabellen. Tabellassociationer visas med linjer, där en streckad linje indikerar en cirkelreferens. När du väljer en tabell eller ett fält markeras associationerna, vilket omedelbart ger dig information om hur fält och tabeller hänger samman. Du kan söka efter specifika tabeller och fält genom att klicka på Search data model.

Datamodellen visar datastrukturen i appen.

Data model viewer.

Du kan zooma in och ut genom att klicka på zoom in, zoom out eller med hjälp av skjutreglaget. Klicka på Home för att återställa zoomnivån till 1:1.

I förhandsgranskningspanelen kan du inspektera innehållet i en tabell eller ett fält. Du kan även lägga till dimensioner och mått i appen om du väljer ett fält. Mer information finns i Förhandsgranska tabeller och fält i datamodellvyn.

Flytta tabeller

Du kan flytta tabellerna genom att dra i dem på bakgrunden. Tabellernas placering sparas när appen sparas.

Du kan låsa tabellayouten (placeringar och storlekar) genom att klicka på Locked i den högra delen av fönstret. Klicka på Unlocked för att låsa upp tabellayouten.

Du kan även arrangera layouten automatiskt med hjälp av alternativen under Grid View i verktygsfältet:

Alternativ för att flytta tabeller
UI-element Namn Beskrivning
Grid View Rutnätslayout Ordna tabellerna i ett rutnät.
auto Automatisk layout Ordna tabellerna så att så att de anpassas till fönstret.
Time Återställ layout Återgå till det layouttillstånd som rådde när datamodellvyn öppnades senast.

Ändra storlek på tabeller

Du kan justera en tabells visningsstorlek med hjälp av pilen i tabellens nedre högra hörn. Visningsstorleken sparas inte när appen sparas.

Det går också bra att använda alternativet för automatisk visningsstorlek i verktygsfältet:

Alternativ för att ändra storlek på tabeller
UI-element Namn Beskrivning
Collapse Dölj alla Minimera alla tabeller så att endast tabellnamnet visas.
Reduce  Visa länkade fält Minska storleken på alla tabeller så att tabellnamnen och alla fält associerade till andra tabeller visas.
Expand  Visa alla Maximerar alla tabeller så att alla fält i tabellen visas.

Datamodellens prestanda

Följande är faktorer som kan påverka datamodellens prestanda. De är alla rekommenderade metoder som gör appen mer användbar.

Metodtips för datamodellens prestanda
Åtgärd Beskrivning

Ta bort syntetiska nycklar

Qlik Sense skapar syntetiska nycklar när minst två datatabeller har minst två gemensamma fält. Detta kan betyda att skriptet eller datamodellen innehåller ett fel. Om du vill läsa mer om att diagnostisera syntetiska nycklar, se Syntetiska nycklar.

Ta bort cirkelreferenser från datamodellen

Cirkelreferenser uppstår när två fält har fler än en association. Qlik Sense försöker lösa dessa genom att ändra kopplingen till en av tabellerna. Alla varningar om cirkelreferenser bör dock åtgärdas, se Förstå och lösa cirkelreferenser.

Lämplig detaljnivå för data

Du ska bara ladda nödvändiga data. Exempel: en grupp användare som bara behöver data indelade efter vecka, månad och år. Du kan antingen ladda aggregerade data, eller aggregera data inom laddningsskriptet för att spara minne. Om en användare behöver visa mer detaljerade data kan du använda ODAG eller dokumentkedjor.

Använd QVDs när detta är möjligt

En QVD-fil är en fil som innehåller en tabell med data som har exporterats från Qlik Sense. Det här filformatet är optimerat för hastighet vid läsning av data från ett skript, men är ändå mycket kompakt. Datainläsning från en QVD-fil är vanligtvis 10–100 gånger snabbare än inläsning från andra datakällor. Mer information finns i Arbeta med QVD-filer.

QVD-filer optimeras vid laddning

QVD-filer kan läsas i två olika lägen: standard (snabbt) och optimerat (snabbare). Vilket läge som används bestäms automatiskt av skriptmotorn.

Det finns vissa begränsningar för optimerade laddningar. Det går att byta namn på fält, men alla följande operationer resulterar i en standardladdning:

  • Alla omvandlingar på de fält som laddas.
  • Att använda en where-sats gör att Qlik Sense packar upp posterna.
  • Använda Karta på ett fält som laddas.

Utnyttja inkrementell laddning

Om appen ansluter till stora datamängder från databaser som uppdateras fortlöpande kan det ta lång tid att ladda hela datauppsättningen. Du bör istället hämta nya eller ändrade poster från databasen med inkrementell inläsning. Mer information finns i Ladda nya och uppdaterade poster med inkrementell laddning.

Snowflake -modell konsolideras

Om du har en snowflake-datamodell, kanske du kan minska antalet datatabeller genom att länka några av dem med Join-prefixet eller annan mappning. Detta är särskilt viktigt för stora faktatabeller. En tumregel är att bara ha en stor tabell. Mer information finns i To Join or Not to Join (Använda länkning eller inte).

Denormalisera tabeller som har få fält

Om du har två tabeller med få fält kan du få bättre prestanda genom att länka dem. Mer information finns i Kombinera tabeller med Join och Keep.

Denormalisera leaf-tabeller med mappade laddningar

Du bör inte använda prefixet Join om du bara behöver lägga till ett fält från en tabell i en annan tabell. Du bör använda uppslagsfunktionen ApplyMap, se Don't join - use ApplyMap (Länka inte – använd ApplyMap).

Ta bort eller frikoppla tidsmarkörer från datumfält

Datumfält kan ta mycket plats om tidsmarkören ingår, eftersom strängen blir längre och antalet distinkta värden är högre. Om inte precisionen är nödvändig för analysen kan du avrunda tidsmarkören till t.ex. den närmaste timmen genom att använda Timestamp(Floor(YourTimestamp,1/24)) eller ta bort tidskomponenten helt med Date(Floor(YourTimestamp)).

Om du behöver tidsmarkören kan du frikoppla den från själva datumet. Du kan använda samma Floor()-funktion och sedan skapa ett nytt fält med den extraherade tiden genom att skriva ungefär så här: Time(Frac(YourTimestamp)).

Ta bort fält som inte behövs från datamodellen

Du bör bara ladda nödvändiga fält i din datamodell. Undvik att använda Load * och SELECT. Se till att behålla:

  • fält som krävs för analysen
  • fält som används i appen.

Undvik länktabeller när du arbetar med stora datavolymer

Du bör använda länktabeller när detta är möjligt. Konkatenerade tabeller kan dock vara mer effektiva än länktabeller när du arbetar med stora datavolymer.

Dela upp konkatenerade dimensioner i nya fält

Du bör dela upp konkatenerade dimensioner i olika fält. Då minskar antalet unika instanser av värden i fälten. Detta fungerar på ungefär samma sätt som hur tidsmarkörer kan optimeras.

Använd AutoNumber när detta är möjligt

Du kan skapa en optimerad laddning genom att ladda data från en QVD-fil först och sedan använda AutoNumber-påståendet för att konvertera värden till symbolnycklar.Mer information finns i AutoNumber.

Undvik dataöar

Dataöar kan vara användbara men för det mesta medför de sämre prestanda. Använd variabler om du skapar öar för urvalsvärden.

Lagra QVD:er enligt inkrementella tidsramar

Du bör lagra QVD:er i steg, till exempel varje månad. De mindre QVD:erna från varje månad kan sedan användas av många olika appar som kanske inte behöver alla data.

Mer metodtips finns i Beprövade metoder för datamodellering.