unit 5 - educlash

44
Unit 5.1 www.educlash.com

Upload: others

Post on 03-Nov-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Unit 5.1

www.educlash.com

UNIT 5CHAPTER 1

DATAWAREHOUSING

www.educlash.com

1.ETL: Transformations and OtherOperators:

STORE mapping,Adding source and target operators,AddingTransformation Operators, Using a Key Lookupoperator, Creating an external table, Creating and loading alookup table, Retrieving the key to use for a LookupOperator,Adding a Key Lookup operator, PRODUCTmapping, SALES cube mapping, Dimension attributes in thecube, Measures and other attributes in the cube, Mappingvalues to cube attributes, Mapping measures' values to acube, Mapping PRODUCT and STORE dimension values tothe cube, Mapping DATE_DIM values to the cube, Featuresand benefits of OWB.

www.educlash.com

STORE mapping In the Design Center, we will right-click on the Mappings

node of the ACME_DW_PROJECT | Databases |Oracle | ACME_DWH database and select New.... EnterSTORE_MAP

www.educlash.com

Adding source and targetoperators

Use POS_TRANS_STAGE table as our source table. The target for this mapping is going to be the STORE

dimension

www.educlash.com

connect the following attributestogether:

STORE_NAME to NAME STORE_NUMBER to STORE_NUMBER STORE_ADDRESS1 toADDRESS1 STORE_ADDRESS2 toADDRESS2 STORE_CITY to CITY STORE_STATE to STATE STORE_ZIPPOSTALCODE to ZIP_POSTALCODE STORE_REGION to REGION_NAME

www.educlash.com

STORE_NAME, STORE_NUMBER:We need to trim spacesand change these attributes to uppercase to facilitate queriesas they are part of the business identifier STORE_ADDRESS1, ADDRESS2, CITY, STATE, and

ZIP_POSTALCODE:We need to trim spaces and change theSTATE attribute to uppercase STORE_REGION:We need to trim spaces and change this

attribute to uppercase

www.educlash.com

Adding TransformationOperators

The particular transformationnames we need under the characterheading are the upper() function toconvert to uppercase and the trim()function to remove whitespace.

www.educlash.com

After dropping theTransformationOperator on themapping, it will pop upa dialog box where weselect thetransformation wewant to use.

www.educlash.com

www.educlash.com

www.educlash.com

www.educlash.com

After making all these connections, our mapping should now looksimilar to the following with all the Transformation Operators

collapsed into their icon views:

www.educlash.com

step2

www.educlash.com

Using a Key Lookup operator

Key Lookup operators, as the name implies, are used forlooking up information from other sources based on somekey attribute(s) in a mapping.

www.educlash.com

Creating an external table an external table's data is stored in a flat file that is external to the

database. External tables are created under the Oracle | ACME_DWH |

External Tables node in the Design Center, so we'll right-clickon it and select New... from the pop-up menu. This will launchthe ExternalTable wizard Step 1.We'll name this external table COUNTIES Step 2. select the file that contains the metadata for the

external table (COUNTIES_CSV ) Step 3. will select the default location to use for this table .

The drop-down menu on this screen will display the filelocations that have been defined in the Design Center.Wewill select the ACME_FILES_LOCATION entry, which is forthe files that exist for this project.

www.educlash.com

www.educlash.com

Creating and loading a lookup table we have our source table defined for our new lookup table let's create a

new mapping called COUNTIES_LOOKUP_MAP using the samemethod we've used previously 1. Right-click on the Mappings node, select New..., enter

COUNTIES_LOOKUP_MAP in the name field, and click on the OKbutton.

2. In the Mapping Editor that pops up, let's drag an ExternalTable Operatorfrom the Palette window onto the mapping.

3. On the Add External Table Operator pop-up window that appears, ourCOUNTIES external table is visible.We will select that and click on the OKbutton to continue.This will drop an External Table Operator on ourmapping that is bound to our COUNTIES external table.

4.We need to get that data loaded into a regular table in the database, sonext we'll drag aTable Operator onto the mapping.

5. In the resulting AddTable Operator pop up that appears, we specify whattable we want to add.

www.educlash.com

We'll click on OKand it will drop aTable Operator ontoour mapping with noattributes defined init.

www.educlash.com

Let's drag a line from the output group (OUTGRP1) of ourCOUNTIES external table over to the input/output group(INOUTGRP1) of our new COUNTIES_LOOKUP table. This mapping is done. However, there is one more step we

need to take to actually create the lookup table definition.Remember we created our table operator as an unboundoperator, which means it's not associated with any databaseobject. If we look in the ACME_DWH |Tables node, there isno

table named COUNTIES_LOOKUP.

www.educlash.com

1. When we right-click on the unbounded operator, the pop-upmenu has a menu selection called Create and Bind....Withthis option we will create a new table object in the OWB

Tables node and bind this operator to it.

2. The name is the same as what we gave to the operator.3. The Create in: text field is to specify the module in which to

create the new table under our project in the Design Center.4. When we click on the OK button on this dialog box, a table is

created in theTables node and is bound to theoperator.

www.educlash.com

When we use the option to create a table in this manner, it creates abasic, no-frills table with no constraints defined on it.To add a primary

key, we'll perform the following steps:

1.In the Design Center, open the COUNTIES_LOOKUP table in the DataObject Editor by double-clicking on it under the Tablesnode.

2. Click on the Constraints tab.3. Click on the Add Constraint button.4.Type PK_COUNTIES_LOOKUP (or any other naming convention we

might choose) in the Name column.5.In theType column, click on the drop-down menu and select Primary

Key.6.Click on the Local Columns column, and then click on the AddLocal

Column button.7. Click on the drop-down menu that appears and select the ID column.8. Close the Data Object Editor.

www.educlash.com

Retrieving the key to use for a LookupOperator

The county ID is only a portion of the entire STORE_NUMBERfield, so we can't just use the STORE_NUMBER from input as thedirect key to a Key Lookup Operator.

actually a fixed known format, and the positions three through sixof the number are actually the code for the location of the store inthe county.

The county ID is only a portion of the entire STORE_NUMBERfield, so we can't just use the STORE_NUMBER from input as thedirect key to a Key Lookup Operator.We will have to extract theID number out of it and then convert it to a number before wecan use it to look up the county.

www.educlash.com

Adding a SUBSTR TransformationOperator

TheTransformation Operators available to us in OWB include aSUBSTR (or substring) transformation that will do exactly whatwe need to extract the county ID value out of theSTORE_NUMBER field.

The SUBSTR transformation takes three parameters—the stringwe want to extract the substring from, a number indicating thestart position of the substring within the string, and a numberindicating the length of the substring to extract.

drag aTransformation Operator onto theSTORE_MAP mappingbetween the POS_TRANS_STAGE table and the STOREdimension below all the otherTransformationOperators.

www.educlash.com

www.educlash.com

Adding a Constant operator We'll click and drag a Constant operator onto the mapping

to the left of the SUBSTR Transformation Operator. We can see that it has an output group called OUTGRP1

by default. We'll right-click on it and select Open Details... from the

pop-up menu.

www.educlash.com

Clicking on the Output Attributes tab we see that thereare no attributes currently existing for this operator. This is where we will add our constants that we need for the

SUBSTR operator. OUTPUT1 We'll change the name to position.

www.educlash.com

Adding a TO_NUMBERtransformation

The SUBSTR value is ready and we can use it to look up thecounty ID, but there's one more transformation we need toapply before we can use it to look up the county name. it needs to be converted into a number to match the data

type of the ID field in the COUNTIES_LOOKUP table Todo this, we will use the TO_NUMBER() function. let's drag a Transformation Operator onto our mapping

to the right of the SUBSTR operator and selectTO_NUMBER from the resulting pop up.

www.educlash.com

Adding a Key Lookup operator After that little side trip to quickly create our lookup table

and add a SUBSTR operator with a TO_NUMBERtransformation to convert the result to a number. Let's drag a Key Lookup operator onto the mapping and

drop it to the right of the TO_NUMBER operator. the KEY_LOOKUPWizard is launched

www.educlash.com

www.educlash.com

1. Rename it to COUNTIES_LOOKUP2. Key Lookup operators require one input and one output

group (INGRP1 and OUTGRP1 )3. select one or more operators to map into the input group

of the Key Lookup operator

www.educlash.com

Step 3

www.educlash.com

4. will specify in which object to look up the value.Wewill click onthe Next button toproceed to the finalstep where we willspecify what toreturn if no recordis found in thelookup table.

So we'll click on NULL that currently appears as the default for the COUNTY_NAME value andtype in 'UNKNOWN' in the box.

Wewill click on the Next button to proceed to the Summary screen

www.educlash.com

www.educlash.com

Now we have a completed mappingthat will populate our STORE

dimension

www.educlash.com

PRODUCT mapping The mapping for the PRODUCT dimension will be similar

to the STORE mapping

www.educlash.com

SALES cube mapping drag each of these onto our mapping usingTable Operator forthe

POS_TRANS_STAGE table and Cube Operator for the SALEScube.

The POS_TRANS_STAGE table is very familiar to us as we haveused it for the two dimensions, but the SALES cube is new. Itlooks slightly different than the dimensions we worked withearlier .

For the STORE dimension, we identified NAME andSTORE_NUMBER as the business identifiers.

The third dimension we have defined for our cube is theDATE_DIM dimension.

Toopen it in the Data Object Editor, navigate in the DesignCenter to ACME_DWH | Dimensions |DATE_DIM anddouble-click to open it.

www.educlash.com

look at the Levels tab where we can inspect each level of the dimension and seewhat attributes were identified for each level.We can scroll down and click on theDAY level

www.educlash.com

www.educlash.com

Mapping an Expression operator(fordate)

Wecan launch the Expression Builder byclicking on the button with three dots to theright of the Expression input field thatappeared when we clicked on it.TheExpression Builder dialog box appears andwe can create our expression.

www.educlash.com

www.educlash.com

www.educlash.com

Features and benefits of OWB By providing us the ROLAP option, the OracleWarehouse

Builder opens to us the design features of cubes anddimensions even though we'll be implementing themrelationally with tables in our database. The Expression Builder provides us a powerful tool

to use for interactively building expressions. Support for Slowly Changing Dimensions is built in

with the Enterprise ETL option.

www.educlash.com

UNIT 5END OF CHAPTER 1

DATAWAREHOUSING

www.educlash.com