Var inte rädd för relationer

Med de nya datamodelleringsfunktionerna kan du skapa flexibla datakällor som är uppbyggda kring relationer.

Relationer kombinerar data från olika tabeller genom att titta på vilka kolumner (fält) som är gemensamma för tabellerna och sedan använda den informationen för att föra samman information från respektive tabell i analysen.

Till skillnad från kopplingar och föreningar skapar relationer en datakälla utan att platta ut flera tabeller för att bilda en enskild tabell. Det betyder att relaterade datakällor vet vilken tabell varje fält kommer från, vilket i sin tur innebär att fältens kontext, eller detaljnivå, bevaras. Relaterade datakällor kan därför hantera tabeller med olika detaljnivå utan problem med duplicering eller dataförlust.

Kopplingarna är inte bestämda i förväg i en relaterad datakälla. I stället för att slå samman alla data (då du tvingas arbeta med alla data oavsett om det egentligen behövs i varje enskild visualisering) kombineras endast relevanta data, per blad och efter behov. När du drar och släpper utvärderas relationerna för de relevanta fälten och tabellerna. Dessa relationer används för att skriva frågor med rätt kopplingstyper, aggregeringar och hantering av null-värden.

Du kan fokusera på hur data passar ihop och vilka frågor du vill ha svar på, i stället för hur du ska kombinera data eller kompensera för artefakter från datakällan.

Relationer ersätter inte tidigare sätt att kombinera data såsom kopplingar, föreningar och kombinationer. Relationerna är i stället ett nytt, flexibelt sätt att föra samman data från flera olika källor. De befintliga metoderna finns kvar, och är lämpliga i specifika scenarier.

Använda relationer

I det här avsnittet lär du dig hur du skapar en relaterad datakälla och hur du använder en för analys. Om du vill följa med i genomgången kan du ladda ner datauppsättningen Bookshop(Länken öppnas i ett nytt fönster). Välj Bookshop.xlsx om du vill börja från början med bara rådata, eller välj MinimalBookshop.tdsx om du vill börja med en färdig baskonfiguration av den relaterade datakällan.

Obs! Relationer är tillgängliga i Tableau 2020.2 och senare.

Video: Migrerade data

Om du öppnar en befintlig arbetsbok från en tidigare version av Tableau (version 2020.1 eller tidigare) i Tableau 2020.2 eller senare, kan du se en tabell med namnet Migrerade data på fliken för datakällan.

Det här avsnittet innehåller flera inbäddade videor. För att underlätta för dig finns en transkription i det expanderbara avsnittet under varje video.

Transkription av videon Migrerade data

Om du öppnar en arbetsbok som skapades innan relationer var tillgängliga (före version 2020.2) kanske datakällan inte ser likadan ut. Om den innehöll kopplade eller förenade tabeller visas de som en enda logisk tabell med namnet Migrerade data. Dubbelklicka för att visa de underliggande tabellerna – de är kvar, och analysen fungerar fortfarande som förväntat.

Observera att om du bara använder tabellen Migrerade data så fungerar rutan Data mer som i tidigare versioner av Tableau Desktop.

Du kan till och med relatera nya tabeller direkt till tabellen Migrerade data om du vill utöka datamodellen.

När du har lagt till relationer i datamodellen uppdateras rutan Data med den nya layouten, med bevarade dimensioner och mätvärden i respektive tabell, och tabellen Migrerade data visas som en enda, sammanslagen tabell.

Video: Relatera tabeller

Obs! Det gränssnitt för redigering av relationer som du ser i den här videon skiljer sig något från gränssnittet i den senaste versionen, men har samma funktioner.

Transkription av videon Relatera tabeller

Om du vill skapa en datakälla med relaterade tabeller ansluter du till dina data och drar en tabell till arbetsytan. Dra ut en andra tabell. En relation skapas automatiskt om det går. Om Tableau inte kan identifiera de relaterade fälten uppmanas du att välja dem manuellt.

Arbetsytan som du ser är ett nytt lager av datamodellen där du kan skapa relationer mellan tabeller. När du drar ut fler tabeller läggs de till i datamodellen. Den krökta linjen visar vilka tabeller som är relaterade.

Relationer kan baseras på beräknade fält. Du kan också ange hur fält ska jämföras genom att använda operatorer när du definierar relationen.

Lägga till kopplingar

Du kan skapa en koppling genom att dubbelklicka på en tabell för att öppna arbetsytan för kopplingar (även kallat det fysiska lagret) och sedan dra ut en tabell för att skapa en koppling. Du kan skapa kopplingar på samma sätt som i tidigare versioner av Tableau – du kan definiera en kopplingssats, inklusive en beräkning om det behövs, och konfigurera kopplingstypen.

När du stänger arbetsytan för kopplingar visas en kopplingsikon för tabellen på relationsarbetsytan (även kallat det logiska lagret) som anger att det finns en underliggande koppling. Det beror på att en koppling slår samman sina tabeller för att bilda en enda, ny tabell. Relaterade tabeller är fortfarande separata tabeller.

Lägga till föreningar

Du kan lägga till föreningar genom att dra ut Ny förening. Precis som kopplingar slår föreningar samman data, och en ikon visas i det logiska lagret. Vi rekommenderar att du alltid byter namn på föreningar – och tabeller med otydliga namn – till något mer beskrivande.

Video: Alternativ för prestanda

Obs! Det gränssnitt för redigering av relationer som du ser i den här videon skiljer sig något från gränssnittet i den senaste versionen, men har samma funktioner.

Transkription av videon Alternativ för prestanda

Alla relationer har prestandaalternativ och relaterade fält. Säkra standardinställningar konfigureras automatiskt för dessa alternativ. Om du vet hur dina data är utformade kan du dock ändra alternativen så att det blir lättare för Tableau att konfigurera automatiska kopplingar i samband med analysen. Om du konfigurerar alternativen för kardinalitet och referensintegritet blir det lättare för Tableau att optimera dina frågor.

Kardinalitet

Kardinalitet anger huruvida posterna i länkningsfältet är unika. Om flera böcker kan ha samma författare, men varje författare endast förekommer en gång i författartabellen, så är kardinaliteten för AuthID (Författar-ID) Många för Books (Böcker) och En för Author (Författare) mellan de båda tabellerna. Den här inställningen påverkar hur Tableau hanterar aggregering före eller efter kopplingen.

Referensintegritet

Referensintegritet anger huruvida en post i en tabell alltid har en relation i en annan tabell. Om alla böcker har en författare så har Book (bok) referensintegritet gentemot Author (Författare). Om inte alla författare har en bok så har Author (Författare) inte referensintegritet gentemot Book (Bok). Den här inställningen påverkar hur Tableau väljer en kopplingstyp och hanterar omatchade poster.

Mer information finns i Kardinalitet och referensintegritet.

Exempel: Bookshop-data

Innan vi börjar analysera data i den här datakällan ska vi se vilka data den innehåller.

Datauppsättningen innehåller information om (fiktiva) böcker och det är viktigt att hålla isär böcker och utgåvor. En bok är själva verket, med attribut som till exempel titel, författare och genre. Böcker kommer ofta i olika utgåvor, med attribut som till exempel pris och format (inbunden eller pocket), som representeras av ett ISBN-nummer. Utgåvan av en bok har en utgivare och ett visst antal sidor, medan en bok kan ha vunnit priser eller ingå i en serie.

Du kan följa med i genomgången genom att ladda ner MinimalBookshop.tdsx, eller våga dig på att bygga modellen helt själv baserat på Bookshop.xlsx. Observera att du kan dölja många av ID-fälten när tabellerna har kombinerats.

Video: Arbeta med flera tabeller

Obs! Det gränssnitt för redigering av relationer som du ser i den här videon skiljer sig något från gränssnittet i den senaste versionen, men har samma funktioner.

Transkription av videon Arbeta med flera tabeller

Sidan Datakälla

Notera, innan vi går till fliken för ett blad, att vyn med datarutnätet nedan endast visar fälten från en tabell i taget. Om vi klickar på en annan tabell ser vi den tabellens data. Det finns ingen övergripande vy eftersom relaterade data inte förs samman förrän de används i en analys. Tills dess finns dessa data i separata tabeller och visas därför per tabell.

Om vi klickar på en tabell med en underliggande koppling eller förening ser vi sammanslagna data, inklusive eventuella null-värden.

Rutan Data

När vi klickar på ett blad kan du märka att rutan Data inte ser likadan ut som i tidigare versioner av Tableau. I stället för uppdelningen kring dimensioner och mätvärden är fokus nu på tabellerna. Varje tabell har en egen struktur med dimensioner och mätvärden, som representeras av den här linjen. Om du vill kan du fortfarande välja att gruppera efter mapp.

Antal poster och Antal

Det finns inte heller något fält av typen Antal poster. Det beror på att själva konceptet Antal poster inte ser likadant ut. Det finns inte ett enda ”Antal poster” för datakällan. Alla tabeller har ett fält av typen Antal, som fungerar som ett slags lokalt fält för antal poster för tabellen.

Om du vill visa antalet poster för flera tabeller samtidigt kan du använda Mätvärdesnamn och Mätvärden eller markera flera fält av typen Antal och använda Visa mig för att skapa en visualisering.

Video: Grundläggande beräkningar

Transkription av videon Grundläggande beräkningar

Vi kan göra några beräkningar så att datauppsättningen blir lite lättare att förstå. Först kan vi skapa en beräkning för författarnas fullständiga namn som för samman för- och efternamnet. Vi skapar en beräkning med namnet Author Name (Författarens namn) som bara består av förnamnet, följt av ett blanksteg och efternamnet. Observera att beräkningen är kvar i tabellen Author (Författare) eftersom endast fält från den tabellen används.

[First Name] + " " + [Last Name]

När vi gör en försäljning är försäljningsbeloppet en kombination av priset – som sätts av utgivaren och som är specifikt för utgåvan, eller ISBN-numret – och eventuella rabatter vid försäljningstillfället. Beräkningen av Sales Amount (Försäljningsbelopp) blir alltså priset multiplicerat med 1 minus rabatten. Observera att vi använder funktionen ZN – eller Zero Null – för att hantera försäljningar utan rabatter, så att inga null-värden returneras. Den här beräkningen hamnar i det gemensamma området längst ned i rutan Data eftersom den använder fält från flera tabeller. Aggregerade beräkningar hamnar också längst ned i rutan Data.

[Price] * (1-ZN([Discount]))

Video: Uppsättningar och grupper

Transkription av videon Uppsättningar och grupper

Vi ska skapa en uppsättning för böcker för att ange om de ingår i en serie. Högerklicka på Title (Titel) i tabellen Book (Bok) och välj Skapa > Uppsättning. Vi ger den namnet In a series (Ingår i en serie). Gå till fliken Villkor och välj Per fält med Series Name (Namn på serie), Antal, som >= 1.

Fältet Format i tabellen Edition (Utgåva) är relativt detaljerat, med information om exempelvis massmarknad och storpocket. Ibland är den typen av information användbar, men ibland är det inte nödvändigt att skilja mellan ”inbunden” och ”pocket”. Högerklicka på fältet Format i rutan Data och välj Skapa > Grupp. Vi väljer namnet Cover (Omslag). Ctrl-klicka för att välja allt utom Hardcover (Inbunden) och klicka på Grupp. Namnet på gruppen markeras automatiskt, och vi döper den till Paperback (Pocket).

Precis som med beräkningen för författarens namn är posterna som vi nyss skapat relevanta inom en enda tabell, och är därför kvar i dessa tabeller i rutan Data.

Analysera relaterade data

Nu ska vi jämföra hur analysen ser ut mellan relationer och kopplingar. Vi rekommenderar att du laddar ner de tillhörande arbetsböckerna för Fråga 1 och Fråga 2 i stället för att fortsätta med din egen datakälla som du använt ovan. Om du upptäcker problem med konfigurationen av datakällan eller stegen i Fråga 1 så är de avsiktliga och tjänar ett syfte i scenariot.

Fråga 1: Hur många utgåvor finns det av varje bok? 

Viktigt: Videon till Fråga 1 spelades in med betaprogramvara. I den offentliga versionen av 2020.2 hanteras felet som vi försöker mata in i den relaterade datakällan som det ska. Om du följer med i genomgången kommer din arbetsbok inte att matcha videon – relationernas värden stämmer. Men stanna kvar och se när vi försöker överlista vår produkt och tvinga in ett fel i utbildningssyfte.

Vi börjar med lite enklare analyser med båda datakällorna och skapar ett stapeldiagram med var och en, där vi tittar på antalet utgåvor per titel.

RelateradeKopplade

Med den relaterade datakällan:

  1. Dra Title (Titel) till Rader.
  2. Dra Edition (Count) (Utgåva (antal)) till Kolumner.
  3. Aktivera etiketter genom att klicka på etikettikonen i verktygsfältet.
  4. Klicka på ikonen Sortera fallande i verktygsfältet.

 

Med den kopplade datakällan:

  1. Dra Title (Titel) till Rader.
  2. Dra ISBN till Kolumner.
  3. Högerklicka på fältet och välj Mätvärde > Antal.
  4. Aktivera etiketter genom att klicka på etikettikonen i verktygsfältet.
  5. Klicka på ikonen Sortera fallande i verktygsfältet.

Det blir genast tydligt att Count (Antal) inte är rätt aggregering för dessa kopplade data. Men något stämmer inte heller med våra relaterade data. Vi ska ta en närmare titt och se vad problemet är och hur vi kan åtgärda det. Titta på videon (eller läs transkriptionen) och se hur vi gör.

Video: Datavalidering och korrigering av datamodellen

Fråga 1 – transkription av video

Kopplade

Här tittar vi på våra kopplade data. Vi tittar på underliggande data för en markering i den kopplade visualiseringen.

Dialogrutan Visa data innehåller två flikar, Sammanfattning och Fullständiga data.

  • Samma bok har massor av rader, som antagligen är dubbletter som beror på alla kopplingar.

Vi ska åtgärda dubbletterna genom att ändra aggregeringen i fältet ISBN i vyn till Unikt antal. Tänk på att vi måste ha dubbletterna i åtanke i så gott som alla analysscenarier och åtgärda dem med rätt aggregering, filtrering eller struktur i visualiseringen.

Relaterade

Nu ska vi titta närmare på strukturen i den relaterade datakällan, och på vår koppling. Vi tittar på en markerings underliggande data i den relaterade visualiseringen.

Även här innehåller dialogrutan Visa data två flikar, men nu visas fliken Edition (Utgåva) i stället för Fullständiga data. Varje tabell som används i visualiseringen har sin egen flik.

  • Den här boken innehåller dubbletter av raderna. Vi vet att kopplingar kan generera dubbletter, och vi vet också att tabellen Book (Bok) i datakällan i själva verket är tabellen Book (Bok) kopplad till Info (Information) och Award (Utmärkelse).

Vi kan skapa en visualisering med Title (Titel) och Award Name (Namn på utmärkelse) och rulla ner för att utforska innehållet. Och visst stämmer det, The Mallemaroking har vunnit två utmärkelser. Det skulle vara bättre att skapa en relation mellan dessa tabeller än att koppla dem.

Vi går tillbaka till fliken Datakälla och tar bort tabellen Awards (Utmärkelser) från kopplingen och skapar i stället en relation. Nu behöver vi inte längre bekymra oss om dubbletter i den här datakällan.

Fråga 2: Vem av författarna med böcker som ingår i en serie deltar vid flest litterära evenemang?

Video: Arbeta med olika detaljnivåer (LOD)

Fråga 2 – transkription av video

Nu ska vi se vilka författare vi ska arbeta med. Med hjälp av den relaterade datakällan drar vi Author Name (Författarens namn) och Series Name (Namn på serie) till Rader.

Eftersom relaterade datakällor minskar mängden omatchade data i tabeller som endast innehåller dimensioner, fokuserar vi på data som är relevanta för oss. Vi ser att det finns sju författare, och att två av dem har skrivit böcker för två serier. Om du inte bara vill visa matchade värden kan du återställa de omatchade värdena (vilket påminner om hur det fungerade tidigare) via menyn Analys > Tabellayout och markera Visa tomma rader.

RelateradeKopplade

Med den relaterade datakällan:

  1. Dra uppsättningen In a series (Ingår i en serie) från tabellen Book (Bok) till filterhyllan. Med standardinställningen görs filtreringen endast mot medlemmar i uppsättningen.
  2. Dra Author Name (Författarens namn) till Rader.
  3. Dra Book Tour Events (Litterära evenemang) till Kolumner.

Med den kopplade datakällan:

  1. Dra uppsättningen In a series (Ingår i en serie) till filterhyllan.
  2. Dra Author Name (Författarens namn) till Rader.
  3. Dra Book Tour Events (Litterära evenemang) till Kolumner.

Siffrorna här ser inte ut att stämma.

För kopplade data vet vi att det finns dubbletter på grund av kopplingen, och vi vet också att vissa författare har böcker som ingår i en serie. Därför kan vi inte bara ändra aggregeringen, t.ex. till MIN eller MAX, eftersom information om författare med verk som ingår i flera serier går förlorad.

Vad vi vill åt är antalet evenemang per serie, visualiserat efter författare. Det här är ett typiskt fall för LOD-uttryck (detaljnivå) Vi skapar en beräkning för Series Events (Serie (evenemang)):

{FIXED [Series Name] : MIN ([Book Tour Events])}

Notera att MIN ska hantera dubbletter av evenemang för en enda serie.

Om vi nu drar det här nya fältet till Kolumner i stället för de ursprungliga fälten för evenemang, får vi rätt värden.

Vi behövde inte göra något av detta för relaterade data. Relationer är smarta nog att förstå den ursprungliga detaljnivån och hur relationen skapas mellan tabellen Author (Författare) och tabellerna Book (Bok) och Info (Information) via tabellen Series (Serie), och kan koppla och aggregera mätvärdet Events (Evenemang) till Author Name (Författarens namn) – utan att några LOD-beräkningar behövs.

Du behöver inte vara rädd för att skapa relationer mellan data. Se själv. Du kan ladda ner Bookshop-data(Länken öppnas i ett nytt fönster) eller använda egna data. Filtrera, använd tabellberäkningar, skapa olika diagramtyper, konfigurera prestandaalternativ, utforska relationer och experimentera.

Tips för att arbeta med relaterade data

  • Visa underliggande data ofta för att se vilka data en markering representerar.
  • Om du inte måste skapa en koppling – och det finns tillfällen då du kan behöva göra det – är relationer ett mer flexibelt alternativ.
  • Om du inte bara vill visa matchade värden kan du återställa de omatchade värdena via menyn Analys > Tabellayout > Visa tomma rader.

Relaterade resurser

Är du redo att ta dig an beräkningar med relationer? Läs Var inte rädd för beräkningar i relationer.

Är du redo att se hur du kan utföra komplexa analyser med relationer? Läs Var inte rädd för djupare relationer.

Vill du veta mer om tekniken bakom relationer – direkt från produkthanteringsteamet? I så fall får du inte missa serien om relationer i Tableau-bloggen.

Du kan också titta på videopoddar om relationer från Action Analytics(Länken öppnas i ett nytt fönster), t.ex. Why did Tableau Invent Relationships?(Länken öppnas i ett nytt fönster) Klicka på ”Video Podcast” (Videopodd) under Library(Länken öppnas i ett nytt fönster) (Bibliotek) om du vill se mer.

Tack för din feedback!Din feedback har skickats in. Tack!