Az ETL adatfolyamokban az Integration Services transzformációkat használ az adatok manipulálására. A transzformációkat a Data Flow Task-okban használhatjuk, adatforrás- és célkomponensek, illetve más transzformációk között.

Sok olyan eset van (például jelentéskészítésnél), amikor egy adathalmaz néhány elemének transzponálására van szükség. Az adattárházak betöltési folyamata közben a Pivot transzformáció tud segíteni ezen feladat megoldásában.

Például, ha a forrás-adathalmazunk így néz ki:



Ekkor a Pivot transzformáció felhasználásával ilyenné transzponálhatjuk:


A transzformációnak nincs egyszerű szerkesztőfelülete, az Advanced Editor segítségével konfigurálhatjuk azt.
Ebben az esetben, az Advanced Editor Input Columns oldalán minden mezőt ki kell jelöljünk:


Az Input and Output Properties oldalon, minden oszlop PivotUsage értékét meg kell változtatnunk: 1 a Period, 2 a Metric Name és 3 az Amount esetében. ezek a lehetőségek a következőket jelentik:
Minden kimeneti mezőt menuálisan kell konfigurálni, és hozzárendelni egy forrásmezőhöz. Ezt az új mezők PivotKeyValue és SourceColumn tulajdonságának beállításával érhetjük el:
A fenti esethez, az új, Profit nevű mező PivotKey értéke "Profit" kell legyen, a SourceColumn értéke pedig "111", ami az Amount bemeneti mező LineageID értéke:


Ez a transzformáció egy bemenettel, egy rendes és egy hibakimenettel rendelkezik. A BIDS Data Flow szerkesztőjében így néz ki (PVT Pivot):



Ez egy részlegesen blokkoló transzformáció, aminek oka az új pufferek létrehozása.

Lévén nem lehet egyértelmű kapcsolatot meghatározni a bemeneti és a kimeneti sorok között, ez egy aszinkron transzformáció is.

Tehát a Pivot transzformációt felhasználhatjuk az Unpivot transzformáció ellentettjeként is, ami normalizált eredményhalmazok előállításánál hasznos.

Ezen traszformációról bővebb információt ebben az MSDN cikkben lehet találni.
Az SSIS transzformációk teljes listáját a ebben a Wiki cikkben lehet megtalálni.


További nyelveken

Ez a cikk elérhető a következő nyelveken is: