sql >> Databasteknik >  >> RDS >> Database

Sammanfoga olika datakällor i skiktning

Att jämföra data från två olika datakällor är något som normalt skulle behöva många olika rörliga delar, särskilt om du är intresserad av att skapa lite visualisering av den nya datan.

I Chartios SQL-läge, som i de flesta SQL-redigerare, kan du skriva den här typen av join och koppla ihop dessa två tabeller OM de finns i samma datakälla. Med hjälp av schemaredigeraren kan du diktera hur två sådana tabeller ska sammanfogas i det interaktiva läget, det vill säga OM de finns i samma datakälla. Du kan inte göra detta med två olika och separata datakällor. Det är där Chartios skiktning kommer in.

Hur SQL kan skapa en Join

I SQL-syntax sker sammanfogningen av två tabeller i FROM-satsen och kommandot är mycket enkelt JOIN. Syntaktiskt ser det ut ungefär så här:

_SELECT p.id, p.name, p.city, p.state, s.score_
_FROM public.person_info as p_
_INNER JOIN public.score_info as s ON p.id = s.id_
  • Vad vi har gjort här är dessa två tabeller:

  • Och bokstavligen sammanfogade dem till en tabell med resultaten av var de två tabellerna skär varandra i kolumnen "id".
  • Gå med kan förklaras med den här animationen

  • Den resulterande tabellen är en kombination av de två och ser ut så här:

Som du kan se med animeringen och den resulterande tabellen ovan visar objekten som returneras av INNER JOIN ENDAST rader där ID:t finns i BÅDA tabellerna med de specifika kolumner som nämns i SELECT-satsen. Det är kärnan i JOINS i SQL:ge mig data från flera tabeller där en kolumn som finns i båda tabellerna skär varandra. Detta är den mest grundläggande formen av JOIN THE INNER JOIN. Det finns olika sätt att sammanfoga dessa tabeller, eller olika typer av sammanfogning, och de kan förklaras med hjälp av venn-diagram som de som visas nedan.

Hur Chartio Layers skapar kopplingar

I Chartios interaktiva läge kan du ansluta två källor tillsammans med Layers. Grunderna är ganska enkla här, du behöver bara följa några steg för att ställa in de underliggande frågorna för att upprätta de två tabellerna som ska sammanfogas. Hur lagren gör kopplingar är ganska lik hur Excel kan använda VLOOKUP-funktionen. Genom att välja ett datapipelinesteg för sammanslagning av lager (i det interaktiva läget görs detta genom att lägga till ett nytt lager genom att klicka på plustecknet "+" under datautforskaren) säger du till Chartio att ta tabellerna som är resultatet av de initiala frågorna i specifik syntax för de specifika datakällorna och slå samman dem på de korsande raderna i de valda kolumnerna.

Skillnaden här är att i det interaktiva läget i Chartio dikterar du att dessa kolumner ska sammanfogas på de första 1, 2, 3, etc kolumnerna till vänster om de två tabellerna, liknande Excels VLOOKUP. I motsats till att gå med i SQL-läge där du kan diktera kolumnen i den inskrivna syntaxen.

I Chartio kan Layering-alternativet ansluta två distinkta datakällor, antingen från två olika Amazon Redshift-anslutningar eller PostgreSQL-anslutningar eller till och med gå med och jämföra Google Analytics med en Amazon Redshift-källa eller annan typ av datakälla. I det här exemplet kommer vi att jämföra en Amazon Redshift-källa i Chartio med en Google Analytics-källa som vi använder för att övervaka sidvisningssessioner. Så låt oss jämföra sessioner med Leads från Salesforce Lead Table.

  • Steg 1:Skapa frågan för Amazon Redshift Source.
    • REDSHIFT - Salesforce Layer
      • Tabell - SF Lead
      • Kolumner
        • Antal av distinkt id
        • Dag för skapad datum
        • Skapat datum senaste N veckorna 1

  • Steg 2:Ställ in kopplingssteget genom att lägga till ett nytt lager.

  • Steg 3:Skapa frågan för Google Analytics-källan.
    • GOOGLE ANALYTICS - Chartio Web Analytics
      • Tabell – Session
      • Kolumner
        • # sessioner
        • Besöksdag
        • Tid senaste N veckor 1

  • Steg 4:Använd datapipeline-steg för att manipulera den resulterande sammanfogade tabellen
    • Lägg till kolumn
      • Ny kolumntyp
        • Leads – löpande totalt
      • Formeltyp
        • Kör totalt
      • Använda kolumn
        • Antal av distinkt id

    • Lägg till kolumn
      • Ny kolumntyp
        • Sessioner – löpande totalt
      • Formeltyp
        • Kör totalt
      • Använda kolumn
        • Ga:sessioner

    • Dölj kolumner
      • Antal av distinkt id
      • Ga:sessioner


  1. MySQL SELECT WHERE datetime matchar dag (och inte nödvändigtvis tid)

  2. Hur man installerar SQLcl på en Mac

  3. Har onUpgrade-metoden någonsin anropats?

  4. ORA-00911:ogiltigt tecken