Datavju
Datavju

Join

Join kobler sammen rader fra to eller flere datasett og plasserer feltene deres ved siden av hverandre. Bruk verktøyet til å legge kundedetaljer til ordrer, sammenligne poster med samme identifikator eller finne rader uten treff. Du velger koblingstype, vilkår og kolonner, og lagrer resultatet som en View.

Velg kilder

Start med en Table eller en importert fil, og velg de andre dataene du vil koble til. Datavju kaller en lagret samling rader et Dataset. Den redigerbare Join-en beholder kildene og koblingsreglene du velger. Velg Save for å opprette en View av resultatet. Åpne kildetabellene når du vil redigere postene deres.

Velg Join, Append eller Merge

Velg verktøyet som gir deg radene eller kolonnene du trenger.

  • Join - Koble rader ved hjelp av vilkår og legg feltene ved siden av hverandre. Eksempel: order.customerId = customer.customerId legger country til hver ordre med treff.
  • Append - Legg likeartede poster etter hverandre som flere rader. Eksempel: samle januar- og februarordrer i én lengre liste.
  • Merge - Bruk Merge til å kombinere kompatible sett med lagrede View-steg. Velg Join for å koble ordre- og kundeidentifikatorer.
  • Transform - Rydd felt, beregn verdier eller filtrer rader i en sekvens. Bruk Transform før Join for å fjerne mellomrom fra en nøkkel, eller etter Join for å beregne med de sammenkoblede verdiene.

Opprett et sammenkoblet resultat

Åpne dataene du vil starte med. I dette eksemplet starter du med Orders.

  1. Åpne Orders og velg pilen ved New → Join. Den nye Join-en starter med Orders som grunnlag.
  2. Velg Add Table med plusstegnet ved Orders. Select within starter på All locations; velg eventuelt en mappe. Velg Customers under Select dataset.
  3. Åpne koblingskontrollen mellom Orders og Customers. Join type viser først Inner join. Velg Left join for å beholde alle Orders-radene.
  4. Velg Add join clause. Velg customerId for Parent column, = for Join predicate og customerId for Joined column.
  5. Kontroller forhåndsvisningen. Du ser kundefeltene ved siden av hver ordre med treff, og NULL der kundedetaljer mangler.
  6. Åpne Columns og skjul det overflødige customerId-feltet fra Customers. Hvis du vil beholde begge nøkkelfeltene, lukker du Columns, dobbeltklikker på en kolonneoverskrift i resultatet og gir den et unikt navn. Velg Save og undersøk den nye View-en.
Koblingsredigeringen med Left join og customerId lik customerId, med tre ordrer og NULL i kundefeltene for O-103

Left join beholder alle ordrer, også O-103 som mangler en tilsvarende kunde.

Koblingstyper

Den overordnede tabellen er tabellen du la koblingen til. Den tilkoblede tabellen er tabellen du valgte med Add Table.

  • Inner join — standard - Behold bare par med treff. Med tre Orders-rader og to Customers-rader med treff får resultatet to rader. Bruk dette når en manglende kobling skal utelate posten.
  • Left join - Behold alle rader fra den overordnede tabellen. Feltene fra den tilkoblede tabellen får NULL når treff mangler. Bruk dette for å beholde O-103 selv om C-03 mangler i Customers.
  • Right join - Behold alle rader fra den tilkoblede tabellen. Feltene fra den overordnede tabellen får NULL når treff mangler. Bruk dette for å beholde C-04 selv om ingen ordre viser til kunden.
  • Outer join - Behold par med treff og rader uten treff fra begge sider. I eksemplet gir to treff pluss O-103 og C-04 fire rader.
  • Cross join - Kombiner hver overordnet rad med hver tilkoblet rad. Du trenger ikke noe koblingsvilkår. Tre Orders-rader ganger tre Customers-rader gir ni rader. Bruk dette når du vil lage kombinasjoner.

Vilkår og koblingsinnstillinger

Velg felt og sammenligning for hver kobling. Du trenger et fullstendig vilkår med mindre du velger Cross join.

  • Parent column / Joined column - Velg feltet du vil sammenligne fra hver tabell. For å koble på en kombinasjon som customerId og accountRegion legger du til ett vilkår for hvert felt.
  • Join predicate - Velg =, !=, >, <, >= eller <=. = er vanlig når du sammenligner identifikatorer. Ulikheter er nyttige for bestemte sammenligninger, men kan gi mange par med treff. Den første plassholderen er Choose predicate type.
  • Add join clause - Legg til en ny sammenligning som må oppfylles. Vilkår i samme kobling kombineres med AND. For eksempel må både customerId og accountRegion stemme.
  • Money / Currency - For en Money-kolonne velger du Money for hele beløps- og valutaverdien, eller Currency for valutaens ISO-kode som String. Velg betydningen du trenger på hver side. Standardvalget er hele Money-verdien.
  • Fjern vilkår - Bruk søppelkurven ved vilkåret for å fjerne det. Fullfør de gjenværende vilkårene før du lagrer resultatet.
  • Fjern kobling - Bruk søppelkurven ved koblingen for å fjerne tabellen og eventuelle tabeller som er koblet til under den. Kildedataene er fortsatt tilgjengelige i Organizer.

Resultatkolonner og kildevalg

Bruk kildevelgerne til å velge kilder. Bruk Columns og kolonneoverskriftene til å ordne feltene som lagres i det sammenkoblede resultatet.

  • Select within - All locations er startvalget. Velg en mappe for å begrense datasettlisten, eller velg Clear folder for å se alle plasseringer igjen. Mappevalget beholdes mens du arbeider i denne Join-økten.
  • Select dataset - Velg kilden du vil legge til. Bruk plusstegnet ved en tabell for å koble en ny kilde til den tabellen. Kontroller den overordnede tabellen som vises i koblingen før du velger felt.
  • Columns - Kolonnene er i utgangspunktet med i resultatet. Endre synlighet og rekkefølge, eller bruk Show all / Show none. Skjul en overflødig tilkoblet nøkkel når du allerede beholder den overordnede nøkkelen.
  • Like kolonnenavn - To synlige felt med samme resultatnavn hindrer Save. Hvis du skjuler ett, utelates det fra det lagrede resultatet. Gi feltene forskjellige navn hvis du trenger begge. En advarsel kan markere feltene som har samme navn.

Gjennomarbeidede eksempler

Legg til kundeinformasjon, finn poster uten treff og forstå gjentatte nøkler.

Eksempel: legg kundeland til ordrer

Orders inneholder O-101/C-01, O-102/C-02 og O-103/C-03. Customers inneholder C-01/Germany, C-02/Norway og C-04/France. En Left join på customerId legger Germany til O-101 og Norway til O-102. O-103 beholdes med country NULL. Hvis du skjuler Customers.customerId, fjernes bare det overflødige resultatfeltet. Koblingsvilkåret bruker det fortsatt.

De to kildene.

{
  "orders": [
    {
      "orderId": "O-101",
      "customerId": "C-01"
    },
    {
      "orderId": "O-102",
      "customerId": "C-02"
    },
    {
      "orderId": "O-103",
      "customerId": "C-03"
    }
  ],
  "customers": [
    {
      "customerId": "C-01",
      "country": "Germany"
    },
    {
      "customerId": "C-02",
      "country": "Norway"
    },
    {
      "customerId": "C-04",
      "country": "France"
    }
  ]
}

Resultatet av Left join etter at det overflødige Customers.customerId-feltet er skjult.

[
  {
    "orderId": "O-101",
    "customerId": "C-01",
    "country": "Germany"
  },
  {
    "orderId": "O-102",
    "customerId": "C-02",
    "country": "Norway"
  },
  {
    "orderId": "O-103",
    "customerId": "C-03",
    "country": null
  }
]

Eksempel: undersøk manglende koblinger på begge sider

Bruk de samme kilderadene for å se hvilke poster som mangler en motpart.

  1. Endre Join type til Outer join. Behold orderId og begge customerId-feltene synlige med forskjellige resultatnavn. Dobbeltklikk på en kolonneoverskrift for å endre navnet.
  2. Undersøk de fire radene: to ordrer med treff, O-103 uten kunde og C-04 uten ordre.
  3. Lagre resultatet som en View. Bruk Filter for å velge ut tomme felt når du ønsker en avgrenset liste over manglende koblinger.
  4. Rett postene i kildetabellen. Bruk Refresh i den lagrede View-en når du vil at de lagrede Join-innstillingene skal lese kildeendringene.

Eksempel: forstå gjentatte nøkler

Tenk deg at Orders har to rader for C-01, og Customers også har to rader for C-01. Join gir fire par med treff. Hvis du trenger én kunde per identifikator, retter du de doble Customers-postene først. Hvis du trenger et kundesammendrag, lager du det med Group før du kobler sammen dataene.

Lagre og gjenbruk resultatet

Lagre når forhåndsvisningen viser radene og feltene du trenger.

  • Save / Save as View - Opprett en ny View av hele det gyldige resultatet. Du kan lagre en gyldig Join selv om den ikke gir noen rader. View-en beholder kolonnene og kan oppdateres etter at kilden endres.
  • Save as View to... - Velg en målmappe for det nye resultatet. Lagrer du igjen, opprettes et nytt resultat. Den tidligere View-en oppdateres ikke automatisk.
  • Replace - Oppdater en eksisterende Table eller View, eller bygg inndataene til en valgt Group, Join, Mutate eller Transform på nytt. Det valgte verktøyet beholder innstillingene sine. Kontroller de nye radene i målet etter erstatningen.
  • Group / Join / Transform - Opprett et nytt verktøy med det sammenkoblede resultatet som kilde. Bruk Group til sammendrag eller Transform til beregninger på tvers av de sammenkoblede feltene.
  • Download Model / Create Model Snapshot - Legg Join-en og de nødvendige kildetabellene i en Folder. Åpne mappen og velg Download Model eller Create Model Snapshot for å gjenbruke samlingen. Se Models for trinnene for eksport og import.

Endre en Join med KI

Legg til tabellene først, og velg AI. Be om en bestemt endring, for eksempel «Bruk Left join for Customers» eller «Skjul det overflødige customerId-feltet fra Customers». KI kan endre type, vilkår og resultatfelt for tabellene som allerede er valgt. Kontroller resultatet etter endringen. Når en Command eller Agent ber deg klargjøre en likhetsnøkkel, åpner du kildetabellen, velger String og Materialize column som angitt, og prøver forespørselen igjen.

Begrensninger og vanlige feil

Hvis resultatet avviker fra det du forventer, kontrollerer du nøkkelverdiene og antallet poster for hver nøkkel.

  • Undersøk gjentatte nøkler i de fullstendige kildene når du forventer én post med treff. Hvert par med treff gir én resultatrad.
  • Fyll inn manglende identifikatorer før du bruker likhet til å koble dem. Behold kildeidentifikatorene synlige mens du undersøker NULL-felt.
  • Bruk Transform til å fjerne mellomrom eller samordne typer når identifikatorene er ulike. Koble på stabile identifikatorer som customerId fremfor et visningsnavn som kan gjentas.
  • Hvis en Command eller Agent ber om en materialisert String-nøkkel, klargjør du kolonnen i kildetabellen og prøver igjen. Materialize column lagrer feltet i en form verktøyet kan bruke til kobling.
  • Før du sletter en kilde, åpner du Details og ser på Used By. Fjern først koblingen til kilden fra Join-en som er oppført, hvis du ikke lenger trenger den.
  • Når du har endret en redigerbar Join, bruker du Replace for å oppdatere en tidligere lagret View, eller Save for å opprette et nytt resultat.
  • View - Les og oppdater det lagrede sammenkoblede resultatet.
  • Table - Rediger kildenøkler og klargjør lagrede felt.
  • Transform - Samordne nøkler og beregn sammenkoblede verdier.
  • Append - Legg poster etter hverandre som flere rader.
  • Merge - Kombiner kompatible lagrede View-lag.
  • Group - Oppsummer data med valgt gruppering.
  • Replace - Oppdater et eksisterende lagret resultat.