Information Systems for Engineers 9. OLAP and Data Cubes

Preview:

Citation preview

Information Systems for Engineers9. OLAP and Data Cubes

Ghislain FournySpring 2020

Information Systems for EngineersGhislain Fourny

fotoreactor / 123RF Stock Photo

The road to analytics

Aurelio Scetta / 123RF Stock Photo

Another history of data management(T. Hofmann)

Age of Transactions1970s – 2000s

Another history of data management(T. Hofmann)

Age of Transactions

Age of Business Intelligence

1970s – 2000s

1995 -

Another history of data management(T. Hofmann)

Age of Transactions

Age of Business Intelligence

Age of Big Data

1970s – 2000s

1995 -

2000s -

Paradigms

OLTP

Paradigms

OLTP OLAP

vs.

OnLine Transaction Processing

ConsistentandReliableRecord-Keeping

OnLine Transaction Processing

Transactionsand resultson

small portionsof data

OnLine Transaction Processing

Lotsof transactionson

small portionsof data

OnLine Transaction Processing

NormalizedData

OnLine Analytical Processing

Data-basedDecisionSupport arturaliev / 123RF Stock Photo

OLAP is Big

Large portionsof the data

OLAP is Big

Possiblymany joins

Large portionsof the data

OLAP is Big

Possiblymany joins

Large portionsof the data

Few longheavy queries

OLAP Examples

Web analytics

Sales analytics

Management support

Statistical analysis (census)

Scientific databases (e.g., bio-informatics)

OLTP vs. OLAP

DetailedIndividualRecords

HistoricalSummarizedConsolidated

DataAurelio Scetta / 123RF Stock Photo

OLTP OLAP

vs.

OLTP vs. OLAP

OLTP

Lots of writes

OLAP

Lots of reads

vs.

OLTP vs. OLAP

OLTP

Small setsof records

OLAP

vs.Analysis

over big chunks

OLTP vs. OLAP

OLTP OLAP

Slow interactive

vs.

fully interactive(< 1s)

OLTP vs. OLAP

OLTP OLAP

Consistency

RedundancyRedundancyRedundancy

OLAP

Aurelio Scetta / 123RF Stock Photo

A data warehouse

... is a

A data warehouse

... is a

subject-oriented

A data warehouse

... is a

subject-orientedintegrated

A data warehouse

... is a

subject-orientedintegratedtime-variant

A data warehouse

... is a

subject-orientedintegratedtime-variantnonvolatile

A data warehouse

... is a

subject-orientedintegratedtime-variantnonvolatilecollection of data

in support of management'sdecision-making process

Subject-oriented

customers

products

sales

events

Integrated

Time-variant

Timein data warehouses is

paramount(not so in OLTP systems)

Time-variant

2019Y-1Y-2Y-3Y-4Y-5Y-6Y-7Y-8Y-9

Often past 5-10 years

Non-volatile

Milosh Kojadinovich / 123RF Stock Photo

Load.

Non-volatile

Milosh Kojadinovich / 123RF Stock Photo

Load.Access.

Non-volatile

Milosh Kojadinovich / 123RF Stock Photo

Load.Access.Period.

Non-volatile

Milosh Kojadinovich / 123RF Stock Photo

Load.Access.Period.

no updates

Architecture

ERP

CRM

OLTP

Files

Architecture

ERP

CRM

OLTP

ETL

Files

Architecture

ERP

CRM

OLTP

ETL

Files

Analyze

Report

Mine

OLAP: Redundancy

OLAP: Redundancy

Materializedviews

(denormalized)

1st Normal Form (tabular) – The Key

2nd Normal Form (not joined) – The Whole Key

3rd Normal Form – Nothing But The Key

Why materialize?

Operational data sourcesare too heterogeneous

OLAP: Derived data

OLAP: Special-purpose indices

Querying OLAP

0

1

2

3

4

5

6

Category 1 Category 2 Category 3 Category 4

Slow interactive

Series 1 Series 2 Series 3

1 - 10s

Querying OLAP

vs.Continuous

monitoring/tracking0

1

2

3

4

5

6

Category 1 Category 2 Category 3 Category 4

Slow interactive

Series 1 Series 2 Series 3

1 - 10s hours

Summary of differences

OLTP OLAPSource Original (operational) Derived (consolidated)Purpose Business tasks Decision supportInterface Snapshot Multidimensional viewsWriting short and fast, by end user period refreshes, by batch jobsQueries Simple, small results Complex and aggregatingDesign Many normalized tables Few denormalized cubesPrecision ACID Sampling, confidence intervalsFreshness Serializability ReproducibilitySpeed Very fast Often slowOptimization Inter-query Intra-querySpace Small, archiving old data Large, less space efficientBackup Very important Re-ETL

Data Model

Data Cubes

Data is stored in

multidimensionalhypercubes

Data Cubes

Year

Data Cubes

Country

Data Cubes

Product

Fact

2016CH

Server

Dimensions

Where

What?

Who? etc.

Which currency?

When?

Fact table

Where?

Germany 2016 Peter 1,000$

Germany 2015 Mary 15,000$

Switzerland 2016 Mary 1,500$

Switzerland 2015 Peter 3,000$

Australia 2015 Peter 6,000$

China 2015 Mary 1,000$

Aggregation

Where?

Germany 2016 Peter 1,000$

Germany 2015 Mary 15,000$

Switzerland 2016 Mary 1,500$

Switzerland 2015 Peter 3,000$

Australia 2015 Peter 6,000$

China 2015 Mary 1,000$

Aggregation

Aggregation

Where?

Germany 2016 Peter 1,000$

Germany 2015 Mary 15,000$

Switzerland 2016 Mary 1,500$

Switzerland 2015 Peter 3,000$

Australia 2015 Peter 6,000$

China 2015 Mary 1,000$

Aggregation

2016 Peter 1,000$

2015 Mary 16,000$

2016 Mary 1,500$

2015 Peter 9,000$

Slicing

Slicers and Dicers

Dicers Slicers

Slicers and Dicers

Usually between1 and 3 dicers,

often 2

Dicers Slicers

Slicers and Dicers

Servers

World

USD

Slicers

Slicers and Dicers

2014 2015 2016

Peter 1,000,000$ 1,500,000$ 1,400,000$

Mary 2,000,000$ 2,300,000$ 2,200,000$

Servers

World

USD

Dicers

Slicers

Products: the big three

Essbase

Cognos

Analysis Services

ETLing

OLAP: Derived data

OLAP: Derived data

ETL

ETL

ExtractTransformLoad

Extract

Triggers

Incremental updates

Extract

Triggers Gateways

Incremental updates

Extract

Triggers Gateways

Incremental updates Log extraction

Transform

Derivation

Transform

Derivation Value transformation

Herr

Mister

Transform

Derivation Value transformation

Herr

Mister

Cleaning

Transform

Derivation Value transformation

Herr

Mister

CleaningFilter, split, merge, join

Load

Integrity constraints

Load

Integrity constraints Sorting

Load

Integrity constraints Sorting

Build indices

Load

Integrity constraints Sorting

Build indices Partition

Considerations

When?

Considerations

When?Granularity

Considerations

When?Granularity

Infrastructure

Implementation

Two flavors of OLAP

ROLAP

Two flavors of OLAP

ROLAP MOLAP

Fact table (ROLAP)

Dim1 Dim2 Dim3 Dim4 Dim5 Value

Fact table (ROLAP), with multiple measures

Dim1 Dim2 Dim3 Dim4 Dim5 Mes1 Mes2 Mes3

Star Schema

Dim1 Dim2 Dim3 Dim4 Dim5 Value

Snow-flake schema

Dim1 Dim2 Dim3 Dim4 Dim5 Value

NormalizeMore

Querying

Querying cubes

Tables:SQL

Querying cubes

Tables:SQL

Cubes:MDX

Sample Cube (ROLAP)

SalesDate Product Customer Quantity2017-01-01 iPhone X Peter 12017-01-01 Samsung Galaxy S9 Peter 22017-01-01 iPhone X Mary 52017-01-01 Samsung Galaxy S9 Mary 32016-01-01 iPhone X Peter 32016-01-01 Samsung Galaxy S9 Peter 22016-01-01 iPhone X Mary 62016-01-01 Samsung Galaxy S9 Mary 32015-01-01 iPhone X Peter 32015-01-01 Samsung Galaxy S9 Peter 12015-01-01 iPhone X Mary 22015-01-01 Samsung Galaxy S9 Mary 3

Satellite tables

TimeDate Year Quarter2017-01-01 2017 12016-01-01 2016 12015-01-01 2015 1

CustomerName Country PhonePeter UK 555-55-55Mary Switzerland 555-55-56

ProductName Brand PriceiPhone X Apple 1000Samsung Galaxy S9 Samsung 800

Querying with SQL

SELECT *FROM Sales s

Querying with SQL

SELECT *FROM Sales s

Sales

Date Product Customer Quantity

2017-01-01 iPhone X Peter 1

2017-01-01 Samsung Galaxy S9 Peter 2

2017-01-01 iPhone X Mary 5

2017-01-01 Samsung Galaxy S9 Mary 3

2016-01-01 iPhone X Peter 3

2016-01-01 Samsung Galaxy S9 Peter 2

2016-01-01 iPhone X Mary 6

2016-01-01 Samsung Galaxy S9 Mary 3

2015-01-01 iPhone X Peter 3

2015-01-01 Samsung Galaxy S9 Peter 1

2015-01-01 iPhone X Mary 2

2015-01-01 Samsung Galaxy S9 Mary 3

Joining with satellite tables

SELECT t.Year, s.Product, s.Customer, s.QuantityFROM Sales s, Time tWHERE s.Date = t.Date

Joining with satellite tables

SELECT t.Year, s.Product, s.Customer, s.QuantityFROM Sales s, Time tWHERE s.Date = t.Date

Year Product Customer Quantity

2017 iPhone X Peter 1

2017 Samsung Galaxy S9 Peter 2

2017 iPhone X Mary 5

2017 Samsung Galaxy S9 Mary 3

2016 iPhone X Peter 3

2016 Samsung Galaxy S9 Peter 2

2016 iPhone X Mary 6

2016 Samsung Galaxy S9 Mary 3

2015 iPhone X Peter 3

2015 Samsung Galaxy S9 Peter 1

2015 iPhone X Mary 2

2015 Samsung Galaxy S9 Mary 3

Slicing

SELECT t.Year, s.Product, s.Customer, s.QuantityFROM Sales s, Time tWHERE s.Date = t.Date

AND t.Year = 2017

Slicing

SELECT t.Year, s.Product, s.Customer, s.QuantityFROM Sales s, Time tWHERE s.Date = t.Date

AND t.Year = 2017

Year Product Customer Quantity

2017 iPhone X Peter 1

2017 Samsung Galaxy S9 Peter 2

2017 iPhone X Mary 5

2017 Samsung Galaxy S9 Mary 3

Slicing

SELECT t.Year, s.Product, s.Customer, s.QuantityFROM Sales s, Time t, Product pWHERE s.Date = t.Date

AND s.Product = p.NameAND t.Year = 2017AND p.Brand = 'Samsung'

Slicing

SELECT t.Year, s.Product, s.Customer, s.QuantityFROM Sales s, Time t, Product pWHERE s.Date = t.Date

AND s.Product = p.NameAND t.Year = 2017AND p.Brand = 'Samsung' Year Product Customer Quantity

2017 Samsung Galaxy S9 Peter 2

2017 Samsung Galaxy S9 Mary 3

Aggregating

SELECT t.Year, SUM(s.Quantity)FROM Sales s, Time t, Product p

WHERE s.Date = t.DateAND s.Product = p.NameAND p.Brand = 'Samsung'

GROUP BY t.Year

Aggregating

SELECT t.Year, SUM(s.Quantity)FROM Sales s, Time t, Product p

WHERE s.Date = t.DateAND s.Product = p.NameAND p.Brand = 'Samsung'

GROUP BY t.Year

Date Quantity

2017 5

2016 5

2015 4

Aggregating (Rolling up)

SELECT SUM(s.Quantity)FROM Sales s

Aggregating (Rolling up)

SELECT SUM(s.Quantity)FROM Sales s

Quantity

34

Aggregating (Drilling down)

SELECT t.Year, p.Brand, SUM(s.Quantity)FROM Sales s, Time t, Product p

WHERE s.Date = t.DateAND s.Product = p.Name

GROUP BY t.Year, p.Brand

Aggregating (Drilling down)

SELECT t.Year, p.Brand, SUM(s.Quantity)FROM Sales s, Time t, Product p

WHERE s.Date = t.DateAND s.Product = p.Name

GROUP BY t.Year, p.BrandSales

Year Brand Quantity

2017 Apple 6

2017 Samsung 5

2016 Apple 9

2016 Samsung 5

2015 Apple 5

2015 Samsung 4

Materializing all aggregates

SELECT t.Year, p.Brand, SUM(s.Quantity)FROM Sales s, Time t, Product pWHERE s.Date = t.Date

AND s.Product = p.NameGROUP BY t.Year, p.Brand

SELECT t.Year, SUM(s.Quantity)FROM Sales s, Time tWHERE s.Date = t.DateGROUP BY t.Year

SELECT SUM(s.Quantity)FROM Sales s

Materializing all aggregates

SELECT t.Year, p.Brand, SUM(s.Quantity)FROM Sales s, Time t, Product pWHERE s.Date = t.Date

AND s.Product = p.NameGROUP BY t.Year, p.Brand

SELECT t.Year, SUM(s.Quantity)FROM Sales s, Time tWHERE s.Date = t.DateGROUP BY t.Year

SELECT SUM(s.Quantity)FROM Sales s

Roll up

Materializing all aggregates

SELECT t.Year, p.Brand, SUM(s.Quantity)FROM Sales s, Time t, Product pWHERE s.Date = t.Date

AND s.Product = p.NameGROUP BY t.Year, p.Brand

SELECT t.Year, SUM(s.Quantity)FROM Sales s, Time tWHERE s.Date = t.DateGROUP BY t.Year

SELECT SUM(s.Quantity)FROM Sales s

Year Brand Quantity

2017 Apple 6

2017 Samsung 5

2016 Apple 9

2016 Samsung 5

2015 Apple 5

2015 Samsung 4

Materializing all aggregates

SELECT t.Year, p.Brand, SUM(s.Quantity)FROM Sales s, Time t, Product pWHERE s.Date = t.Date

AND s.Product = p.NameGROUP BY t.Year, p.Brand

SELECT t.Year, SUM(s.Quantity)FROM Sales s, Time tWHERE s.Date = t.DateGROUP BY t.Year

SELECT SUM(s.Quantity)FROM Sales s

Year Brand Quantity

2017 Apple 6

2017 Samsung 5

2016 Apple 9

2016 Samsung 5

2015 Apple 5

2015 Samsung 4

Year Quantity

2017 11

2016 14

2015 9

Materializing all aggregates

SELECT t.Year, p.Brand, SUM(s.Quantity)FROM Sales s, Time t, Product pWHERE s.Date = t.Date

AND s.Product = p.NameGROUP BY t.Year, p.Brand

SELECT t.Year, SUM(s.Quantity)FROM Sales s, Time tWHERE s.Date = t.DateGROUP BY t.Year

SELECT SUM(s.Quantity)FROM Sales s

Year Brand Quantity

2017 Apple 6

2017 Samsung 5

2016 Apple 9

2016 Samsung 5

2015 Apple 5

2015 Samsung 4

Year Quantity

2017 11

2016 14

2015 9

Quantity

34

Materializing all aggregates

SELECT t.Year, p.Brand, SUM(s.Quantity)FROM Sales s, Time t, Product pWHERE s.Date = t.Date

AND s.Product = p.NameGROUP BY t.Year, p.Brand

SELECT t.Year, null, SUM(s.Quantity)FROM Sales s, Time tWHERE s.Date = t.DateGROUP BY t.Year

SELECT null, null, SUM(s.Quantity)FROM Sales s

Year Brand Quantity

2017 Apple 6

2017 Samsung 5

2016 Apple 9

2016 Samsung 5

2015 Apple 5

2015 Samsung 4

Materializing all aggregates

SELECT t.Year, p.Brand, SUM(s.Quantity)FROM Sales s, Time t, Product pWHERE s.Date = t.Date

AND s.Product = p.NameGROUP BY t.Year, p.Brand

SELECT t.Year, null, SUM(s.Quantity)FROM Sales s, Time tWHERE s.Date = t.DateGROUP BY t.Year

SELECT null, null, SUM(s.Quantity)FROM Sales s

Year Brand Quantity

2017 Apple 6

2017 Samsung 5

2016 Apple 9

2016 Samsung 5

2015 Apple 5

2015 Samsung 4

Year Quantity

2017 NULL 11

2016 NULL 14

2015 NULL 9

Quantity

NULL NULL 34

Materializing all aggregates

(SELECT t.Year, p.Brand, SUM(s.Quantity)FROM Sales s, Time t, Product pWHERE s.Date = t.Date

AND s.Product = p.NameGROUP BY t.Year, p.Brand)UNION(SELECT t.Year, null, SUM(s.Quantity)FROM Sales s, Time tWHERE s.Date = t.DateGROUP BY t.Year)UNION(SELECT null, null, SUM(s.Quantity)FROM Sales s)

Materializing all aggregates

(SELECT t.Year, p.Brand, SUM(s.Quantity)FROM Sales s, Time t, Product pWHERE s.Date = t.Date

AND s.Product = p.NameGROUP BY t.Year, p.Brand)UNION(SELECT t.Year, null, SUM(s.Quantity)FROM Sales s, Time tWHERE s.Date = t.DateGROUP BY t.Year)UNION(SELECT null, null, SUM(s.Quantity)FROM Sales s)

Year Brand Quantity

2017 Apple 6

2017 Samsung 5

2016 Apple 9

2016 Samsung 5

2015 Apple 5

2015 Samsung 4

2017 NULL 11

2016 NULL 14

2015 NULL 9

NULL NULL 34

Materializing all aggregates

SELECT t.Year, p.Brand, SUM(s.Quantity)FROM Sales s, Time t, Product p

WHERE s.Date = t.DateAND s.Product = p.Name

GROUP BY GROUPING SETS ((t.Year, p.Brand),(t.Year),()

)

Year Brand Quantity

2017 Apple 6

2017 Samsung 5

2016 Apple 9

2016 Samsung 5

2015 Apple 5

2015 Samsung 4

2017 NULL 11

2016 NULL 14

2015 NULL 9

NULL NULL 34

Materializing all aggregates

SELECT t.Year, p.Brand, SUM(s.Quantity)FROM Sales s, Time t, Product p

WHERE s.Date = t.DateAND s.Product = p.Name

GROUP BY ROLLUP (t.Year, p.Brand)

Year Brand Quantity

2017 Apple 6

2017 Samsung 5

2016 Apple 9

2016 Samsung 5

2015 Apple 5

2015 Samsung 4

2017 NULL 11

2016 NULL 14

2015 NULL 9

NULL NULL 34

Cross tabulation of a roll-up

Year BrandApple Samsung

2017 5 6 112016 9 5 142015 5 4 9Total 34

Materializing all aggregates

SELECT t.Year, p.Brand, SUM(s.Quantity)FROM Sales s, Time t, Product pWHERE s.Date = t.Date

AND s.Product = p.NameGROUP BY t.Year, p.Brand

SELECT t.Year, SUM(s.Quantity)FROM Sales s, Time tWHERE s.Date = t.DateGROUP BY t.Year

SELECT p.Brand, SUM(s.Quantity)FROM Sales s, Product pWHERE s.Product = p.NameGROUP BY p.Brand

SELECT SUM(s.Quantity)FROM Sales s

Materializing all aggregates

(SELECT t.Year, p.Brand, SUM(s.Quantity)FROM Sales s, Time t, Product pWHERE s.Date = t.Date

AND s.Product = p.NameGROUP BY t.Year, p.Brand)UNION(SELECT t.Year, null, SUM(s.Quantity)FROM Sales s, Time tWHERE s.Date = t.DateGROUP BY t.Year)UNION(SELECT null, p.Brand, SUM(s.Quantity)FROM Sales s, Product pWHERE s.Product = p.NameGROUP BY p.Brand)UNION(SELECT null, null, SUM(s.Quantity)FROM Sales s)

Materializing all aggregates

(SELECT t.Year, p.Brand, SUM(s.Quantity)FROM Sales s, Time t, Product pWHERE s.Date = t.Date

AND s.Product = p.NameGROUP BY t.Year, p.Brand)UNION(SELECT t.Year, null, SUM(s.Quantity)FROM Sales s, Time tWHERE s.Date = t.DateGROUP BY t.Year)UNION(SELECT null, p.Brand, SUM(s.Quantity)FROM Sales s, Product pWHERE s.Product = p.NameGROUP BY p.Brand)UNION(SELECT null, null, SUM(s.Quantity)FROM Sales s)

Year Brand Quantity

2017 Apple 6

2017 Samsung 5

2016 Apple 9

2016 Samsung 5

2015 Apple 5

2015 Samsung 4

2017 NULL 11

2016 NULL 14

2015 NULL 9

NULL Apple 20

NULL Samsung 14

NULL NULL 34

Materializing all aggregates

(SELECT t.Year, p.Brand, SUM(s.Quantity)FROM Sales s, Time t, Product p

WHERE s.Date = t.DateAND s.Product = p.Name

GROUP BY GROUPING SETS ((t.Year, p.Brand),(t.Year),(p.Brand),()

)

Year Brand Quantity

2017 Apple 6

2017 Samsung 5

2016 Apple 9

2016 Samsung 5

2015 Apple 5

2015 Samsung 4

2017 NULL 11

2016 NULL 14

2015 NULL 9

NULL Apple 20

NULL Samsung 14

NULL NULL 34

Materializing all aggregates

(SELECT t.Year, p.Brand, SUM(s.Quantity)FROM Sales s, Time t, Product p

WHERE s.Date = t.DateAND s.Product = p.Name

GROUP BY CUBE (t.Year, p.Brand)

Year Brand Quantity

2017 Apple 6

2017 Samsung 5

2016 Apple 9

2016 Samsung 5

2015 Apple 5

2015 Samsung 4

2017 NULL 11

2016 NULL 14

2015 NULL 9

NULL Apple 20

NULL Samsung 14

NULL NULL 34

Cross tabulation (grid)

Year BrandApple Samsung

2017 5 6 112016 9 5 142015 5 4 9Total 20 14 34

Cross tabulation

Year BrandApple Samsung

2017 1 2 32016 3 2 52015 3 1 4Total 7 5 12

(Slicer: Peter only)

Cross tabulation

Customer BrandApple Samsung

Peter 1 2 3Mary 5 3 8Total 6 5 11

(Slicer: 2017)

MDX stands for...

Multi-DimensionaleXpressions

Measures

Amount of licenses

Revenues

Taxes paid

...

Dimensions

Quarter

Salesperson

Product

Country

In short...

A cube is a list of

dimensionsindexing a list of

measures

Hierarchies

Dimension values are organized in hierarchies.

[Location]

[Geo] [Economy]i.e., slice and aggregateby geographic region, etc

i.e., slice and aggregateby economic partnership, etc

Members

Members correspond to levels in a hierarchy.

[Geo][Europe] [Asia] [America]

[Switzerland][ZH][BE]

[Germany]...

[China][India]...

[Canada][USA][Brazil]...

[Africa][Ocenia]

Identifying a member

[Location].[Geo].[Europe].[Switzerland].[ZH].[Zurich]

MDX statements: dicing

SELECT[Measures].Members ON COLUMNS,[Location].[Geo].Members ON ROWS

FROM [Sales]

MDX statements: slicing

SELECT[Measures].Members ON COLUMNS,[Location].[Geo].Members ON ROWS

FROM [Sales]

WHERE [Products].[Line].[Laptops].[MBP]

Syntax

XBRL Architecture

Instance (.xml)

Schema (.xsd)

Linkbase (.xml)

Discoverable Taxonomy Set

Technologies

XML

XML SchemaXML Link

XML Names

Fact

<us-gaap:AssetscontextRef="FI2012Q4"decimals="-6"id="Fact-600212FD4D06E63B4F8F6874C6E5BE74"unitRef="usd">

86174000000</us-gaap:Assets>

Dimension ValueWhat? AssetsWho? Coca ColaWhen? Dec 31, 2011Of what? USD

Context

<xbrli:context id="FI2011Q4"><xbrli:entity>

<xbrli:identifier scheme="http://www.sec.gov/CIK">0000021344

</xbrli:identifier></xbrli:entity><xbrli:period>

<xbrli:instant>2011-12-31</xbrli:instant></xbrli:period>

</xbrli:context>December 2011

1 2 3 4

5 6 7 8 9 10 11

12 13 14 15 16 17 18

19 20 21 22 23 24 25

26 27 28 29 30 31

Unit

<xbrli:unit id="usd"><xbrli:measure>iso4217:USD</xbrli:measure>

</xbrli:unit>

Concept (XML Schema)

<xs:elementid='us-gaap_Assets'name='Assets'nillable='true'substitutionGroup='xbrli:item'type='xbrli:monetaryItemType'xbrli:balance='debit'xbrli:periodType='instant' />

Graphs

DAGs

Trees

Node: locator

<locxlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-

gaap-2013-01-31.xsd#us-gaap_Assets"xlink:label="loc_us-

gaap_Assets_102D7A4D204ED45AC0DEDA6BBC78F386"

xlink:type="locator" />

Node: resource

<link:labelid="lab_ko_NetChangeInOperatingAssetsAndLiabilitiesDisclosureAbstract_A6469A522E35CBF355816876394722EE_label_en-US"xlink:label="lab_ko_NetChangeInOperatingAssetsAndLiabilitiesDisclosureAbstract_A6469A522E35CBF355816876394722EE"xlink:role="http://www.xbrl.org/2003/role/label"xlink:type="resource"xml:lang="en-US">NET CHANGE IN OPERATING ASSETS AND LIABILITIES

DISCLOSURE [Abstract]</link:label>

Edge

<presentationArcorder="10"preferredLabel="http://www.xbrl.org/2003/role/totalLabel"xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child"xlink:from="loc_us-

gaap_AssetsAbstract_2F55ECB2BF7C1A62009CDA6BBC757094"xlink:to="loc_us-

gaap_Assets_102D7A4D204ED45AC0DEDA6BBC78F386"xlink:type="arc" />

Summary

Architecture

ERP

CRM

OLTP

ETL

Files

Analyze

Report

Mine

Recommended