Multiple Currencies TP ARPAD

60
1 ORDER MANAGEMENT Chapter 5

Transcript of Multiple Currencies TP ARPAD

1

ORDER MANAGEMENT

Chapter 5

Agenda

� Introduction to Order Management

� Order Transactions

2

� Order Transactions

� Invoice Transactions

� Accumulating Snapshot for the Order Fulfillment Pipeline

� Fact Table Comparison

� Implementing

� In the Real World� In the Real World

� Techniques

� Summary

Introduction to Order Management

� Order management comprised of a series of

business process

3

business process

� A subset of the data warehouse bus matrix

Order Transactions4 Order Transactions

Order Transactions

� The natural granularity for an order transaction fact

table is one row for each line item on an order.

5

table is one row for each line item on an order.

� Example of result schema

Order Transactions

� Fact Normalization

� Dimension Role-Playing

6

� Dimension Role-Playing

� Product Dimension Revisited

� Customer Ship-To Dimension

� Deal Dimension

� Degenerate Dimension for Order Number

� Junk Dimensions� Junk Dimensions

� Multiple Currencies

� Header and Line Item Facts with Different Granularity

Fact Normalization

� Fact Normalization : A single, generic fact amount,

along with a dimension that identifies the type of

7

along with a dimension that identifies the type of

fact

� Use Fact Normalization when

� Set of facts is sparsely populated for a given fact row.

� No computations are made between facts.

We generally resist the urge to further normalize � We generally resist the urge to further normalize

the fact table

Dimension Role-Playing

� Role-Playing : occurs when a single dimension

simultaneously appears several times in the same

8

simultaneously appears several times in the same

fact table.

� Date dimension is found in every fact table because

we are always looking at performance over time.

Dimension Role-Playing

� Example of Role-playing

9

Time Time

Request

Date

Request

Date

Order

Date

Order

Date

Assembly

Date

Assembly

Date

Time Dimension

Time Dimension

Ship

Date

Ship

Date

Arrival

Date

Arrival

Date

Product Dimension Revisited

� Product dimension describes the complete portfolio of products sold by a company.

10

products sold by a company.

� Characteristics of Product dimension

1. Numerous verbose descriptive columns.

2. One or more attribute hierarchies in addition to many nonhierarchical attributes.

3. Add readable text strings to augment or replace numeric codes in the operational product master.codes in the operational product master.

4. Quality assure all the text strings to ensure that there are no misspellings, impossible values, or cosmetically different versions of the same attribute.

5. Document the product attribute definitions, interpretations, and origins in the data warehouse’s metadata.

Customer Ship-To Dimension

� The customer ship-to dimension contains one row for

each discrete location to which we ship a product.

11

each discrete location to which we ship a product.

� Common hierarchy is natural geographic,

customer’s organizational.

Country

Region

Bill’s number

Customer NameRegion

Province

Address

Customer Name

Customer Organization Name

Customer Corporate Parent Name

Customer Ship-To Dimension

� Factors must be taken into consideration:

1. The one-to-one or many-to-one relationship may turn

12

1. The one-to-one or many-to-one relationship may turn

out to be a many-to-many relationship.

2. If the relationship between sales rep and customer

ship-to varies over time then the combined dimension

is in reality some kind of fact table itself!

3. If the sales rep and customer ship-to dimensions 3. If the sales rep and customer ship-to dimensions

participate independently in other business process

fact tables, we’d likely keep the dimensions separate.

Customer Ship-To Dimension

� Example of Customer Ship-To Dimension

13

Deal Dimension

� Deal dimension describes the incentives that have

been offered to the customer that theoretically

14

been offered to the customer that theoretically

affect the customers’ desire to purchase products.

� Deal dimension describes

� the full combination of terms

� Allowance

Incentives� Incentives

Deal Dimension

� Deal Dimension Design

1. If the terms, allowances, and incentives are

15

1. If the terms, allowances, and incentives are correlated, then package them into a single deal dimension.

2. If the terms, allowances, and incentives are quite uncorrelated, then split such a deal dimension into its separate components.

3. In a very large fact table, the desire to reduce the 3. In a very large fact table, the desire to reduce the number of keys in the fact table composite key would favor keeping the deal dimension as a single dimension.

Deal Dimension

� Example of Deal Dimension

16

Degenerate Dimension

for Order Number

� Degenerate dimensions typically are reserved for

operational transaction identifiers.

17

operational transaction identifiers.

� Each line item row in the orders fact table includes

the order number as a degenerate dimension.

� Useful of Degenerate Dimension for Order Number

� allows us to group the separate line items on the order.

� enables us to answer such questions as the average

number of line items on an order.

� is used occasionally to link the data warehouse back to

the operational world.

Junk Dimension

� Why have junk dimension

� Leave flags and indicators unchanged in the fact table

18

� Leave flags and indicators unchanged in the fact table

row

� Make each flag, indicator into its own separate

dimension.

� Strip out all the flags and indicators from the design.

� A junk dimension is a convenient grouping of � A junk dimension is a convenient grouping of

typically low-cardinality flags and indicators.

Junk Dimension

� Sample rows of an order indicator junk dimension

19

Multiple Currencies

� Multiple Currencies : Expressed in both local

currency and the standardized corporate currency.

20

currency and the standardized corporate currency.

� The conversion rate table contains all combinations

of effective currency exchange rates going in both

directions.

Multiple Currencies

� Track multiple currencies with a daily currency

exchange fact table.

21

exchange fact table.

Header and Line Item Facts with

Different Granularity

� Shouldn’t mix fact granularities (for example, order and order line facts) within a single fact table.

22

and order line facts) within a single fact table.

� Allocating header facts to the line item.

Invoice Transactions23 Invoice Transactions

Invoice Transactions

� Occurs when products are shipped from our facility

to the customer

24

to the customer

� Each items corresponding to a product being

shipped

� Various prices, discounts, and allowances are

associated with each line item

Invoice Transactions25

Invoice Transactions

� From invoice fact table we can see …

� All company’s products

26

� All company’s products

� All customers

� All contract and deals

� All off-invoice discounts and allowances

� All revenue

All variable and fixed costs (manufacturing, delivering)� All variable and fixed costs (manufacturing, delivering)

� All money left over after delivery of product

� Customer satisfaction metrics

The optimal place to start a DW

Accumulating Snapshot27

for the Order Fulfillment Pipeline

Accumulating Snapshot

Accumulating Snapshot for

the Order Fulfillment Pipeline

� Useful when we want to better understand how

quickly products move through pipeline

28

quickly products move through pipeline

Order Fulfillment Pipeline Diagram

Accumulating Snapshot for

the Order Fulfillment Pipeline29

Accumulating Snapshot for

the Order Fulfillment Pipeline30

Accumulating Snapshot for

the Order Fulfillment Pipeline

� Typically have multiple dates representing major

milestones of the process

31

milestones of the process

� Useful when the products moving through the

pipeline is uniquely identified

� Electronics equipment with a serial number

� Automobile with a vehicle ID number

Fits most naturally with short-lived processes� Fits most naturally with short-lived processes

� Lag calculations

Fact Table Comparison32 Fact Table Comparison

Fact Table Comparison33

Designing Real-Time Partitions34 Designing Real-Time Partitions

Designing Real-Time Partitions

� DW extend its existing historical time series

seamlessly to the current instant

35

seamlessly to the current instant

� Separated physically and administratively from the

conventional static DW tables

� Requirements

� Contain all the activity occurred since the last update

� Link as seamlessly as possible to the grain and content

� Be so lightly indexed that incoming data can be

continuously dribbled in

Implementing36 Implementing

Business Process37

� Order management process : ก�����ก���� ��� ���������������������� ������ก������ ��� �!�����"��������������� ������ก������ ��� �!�����"�� ก�����#��� ��������

� ก�����ก�������

� ก��$�!������

Business Process (�!�)38

� �'�������(���!����!��)� �����$��� ���*���!��������������!��) $�ก������������� �����$��� ���*���!��������������!��) $�ก������������

� �������ก����� ���������������������ก������ �����$��$������ก���������ก�������ก�������

� $�ก���$�$�!�+,�-.ก���/!���������� ��$�$�!�+,��"���"����!���� 0�!��$�"ก��!�,-�����(��

� ����������!�� ก������-"������"�$����������-���"��+�����-1����!���� � ����������!�� ก������-"������"�$����������-���"��+�����-1����!���� (�!���������-���"��+����������0�!-�*���

Fact Table39

� Invoice Fact

Order Fact� Order Fact

� Order Fulfillment Accumulating Fact

� Order Line Item Fact

� Parts Ordering Fact

� Conversion Fact� Conversion Fact

Cube40

� Invoice

Order� Order

� Order Line Item

� Parts Ordering

In the Real World41 In the Real World

DELL Data Warehouse42

� DELL Data Warehouse(DDW) is a global information management system that stores data pulled directly from Dell’s Regional Order Management and Service management system that stores data pulled directly from Dell’s Regional Order Management and Service Systems.� Order Data is available for the US, Latin America, Canada,

Europe, Asia Pacific and Japan. It’s upload daily with the previous day’s activity.

� of the order in the order lifecycle. The DW provides information for all order statuses and order types to the item level.information for all order statuses and order types to the item level.

� Order Status indicates the position

� Order Type indicates how revenue and cost associated with the order will be treated for accounting purposes.

Dell – Lifecycle of an Order43

� Every order at Dell goes through the following

stages shown below :stages shown below :

Techniques44 Techniques

ก�� Join ��!���!��

� ก�� Join ��������#�(���!�� ��(�!������"�� SQL ���(��

45

��(�!������"�� SQL ���(��

� +*�����������*��� Merge Join

� ��2"+*�� ������"������.-�����������"�$�

�� Join ก������-����"�$�+*� Join ก!��Join ก!��

� $�ก����������3ก#�,��(���-��!�$�+,��"��+���4� Join Key 0-������-���+���4�������'�

ก�� Join ��!���!�� (�!�)46

ก�� Join ��!���!�� (�!�)47

ก����"�� Script Generator #�,�� Time

Dimension ����5��� C#

� �������� �*��+�ก������"0-����������� �������������'ก��(��

48

������ �������������'ก��(��+� Time Dimension (3��$�(�!�"����.-�����+� Fact

Table ก1���)

� +*����������� Script

Generator (���+*�0-��+�Generator (���+*�0-��+�0-1�0�ก))

ก����"�� Script Generator #�,�� Time

Dimension ����5��� C# (�!�)49

� #�,��5��� C# +,��#����"�� ����(�ก#�,��*�����0��������'� �*!� dates� ����(�ก#�,��*�����0��������'� �*!� dates

� �� datesBuffer.AddRow() ก!��

� $�ก���ก#�,���!�+,�0���������� ก1$��#�����.-+!�����+,��-�

ก����"�� Script Generator #�,�� Time

Dimension ����5��� C# (�!�)50

ก����"�� Script Generator #�,�� Time

Dimension ����5��� C# (�!�)51

DateTime StartDate = new DateTime(2009, 6, 1);DateTime EndDate = DateTime.Now;DateTime EndDate = DateTime.Now;DateTime RunningDate = StartDate;

while (RunningDate <= EndDate) {DatesBuffer.AddRow();DatesBuffer.TheDate = RunningDate;DatesBuffer.DateOfMonth = RunningDate.Day;DatesBuffer.Month = RunningDate.Month;DatesBuffer.Quarter = RunningDate.Month / 4 + 1;DatesBuffer.Year = RunningDate.Year;DatesBuffer.Year = RunningDate.Year;RunningDate = RunningDate.AddDays(1);

}

ก��������������!���!��52

� +*� ��0ก�� SQL Server 2008 Report Builder 2.0

� ����� ,-�(��6�"$�ก��1�( �����(� �� �6��� ����� ,-�(��6�"$�ก��1�( �����(� �� �6��

� ,-�$�ก����(6-�������0-�� /.�+*�����3-�ก67-���"�����ก�������ก����4������,���ก��6(�� +�-ก�8���"��ก�ก������ Cube

ก��������������!���!�� (�!�)53

Summary54 Summary

Summary

� Context of the order management process

Dimension role-playing

55

� Dimension role-playing

� Multiple currencies

� Common challenges in modeling orders data

Summary

� Facts at different levels if granularity

Set of facts associated with invoice transactions

56

� Set of facts associated with invoice transactions

� Power of accumulating snapshot fact tables

� Differences between the three fundamental types

of fact tables

� Designing Real-Time Partitions� Designing Real-Time Partitions

Members

� 49050867 �����ก@���� 0�������*

49050917 ���$� �$ ���������

57

� 49050917 ���$� �$ ���������

� 49050925 ����$�C�ก���� 0�����

� 49051154 ���5��� ����D����E

� 49051162 ���5�� 5.!�"

ก�����ก���#����58

1. F�ก���GH,� 0-������,��"��ก"�������2. ���*'� ��ก0�� Business Process I������.- OLTP2. ���*'� ��ก0�� Business Process I������.- OLTP

3. ���*'� ��ก0�� Dimension 0-� Fact Table

4. ���"������.-+,�I������.- OLTP

5. ����I������.- OLTP 6. ���� Dimension Table

7. ���� Fact Table

���� Cube 8. ���� Cube 9. ,�����.-�������"��ก"�������10. �#� Slide Presentation

ก��0�!�,����"�59

F�ก���GH,� 0-������,��"��ก"�������

���*'� ��ก0�� Business Process I������.- OLTP���*'� ��ก0�� Business Process I������.- OLTP

���*'� ��ก0�� Dimension 0-� Fact Table

���"������.-+,�I������.- OLTP

���� Dimension Table

,-� Fact Table

���� Fact Table

���� Dimension

���� Dimension Table

,-� Dimension

,-� Dimension Table

,-� Dimension Table

,�����.-�������"��ก"�������

$� �$ �$�C�ก���� 5��� 5�� ก@����

,-� Fact Table

���� Cube

���� Dimension Table

,-� Dimension Table

,-� Fact Table

�#� Slide Presentation

�ก"�������

�#� Slide Presentation

Questions and Answers60 Questions and Answers