Visa och omvandla datamodellen
Datamodellvyn är en översikt över datastrukturen i en app. Du kan visa detaljerad metadata om tabellerna och fälten. Du kan även skapa dimensioner och mått från datafälten.
Klicka på Datamodellvyn i appnavigeringsfältet för att öppna 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å .
Du kan zooma in och ut genom att klicka på , eller med hjälp av skjutreglaget. Klicka på 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å i den högra delen av fönstret. Klicka på för att låsa upp tabellayouten.
Du kan även arrangera layouten automatiskt med hjälp av alternativen under i verktygsfältet:
UI-element | Namn | Beskrivning |
---|---|---|
Rutnätslayout | Ordna tabellerna i ett rutnät. | |
Automatisk layout | Ordna tabellerna så att så att de anpassas till fönstret. | |
Å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:
UI-element | Namn | Beskrivning |
---|---|---|
Dölj alla | Minimera alla tabeller så att endast tabellnamnet visas. | |
Visa länkade fält | Minska storleken på alla tabeller så att tabellnamnen och alla fält associerade till andra tabeller visas. | |
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.
Å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. Detta filformat är optimerat för snabb datainläsning från ett skript, men det ä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:
|
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 kan du i vissa fall minska antalet datatabeller genom att slå ihop vissa av dem med prefixet Join eller en 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 här: 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:
|
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 här: 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.