Date post: | 01-Dec-2015 |
Category: |
Documents |
Upload: | subandi-wahyudi |
View: | 65 times |
Download: | 9 times |
Praktikum SSIS denga northwind
Buat database NORTHWIND_DWBuat table dengan perintah query sbb:
CREATE TABLE EMPLOYEE_DIM (EMPLOYEE_KEY INTEGER IDENTITY(1,1) NOT NULL UNIQUE,EMPLOYEE_ID INTEGER NOT NULL,LASTNAME NVARCHAR(20) NOT NULL,FIRSTNAME NVARCHAR(10) NOT NULL,TITLE NVARCHAR(30) NOT NULL,PRIMARY KEY (EMPLOYEE_KEY));
CREATE TABLE SHIPPER_DIM (SHIPPER_KEY INTEGER IDENTITY(1,1) NOT NULL UNIQUE,SHIPPER_ID INTEGER NOT NULL,COMPANY_NAME NVARCHAR(40) NOT NULL,PHONE NVARCHAR(24) NOT NULL,PRIMARY KEY (SHIPPER_KEY));
CREATE TABLE CUSTOMER_DIM (CUSTOMER_KEY INTEGER IDENTITY(1,1) NOT NULL UNIQUE,CUSTOMER_ID NCHAR(5) NOT NULL,COMPANY_NAME NVARCHAR(40) NOT NULL,CONTACT_TITLE NVARCHAR(30) NOT NULL,ADDRESS NVARCHAR(60) NOT NULL,CITY NVARCHAR(15) NOT NULL,REGION NVARCHAR(15),POSTAL_CODE NVARCHAR(10),COUNTRY NVARCHAR(15) NOT NULL,PHONE NVARCHAR(24) NOT NULL,FAX NVARCHAR(24),PRIMARY KEY (CUSTOMER_KEY));
CREATE TABLE PRODUCT_DIM (PRODUCT_KEY INTEGER IDENTITY(1,1) NOT NULL UNIQUE,PRODUCT_ID INTEGER NOT NULL,PRODUCT_NAME NVARCHAR(40) NOT NULL,CATEGORY_ID INTEGER NOT NULL,CATEGORY_NAME NVARCHAR(15) NOT NULL,SUPPLIER_ID INTEGER NOT NULL,DESCRIPTION NTEXT NOT NULL,COMPANY_NAME NVARCHAR(40) NOT NULL,CITY NVARCHAR(15) NOT NULL,REGION NVARCHAR(15),POSTAL_CODE NVARCHAR(10),COUNTRY NVARCHAR(15) NOT NULL,PRIMARY KEY (PRODUCT_KEY));
CREATE TABLE SALES_FACT (OrderID INTEGER NOT NULL,PRODUCT_KEY INTEGER NOT NULL,CUSTOMER_KEY INTEGER NOT NULL,EMPLOYEE_KEY INTEGER NOT NULL,
TIME_KEY INTEGER NOT NULL,SHIPPER_KEY INTEGER NOT NULL,UNIT_PRICE MONEY NOT NULL,QUANTITY SMALLINT NOT NULL,DISCOUNT REAL NOT NULL);
CREATE TABLE TIME_DIM (TIME_KEY INTEGER IDENTITY(1,1) NOT NULL UNIQUE,ORDER_DATE DATETIME NOT NULL,DAY_VALUE NVARCHAR(10),MONTH_VALUE NVARCHAR(10),QUARTER_VALUE NVARCHAR(10),YEAR_VALUE NVARCHAR(10),PRIMARY KEY (TIME_KEY));
Buat SSIS seperti tampak berikut
Ada 6 Data flow Task sbb:- Employee_DIM
Untuk OLE DB Source
SELECT NORTHWIND.DBO.EMPLOYEES.EMPLOYEEID,NORTHWIND.DBO.EMPLOYEES.LASTNAME, NORTHWIND.DBO.EMPLOYEES.FIRSTNAME,NORTHWIND.DBO.EMPLOYEES.TITLEFROM NORTHWIND.DBO.EMPLOYEESwhere NORTHWIND.DBO.EMPLOYEES.EMPLOYEEID
not in (select EMPLOYEE_IDfrom northwind_dw.dbo.EMPLOYEE_DIM)
Dan untuk OLE DB Destination
- SHIPPER_DIM
OLE DB Source
SELECT NORTHWIND.DBO.SHIPPERS.SHIPPERID,NORTHWIND.DBO.SHIPPERS.COMPANYNAME,NORTHWIND.DBO.SHIPPERS.PHONE FROM NORTHWIND.DBO.SHIPPERS whereNORTHWIND.DBO.SHIPPERS.SHIPPERIDnot in(select SHIPPER_ID from northwind_dw.dbo.SHIPPER_DIM)
OLE DB DESTINATION
- CUSTOMER_DIM
OLE DB SOURCE
SELECT NORTHWIND.DBO.CUSTOMERS.CUSTOMERID,NORTHWIND.DBO.CUSTOMERS.COMPANYNAME,NORTHWIND.DBO.CUSTOMERS.CONTACTTITLE,NORTHWIND.DBO.CUSTOMERS.ADDRESS,NORTHWIND.DBO.CUSTOMERS.CITY,NORTHWIND.DBO.CUSTOMERS.REGION,NORTHWIND.DBO.CUSTOMERS.POSTALCODE,NORTHWIND.DBO.CUSTOMERS.COUNTRY,NORTHWIND.DBO.CUSTOMERS.PHONE,NORTHWIND.DBO.CUSTOMERS.FAXFROM NORTHWIND.DBO.CUSTOMERSwhere NORTHWIND.DBO.CUSTOMERS.CUSTOMERIDnot in (select CUSTOMER_IDfrom northwind_dw.dbo.CUSTOMER_DIM)
OLE DB DESTINATION
- TIME_DIM
OLE DB SOURCE
SELECT distinct ORDERDATE,DAY(ORDERDATE) as hari,MONTH (ORDERDATE) as bulan,DATEPART(qq,ORDERDATE) as quarter,YEAR(orderdate) as tahunFROM NORTHWIND.DBO.ORDERSwhere orderdatenot in (select ORDER_DATE from northwind_dw.dbo.TIME_DIM)
OLEDB DESTINATION
- PRODUCT_DIM
OLEDB SOURCE
SELECT NORTHWIND.DBO.PRODUCTS.PRODUCTID,NORTHWIND.DBO.PRODUCTS.PRODUCTNAME,NORTHWIND.DBO.CATEGORIES.CATEGORYID,NORTHWIND.DBO.CATEGORIES.CATEGORYNAME,NORTHWIND.DBO.SUPPLIERS.SUPPLIERID,NORTHWIND.DBO.CATEGORIES.DESCRIPTION,NORTHWIND.DBO.SUPPLIERS.COMPANYNAME,NORTHWIND.DBO.SUPPLIERS.CITY,NORTHWIND.DBO.SUPPLIERS.REGION,NORTHWIND.DBO.SUPPLIERS.POSTALCODE,NORTHWIND.DBO.SUPPLIERS.COUNTRYFROM NORTHWIND.DBO.PRODUCTS,NORTHWIND.DBO.CATEGORIES,NORTHWIND.DBO.SUPPLIERSWHERE NORTHWIND.DBO.CATEGORIES.CATEGORYID = NORTHWIND.DBO.PRODUCTS.CATEGORYIDAND NORTHWIND.DBO.PRODUCTS.SUPPLIERID = NORTHWIND.DBO.SUPPLIERS.SUPPLIERIDand northwind.dbo.products.productid not in
( select PRODUCT_IDfrom northwind_dw.dbo.PRODUCT_DIM)
OLEDB DESTINATION
- SALES_FACT
OLE DB SOURCE
select (select product_key from northwind_dw.dbo.product_dim where northwind_dw.dbo.product_dim.PRODUCT_id=northwind.dbo.[order details].productid) as product_key,(select customer_key from northwind_dw.dbo.customer_dim where northwind_dw.dbo.customer_dim.CUSTOMER_id=northwind.dbo.orders.customerid)as customer_key,(select employee_key from northwind_dw.dbo.employee_dim where northwind_dw.dbo.employee_dim.EMPLOYEE_id=northwind.dbo.orders.employeeid) as empployee_key,(select time_key from northwind_dw.dbo.time_dim
where northwind_dw.dbo.time_dim.order_date=northwind.dbo.orders.orderdate) as TIME_KEY,( select shipper_key from northwind_dw.dbo.shipper_dim where northwind_dw.dbo.shipper_dim.shipper_id=northwind.dbo.orders.SHIPvia) as shipper_key,northwind.dbo.[order details].orderid as order_key,UNITPRICE,QUANTITY,DISCOUNTfrom northwind.dbo.[order details]inner join northwind.dbo.orders on northwind.dbo.[order details].orderid=northwind.dbo.orders.orderidwhere northwind.dbo.[order details].orderidnot in (select OrderIDfrom northwind_dw.dbo.sales_fact) order by northwind.dbo.[order details].orderid,northwind.dbo.[order details].productid
OLE DB DESTINATION