# Lägga till transformationsflöden

Du kan inkludera flöden i omvandlingsuppgifter. Med flow designer kan du skapa ett transformationsflöde genom att använda källor, processorer och mål för att definiera komplexa eller enkla omvandlingar.

Transformationsflöden och processorer är logiska representationer. För ELT-uppgifter innebär det att endast en tabell skapas för varje mål och att alla processorer kompileras till en enda SQL-sats per mål.

## Målplattformar som stöds

Följande plattformar stöds med omvandlingsflöden:

* Snowflake

* Databricks

* Google BigQuery

* Azure Synapse Analytics

* Microsoft Fabric

* Microsoft SQL Server

* Amazon Redshift

  Anteckning om informationFöljande Amazon Redshift-funktioner är inte tillgängliga: Generering av UUID-strängar och Redigera avstånd.

## Förutsättningar

Innan du skapar ett transformationsflöde måste du:

* Fylla i lagringsuppgiften med introduktionsdata som du vill använda i transformationsflödet, eller registrera befintliga data. Mer information om att introducera och registrera data finns i [Introduktion av data till ett datalager](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Onboarding/Onboarding-data.htm) och [Registrera data som redan finns på dataplattformen](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Onboarding/Registering-data.htm).
* Förbered och kör lagrings- eller omvandlingsuppgiften som används som en källa i ditt transformationsflöde. Det är inte obligatoriskt att köra lagringsuppgiften, men det rekommenderas för att förhandsgranskningen av data ska kunna visas i varje steg i flödet.

## Skapa ett transformationsflöde

För att skapa ett giltigt transformationsflöde behöver du minst en källdatauppsättning och ett benämnt mål med definierade nycklar.

1. Öppna Omvandla data-uppgiften i din datapipeline.

2. I Omvandla väljer du de källdatauppsättningar som ska ingå i transformationsflöde och klickar sedan på Lägg till transformationsflöde.

   Lägg till transformationsflöde visas och du kan ange inställningar för omvandlingen.

3. Ange ett namn för måldatauppsättningen i Namn.

   Du kan även lägga till en längre beskrivning i Beskrivning.

4. I Materialisering väljer du om omvandlad utdata ska materialiseras eller inte. Du kan välja att ärva inställningen från inställningarna för datauppgiften.

   * På skapar tabeller och hantera tillhörande ELT-bearbetning.

   * Av skapar vyer som utför omvandlingar direkt.

5. I Historisk datalagring (typ 2) väljer du om du vill spara historiska data. Du kan välja att ärva inställningen från inställningarna för datauppgiften. Den här inställningen kräver att Materialisering är aktiverat.

6. Inkrementella laddningar gör att du kan justera frågan för en inkrementell dataladdning genom att använda filter eller andra villkor för att minska datauppsättningen som bearbetas med makron. Inkrementell laddning är enbart tillgänglig om data är materialiserat som tabeller.

   * När Inkrementell laddning är På

     Uppgiftens första körning utför initial laddning och infogar alla resultat av frågan i din måltabell. Efterföljande körningar utför inkrementella laddningar med filter eller specifika villkor som du har definierat för inkrementell bearbetning. Under inkrementell laddning bearbetar uppgiften enbart data som en uppdatering eller infogning. Raderingar hanteras inte.

   * När Inkrementell laddning är Av

     Uppgiftens första körning utför initial laddning och infogar alla resultat av frågan i din måltabell. Efterföljande körningar bearbetar alla resultat av frågan genom att jämföra med din måltabell och bearbeta poster som är nya, ändrade eller raderade.

   Anteckning om informationOm frågan ska välja alla poster som ska finnas i målet inaktiverar du Inkrementell laddning. Poster som inte har valts kommer att raderas i målet.

7. Klicka på Lägg till när du är redo att skapa transformationsflöde.

   Flödesdesignern öppnas, målet skapas och visas i ditt flöde som en målkomponent.

   Anteckning om informationDet är obligatoriskt att ange ett unikt namn för ditt flödesmål. Om du senare vill byta namn på flödesnamnet väljer du målet och anger det nya namnet i Datauppsättningens namn.

8. Om inga nycklar har definierats för ditt mål klickar du på Redigera bredvid fält Nyckel/nycklar och nullbara. Konfigurationsfönstret öppnas.

   Anteckning om informationNycklar ärvs inte från källdatauppsättningar och måste definieras manuellt. Nullbara ärvs från källdatauppsättningar och kan modifieras.

9. I Konfigurera nycklar och nullbara väljer du Nycklar i den kolumn du vill definiera som primär nyckel och väljer Nullbara i kolumnen eller kolumnerna du vill definiera som nullbara.

10. Klicka på Bekräfta för att spara dina ändringar och stänga konfigurationsfönstret.

Om statusen för ditt transformationsflöde är giltigt kan du stänga flödet och förbereda dina data.

Du kan ändra inställningarna för Materialisering och Inkrementell laddning senare i Målinställningar.

* Välj målet och klicka på Redigera bredvid Inställningar i målkonfigurationen.

## Lägga till en processor

Du kan lägga till processorer i dina flöden.

Processorer är komponenter som du kan lägga till i dina flöden för att omvandla inkommande data och skicka tillbaka omvandlade data till nästa steg i flödet.

1. I flödesdesignern väljer du den flödeskomponent som du vill lägga till en processor efter.
2. Klicka på the Vertikal ellipsikon icon i flödeskomponenten och sedan på Lägg till processor och välj vilken processor som ska läggas till. Du kan också dra processorn från den vänstra panelen till bakgrunden.

   Anteckning om tipsEn kort beskrivning av processorn kan visas genom att välja processorn från panelen Processorer.
3. Konfigurera processorn efter dina behov och klicka på Spara för att spara ändringarna och uppdatera förhandsgranskningen av data.

   Anteckning om informationDu kan förhandsgranska ett urval av dina data med hjälp av SQL och Dataförhandsgranskning. Mer information finns i [Förhandsgranska resultat](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Transformation/Adding-SQL-based-tables.htm#Previewi).

### Tillgängliga processorer

the Aggregera icon

### Aggregate- (aggregerings-) processor

the Aggregera icon

### AI-processor

the Rensa icon

### Rensa processor

the Concatenate (konkatenera) icon

### Concatenate- (konkatenerings-) processor

the Filtrera icon

### Filterprocessor

the Förgrening icon

### Fork- (gaffel-) processor

the Hash icon

### Hashprocessor

the Inkrementellt filter icon

### Inkrementellt filter-processor

the Koppla icon

### Join- (kopplings-) processor

the Matematik icon

### Math- (matematik-) processor

the Nummer icon

### Numbers- (tal-) processor

the Ta bort kolumner icon

### Ta bort kolumnprocessor

the Välj kolumner icon

### Välj kolumnprocessor

the SQL-uttryck icon

### SQL Expression-processor

the Strängar icon

### Strängprocessor

the Förena icon

### Union-processor

### Användningsfall: koppla, aggregera och filtrera data på Snowflake

I det här användningsfallet behöver Snowflakes kunddata omvandlas med processorer. Eftersom kundinformationen kommer från två datauppsättningar behöver du först lägga till en Join-processor för att kombinera poster. Du behöver också använda en Aggregeringsprocessor för att beräkna genomsnittspriset för beställningar och en Filterprocessor för att filtrera efter den typ av kundposter som du vill behålla i dina utdatauppsättningar.

![Ett transformationsflöde med en Join- (kopplings-) processor, en Aggregate- (aggregerings-) processor och en Filterprocessor.](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Resources/Images/TransformationFlow/ui_TransformationFlowCanvas.png)

Den första datauppsättningen är baserad på en Snowflake-tabell som heter CUSTOMER\_ACCOUNT och dess schema ser ut så här:

![Snowflake-tabellschema om kundkonton](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Resources/Images/TransformationFlow/ui_TransformationFlowCustomerAccount.png)

Den andra datauppsättningen är baserad på en Snowflake-tabell som heter CUSTOMER\_ORDER och dess schema ser ut så här:

![Snowflake-tabellschema om kundordrar](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Resources/Images/TransformationFlow/ui_TransformationFlowCustomerOrder.png)

1. Dra en Join- (kopplings-) processor från vänster panel i Processorer till bakgrunden.

2. Länka den andra källan till Join- (kopplings-) processorn så att data från båda datauppsättningarna kan kombineras.

3. Konfigurera Join- (kopplings-) processorn så att den sammanfogar de två källdatauppsättningarna med hjälp av kund-ID-nycklarna (CUSTOMER\_ID).

4. Dra en Aggregate- (aggregerings-) processor efter Join- (kopplings-) processorn.

5. Konfigurera Aggregerings processorn för att beräkna det genomsnittliga beloppet för ett kundinköp (ORDER\_TOTAL\_PRICE) och lagra det i en ny kolumn som du kan namnge avg\_order\_pricesamtidigt som du grupperar poster efter kundsegmenttyp (LEFT\_CUSTOMER\_SEGMENT).

6. Dra och släpp en Kopplingsprocessor från vänster panel i Processorer till bakgrunden.

7. Konfigurera Filterprocessorn till att filtrera efter företagskundtyper (Företag).

8. Välj the Filter icon på processorn för att öppna menyn och klicka på Lägg till icke-matchande mål för att lägga till ett andra mål i ditt flöde.

   Detta mål kommer att innehålla de poster som inte matchade filterkriterierna, de individuella kundtyperna (Individuell).

9. Ange ett namn för den nya måldatauppsättningen, till exempel individual\_cust.

10. Kontrollera förhandsgranskningen av utdata i båda målen:

    Målet business\_cust visar det genomsnittliga orderpriset för Företagskundtyperna, här 157.463687151.

    ![Utdata som visar det genomsnittliga orderpriset för företagskundtyper](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Resources/Images/TransformationFlow/ui_TransformationFlowBusinessOutput.png)

    Målet individual\_cust visar det genomsnittliga orderpriset för individuella kundtyper, här 153.576530612.

    ![Utdata som visar det genomsnittliga orderpriset för individuella kundtyper](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Resources/Images/TransformationFlow/ui_TransformationFlowIndividualOutput.png)

11. Kontrollera att ditt transformationsflöde har en giltig status och stäng det sedan.

12. I fönstret Omvandla klickar du på Förbered för att förbereda dina data.

## Begränsningar och överväganden

I transformeringsflöden kan följande datatyper inte användas direkt som värden i processorer som Rensa, Hash eller Filtrera:

* TIME

* DATE

* DATETIME

* JSON

För att arbeta med dessa datatyper, konvertera dem först till format som stöds (till exempel STRÄNG eller NUMERISK) och använd dem sedan i dessa processorer.

## Metodtips

När du lägger till käll- eller måldatauppsättningar i dina flöden bör du ange nycklar och nullables i konfigurationspanelen för måldatauppsättningarna.