SlideShare a Scribd company logo
1 of 10
Download to read offline
Quick iteration of metric calculations
for powerful data exploration
2 Data Modeling in Looker White Paper 3
At Looker, we want to make it easier for data analysts to service
the needs of the data-hungry users in their organizations. We
believe too much of their time is spent responding to ad hoc data
requests and not enough time is spent building, experimenting,
and embellishing a robust model of the business. Worse yet,
business users are starving for data, but are forced to make
important decisions without access to data that could guide them
in the right direction.
Looker addresses both of these problems with a YAML-based
modeling language called LookML. With LookML, you build your
business logic, defining your important metrics once and then
reusing them throughout a model. That means you can unleash
them on your business users to manipulate, iterate, and transform
in any way they see fit.
The Reusability
Paradigm of LookML
E-Commerce Example —
Starting with Total Cost of Order
A key difference of LookML is
that, unlike older approaches,
LookML combines modeling,
transformations, and derivations
at the same layer (late-binding
modeling). This allows vast
amounts of data to be captured
in relatively inexpensive
databases (mirrored or
copied), and then derivations
and transformations occur
much closer to, or at, query
time. The traditional approach
is to transform the data as
it’s loaded (ETL), whereas
LookML allows for transform
and derivation on demand
(ELT). The result is a very agile
data environment where user
questions can change and the
data environment can better
keep up.
Let’s take a look at a simple
e-commerce example. We
will create one dimension, the
Total Cost of Order, which can
then be reused and built on
throughout a single LookML
model.
First, a quick primer on a
typical e-commerce data
model, which will help answer
questions about the buying
and selling of items online. In
this example, we’ll work with a
subset of tables: Orders, Order
Items, and Inventory Items. As
a business that tracks Orders,
it’s probably important to
determine the distribution of
customer orders based on cost.
In our current Orders table, we
don’t have a field that tells us
the cost of an order, because
each order contains multiple
items of varying costs. So we
need to calculate a cost of an
order by summing over the sale
prices of the items in the order.
Orders
id created_at user_id
1 2014-04-01 5656
2 2014-04-01 7263
Order Items
id created_at order_id Inventory_item_id sale_price
1 2014-04-01 5656 3 $12
2 2014-04-03 7263 5 $45
Inventory Items
id created_at cost sold_at product_id
1 2014-04-01 $8.50 2014-04-05 5
2 2014-04-02 $24.00 2014-04-04 7
Measures and
Dimensions in
Looker
Looker divides data
exploration into
dimensions and measures.
A dimension is something
you can group by, and a
measure is an aggregated
dimension (for example,
a sum, an average, or a
count).
4 5Data Modeling in Looker White Paper
Correlated Subqueries
In a SQL database query, a correlated subquery (also known
as a synchronized subquery) is a subquery (a query nested
inside another query) that uses values from the outer query.
The subquery is evaluated once for each row processed by
the outer query.
Suppose we want to calculate a new dimension for Orders that will determine the Total Cost of Order.
In this case, the field is not stored in our database, but can be calculated from the sale
price of order items in the order. We’ll use is a simple technique called a correlated subquery. (For
databases that don’t support correlated subqueries or when performance becomes a problem,
Looker supports more complex and powerful mechanisms via derived tables.)
For any given order, the SQL to calculate the Total Cost of Order is:
SELECT SUM(order_items.sale_price)
FROM order_items
WHERE order_items.order_id = orders.id
We sum over the sale price associated for each item in a given order, where the order_items.order_id
field matches with the primary key in the orders table. In Looker, we’d want to create this dimension
in the Orders view, since it’s an attribute of an order.
- view: Order
fields:
		 - dimension: total_amount_of_order_usd
		 type: number
decimals: 2
sql:|
					(SELECT SUM(order_items.sale_price)
					FROM order_items
					WHERE order_items.order_id = orders.id)
We sum over the sale price associated for each item in a given order, where the order_items.order_id
field matches with the primary key in the orders table. In Looker, we’d want to create this dimension
in the Orders view, since it’s an attribute of an order.
- view: Order
fields:
		 - dimension: total_amount_of_order_usd
		 type: number
decimals: 2
sql:|
					 (SELECT SUM(order_items.sale_price)
6 7Data Modeling in Looker White Paper
Tiering Total Cost of Order
We now have a wide range of order amounts, so it probably
makes sense to bucket these values across set intervals.
Normally, if we were writing SQL, we’d have to make a CASE
WHEN statement for each discrete bucket. Conveniently,
LookML has a tier function, so we can use that.
Now let’s see this dimension in action.
-	dimension: total_amount_of_order_usd_tier
	 type: tier
	 sql: ${total_amount_of_order_usd}
	 tiers: [0,10,50,150,500,1000]
Notice that we can reference our existing Total Amount of Order dimension in the ‘sql:’ parameter of
the measure. Now when we use the tier, we bucket orders into their respective tiers:
8 9Data Modeling in Looker White Paper
Determining Order Profit
What if we wanted to know more about each order, maybe
the profit? To determine the profit of an order, we will need a
Total Cost of Order dimension.
-	dimension: total_cost_of_order
	 type: number
	 decimals: 2
	sql:|
				(SELECT SUM(inventory_items.cost)
				FROM order_items
				LEFT JOIN inventory_items ON order_items.inventory_items_id =
					 inventory_items.id
WHERE order_items.order_id = orders.id)
In this case, our SQL sums over the cost of inventory items for a specific order.
Now, to determine the Order Profit dimension, we must subtract the Total Cost of Order dimension
from the Total Amount of Order dimension. Normally, we’d have to subtract the SQL for the Total
Cost of Order from the SQL for Total Amount of Order. But with LookML, we can just reference our
already existing dimensions.
-	dimension: order_profit
	 type: number
	 decimals: 2
	 sql: ${total_amount_of_order_usd} - ${total_cost_of_order}
When using this Order Profit, Looker will substitute the existing business logic for both the Total
Amount of Order and Total Cost of Order. Let’s run a new query using the new Order Profit
dimension.
10 11Data Modeling in Looker White Paper
Calculating Profit Per User
Another valuable metric for an e-commerce business may
be Profit Per User. In Looker, we can reference dimensions
or measures from other views. In this case, to determine the
Profit Per User, we’ll reference our Count measure from the
Users view as the denominator of a measure in the Orders
view, where the numerator is our Order Profit dimension. We
use the Count measure from the Users view to scope the
count with ‘users.’
-	measure: profit_per_user
	type: number
	decimals: 2
	sql: 100.0 *${order_profit}/NULLIF(${users.count},0)
Now we can see how our Profit Per User varies by every order dimension. In this case, we see how it
varies by order date:
12 13Data Modeling in Looker White Paper
Creating an Average
Total Amount of Order
Measure
What if we wanted a measure that computes the Average
Total Amount of Order whenever we group by a dimension
in Looker? For instance, we might group by Average
Total Amount of Order in a certain Month, by orders from
customers in a certain State, or by the Lifetime Number of
Orders of a customer. When we create a measure in Looker,
we can reuse it in many different contexts.
Let’s first build our Average Total Amount of Order measure.
-	measure: average_total_amount_of_order_usd
	type: average
	sql: ${total_amount_of_order_usd}
	 decimals: 2
Again, we can reference our already existing Total Amount of Order dimension and set the dimension
type as an average. Now when we use this dimension, it will aggregate over all total order amounts
within that group, calculating the average.
Here we see how the Average Total Amount of Order varies by the Lifetime Number of Orders of
customers and by the Week the order was created.
15White Paper14 Data Modeling in Looker
Creating Conditional
Measures — First
Purchase and Return
We can also create measures that calculate Total Amount
of Order based on conditions of the order, such as whether
it was a customer’s first purchase or if a return customer
made the purchase. This way, we can determine how much
revenue was generated from new or returning customers.
It’s likely we have discrete teams focused on new user
acquisition and on current user retention, so it may be
important we break these revenues apart.
-	measure: total_first_purchase_revenue
	type: sum
	sql: ${total_amount_of_order_usd}
	decimals: 2
	filters:
	is_first_purchase: yes
- measure: total_returning_shopper_revenue
	type: sum
	sql: ${total_amount_of_order_usd}
	decimals: 2
	filters:
	is_first_purchase: no
Again, both of these measures—Total First Purchase Revenue and Total Returning Shopper Revenue—
take advantage of our existing Total Amount of Order. We can now directly compare
both types of revenue.
16 17Data Modeling in Looker White Paper
Putting It All Together
Given the dimensions and measures we’ve just created,
let’s build a report that shows us Total Returning Shopping
Revenue, Total First Purchase Revenue, Average Total
Amount of Order, and Average Order Profit, broken out by
the Total Amount of Order tiered and the Week in which the
order was created.
To generate such a result set, we’d have to write nearly 200 lines of SQL.
Maybe this makes sense to write one time, but what if we want to look at this by a customer’s State
instead of by order Week?
Or maybe we want to see Lifetime Number of Purchases by a customer, tiered?
Data Modeling in Looker
Ready to
Love Your Analytics?
Come see a live demo and
schedule your free trial.
Call 888-960-2331 or go to:
looker.com/demo
About Looker
Looker is an inventive software company that’s pioneering the next generation of
business intelligence (BI). We believe in bringing better insights and data-driven
decision-making to businesses of all sizes. The company has fast become the catalyst
that is creating data-driven cultures at hundreds of industry-leading companies such
as Yahoo!, Gilt, Warby Parker and Sony.
Looker is based in Santa Cruz, CA
Follow @lookerdata or visit www.looker.com
© 2015 Looker. All rights reserved. Looker and the Looker logo are trademarks of Looker Data Sciences, registered in the United States.. Other trademarks are trademarks
of their respective companies. All services are subject to change or discontinuance without notice.
As you can see, all these reports can be generated, altered, and updated—without
the need to rewrite any SQL. In LookML, we abstract the essential business logic
once, then reference it within other dimensions and measures—allowing quick, rapid
iteration of data exploration, while also ensuring the accuracy of the SQL that’s
generated. If a business user wants a new tier, just add it to the dimension. If they
want to determine revenue from users with more than 10 purchases, just create a
new measure that sums total order amount and filters on customers with more than
10 purchases. Small updates are quick and can be made immediately available to
end users. That frees you up to define the new metrics that will take your business
to the next level.

More Related Content

What's hot

Introduction to Redis
Introduction to RedisIntroduction to Redis
Introduction to RedisArnab Mitra
 
Data Modeling for MongoDB
Data Modeling for MongoDBData Modeling for MongoDB
Data Modeling for MongoDBMongoDB
 
Introduction of data science
Introduction of data scienceIntroduction of data science
Introduction of data scienceTanujaSomvanshi1
 
Big Data Analytics Tutorial | Big Data Analytics for Beginners | Hadoop Tutor...
Big Data Analytics Tutorial | Big Data Analytics for Beginners | Hadoop Tutor...Big Data Analytics Tutorial | Big Data Analytics for Beginners | Hadoop Tutor...
Big Data Analytics Tutorial | Big Data Analytics for Beginners | Hadoop Tutor...Edureka!
 
Introduction to Apache Spark
Introduction to Apache SparkIntroduction to Apache Spark
Introduction to Apache SparkRahul Jain
 
Azure Data Factory Data Flow
Azure Data Factory Data FlowAzure Data Factory Data Flow
Azure Data Factory Data FlowMark Kromer
 
Building Robust ETL Pipelines with Apache Spark
Building Robust ETL Pipelines with Apache SparkBuilding Robust ETL Pipelines with Apache Spark
Building Robust ETL Pipelines with Apache SparkDatabricks
 
NOSQL Databases types and Uses
NOSQL Databases types and UsesNOSQL Databases types and Uses
NOSQL Databases types and UsesSuvradeep Rudra
 
MongoDB Fundamentals
MongoDB FundamentalsMongoDB Fundamentals
MongoDB FundamentalsMongoDB
 
Indexing & Query Optimization
Indexing & Query OptimizationIndexing & Query Optimization
Indexing & Query OptimizationMongoDB
 
Hadoop Tutorial | Big Data Hadoop Tutorial For Beginners | Hadoop Certificati...
Hadoop Tutorial | Big Data Hadoop Tutorial For Beginners | Hadoop Certificati...Hadoop Tutorial | Big Data Hadoop Tutorial For Beginners | Hadoop Certificati...
Hadoop Tutorial | Big Data Hadoop Tutorial For Beginners | Hadoop Certificati...Edureka!
 
Elasticsearch for beginners
Elasticsearch for beginnersElasticsearch for beginners
Elasticsearch for beginnersNeil Baker
 
Introduction to Graph Databases
Introduction to Graph DatabasesIntroduction to Graph Databases
Introduction to Graph DatabasesMax De Marzi
 

What's hot (20)

Introduction to Redis
Introduction to RedisIntroduction to Redis
Introduction to Redis
 
Data Modeling for MongoDB
Data Modeling for MongoDBData Modeling for MongoDB
Data Modeling for MongoDB
 
Introduction of data science
Introduction of data scienceIntroduction of data science
Introduction of data science
 
Big Data Analytics Tutorial | Big Data Analytics for Beginners | Hadoop Tutor...
Big Data Analytics Tutorial | Big Data Analytics for Beginners | Hadoop Tutor...Big Data Analytics Tutorial | Big Data Analytics for Beginners | Hadoop Tutor...
Big Data Analytics Tutorial | Big Data Analytics for Beginners | Hadoop Tutor...
 
Introduction to Apache Spark
Introduction to Apache SparkIntroduction to Apache Spark
Introduction to Apache Spark
 
Object oriented databases
Object oriented databasesObject oriented databases
Object oriented databases
 
Azure Data Factory Data Flow
Azure Data Factory Data FlowAzure Data Factory Data Flow
Azure Data Factory Data Flow
 
Building Robust ETL Pipelines with Apache Spark
Building Robust ETL Pipelines with Apache SparkBuilding Robust ETL Pipelines with Apache Spark
Building Robust ETL Pipelines with Apache Spark
 
NOSQL Databases types and Uses
NOSQL Databases types and UsesNOSQL Databases types and Uses
NOSQL Databases types and Uses
 
MongoDB Fundamentals
MongoDB FundamentalsMongoDB Fundamentals
MongoDB Fundamentals
 
Indexing & Query Optimization
Indexing & Query OptimizationIndexing & Query Optimization
Indexing & Query Optimization
 
Google BigQuery
Google BigQueryGoogle BigQuery
Google BigQuery
 
Data Engineering Basics
Data Engineering BasicsData Engineering Basics
Data Engineering Basics
 
Hadoop Tutorial | Big Data Hadoop Tutorial For Beginners | Hadoop Certificati...
Hadoop Tutorial | Big Data Hadoop Tutorial For Beginners | Hadoop Certificati...Hadoop Tutorial | Big Data Hadoop Tutorial For Beginners | Hadoop Certificati...
Hadoop Tutorial | Big Data Hadoop Tutorial For Beginners | Hadoop Certificati...
 
Introduction to Data Engineering
Introduction to Data EngineeringIntroduction to Data Engineering
Introduction to Data Engineering
 
Big query
Big queryBig query
Big query
 
Elasticsearch for beginners
Elasticsearch for beginnersElasticsearch for beginners
Elasticsearch for beginners
 
Introduction to Graph Databases
Introduction to Graph DatabasesIntroduction to Graph Databases
Introduction to Graph Databases
 
BIG DATA and USE CASES
BIG DATA and USE CASESBIG DATA and USE CASES
BIG DATA and USE CASES
 
CockroachDB
CockroachDBCockroachDB
CockroachDB
 

Viewers also liked

Wisdom of Crowds Webinar Deck
Wisdom of Crowds Webinar DeckWisdom of Crowds Webinar Deck
Wisdom of Crowds Webinar DeckLooker
 
Frank Bien Opening Keynote - Join 2016
Frank Bien Opening Keynote - Join 2016Frank Bien Opening Keynote - Join 2016
Frank Bien Opening Keynote - Join 2016Looker
 
Power to the People: A Stack to Empower Every User to Make Data-Driven Decisions
Power to the People: A Stack to Empower Every User to Make Data-Driven DecisionsPower to the People: A Stack to Empower Every User to Make Data-Driven Decisions
Power to the People: A Stack to Empower Every User to Make Data-Driven DecisionsLooker
 
Meet Looker 4
Meet Looker 4Meet Looker 4
Meet Looker 4Looker
 
Winning with Data
Winning with Data Winning with Data
Winning with Data Looker
 
How the economist with cloud BI and Looker have improved data-driven decision...
How the economist with cloud BI and Looker have improved data-driven decision...How the economist with cloud BI and Looker have improved data-driven decision...
How the economist with cloud BI and Looker have improved data-driven decision...Looker
 
Operationalizing analytics to scale
Operationalizing analytics to scaleOperationalizing analytics to scale
Operationalizing analytics to scaleLooker
 
Data warehouse : Order Management
Data warehouse : Order ManagementData warehouse : Order Management
Data warehouse : Order ManagementKritiya Sangnitidaj
 
Software As A Service Presentation
Software As A Service PresentationSoftware As A Service Presentation
Software As A Service Presentational95iii
 
Slack's Ali Rayl on Scaling Support for User Growth
Slack's Ali Rayl on Scaling Support for User GrowthSlack's Ali Rayl on Scaling Support for User Growth
Slack's Ali Rayl on Scaling Support for User GrowthHeavybit
 
A SaaS Metric designed to Increase Free Trial Conversions
A SaaS Metric designed to Increase Free Trial ConversionsA SaaS Metric designed to Increase Free Trial Conversions
A SaaS Metric designed to Increase Free Trial ConversionsLincoln Murphy
 
How (and When) to Hire a Great VP of Customer Success Management CSM
How (and When) to Hire a Great VP of Customer Success Management CSMHow (and When) to Hire a Great VP of Customer Success Management CSM
How (and When) to Hire a Great VP of Customer Success Management CSMGainsight
 
How to Drive Growth with Customer Success Metrics
How to Drive Growth with Customer Success MetricsHow to Drive Growth with Customer Success Metrics
How to Drive Growth with Customer Success MetricsGainsight
 
SaaS Accounting: The blueprint to understanding and optimizing
SaaS Accounting: The blueprint to understanding and optimizingSaaS Accounting: The blueprint to understanding and optimizing
SaaS Accounting: The blueprint to understanding and optimizingPrice Intelligently
 
9 Worst Practices in SaaS Metrics
9 Worst Practices in SaaS Metrics9 Worst Practices in SaaS Metrics
9 Worst Practices in SaaS MetricsChristoph Janz
 
How to Hire a Great VP Sales '14: From NY Enterprise Tech Meet-up
How to Hire a Great VP Sales '14:  From NY Enterprise Tech Meet-upHow to Hire a Great VP Sales '14:  From NY Enterprise Tech Meet-up
How to Hire a Great VP Sales '14: From NY Enterprise Tech Meet-upstormventures
 
SaaStr at Dreamforce '14: Benchmarking Your Start-Up: How Am I Doing -- Rea...
SaaStr at Dreamforce '14:  Benchmarking Your Start-Up:  How Am I Doing -- Rea...SaaStr at Dreamforce '14:  Benchmarking Your Start-Up:  How Am I Doing -- Rea...
SaaStr at Dreamforce '14: Benchmarking Your Start-Up: How Am I Doing -- Rea...stormventures
 
Forward thinking: What's next for AI
Forward thinking: What's next for AIForward thinking: What's next for AI
Forward thinking: What's next for AIIBM
 
Tom Tunguz Talk at Wharton San Francisco
Tom Tunguz Talk at Wharton San FranciscoTom Tunguz Talk at Wharton San Francisco
Tom Tunguz Talk at Wharton San FranciscoTomasz Tunguz
 

Viewers also liked (20)

Wisdom of Crowds Webinar Deck
Wisdom of Crowds Webinar DeckWisdom of Crowds Webinar Deck
Wisdom of Crowds Webinar Deck
 
Frank Bien Opening Keynote - Join 2016
Frank Bien Opening Keynote - Join 2016Frank Bien Opening Keynote - Join 2016
Frank Bien Opening Keynote - Join 2016
 
Power to the People: A Stack to Empower Every User to Make Data-Driven Decisions
Power to the People: A Stack to Empower Every User to Make Data-Driven DecisionsPower to the People: A Stack to Empower Every User to Make Data-Driven Decisions
Power to the People: A Stack to Empower Every User to Make Data-Driven Decisions
 
Meet Looker 4
Meet Looker 4Meet Looker 4
Meet Looker 4
 
Winning with Data
Winning with Data Winning with Data
Winning with Data
 
How the economist with cloud BI and Looker have improved data-driven decision...
How the economist with cloud BI and Looker have improved data-driven decision...How the economist with cloud BI and Looker have improved data-driven decision...
How the economist with cloud BI and Looker have improved data-driven decision...
 
Operationalizing analytics to scale
Operationalizing analytics to scaleOperationalizing analytics to scale
Operationalizing analytics to scale
 
Data warehouse : Order Management
Data warehouse : Order ManagementData warehouse : Order Management
Data warehouse : Order Management
 
Software As A Service Presentation
Software As A Service PresentationSoftware As A Service Presentation
Software As A Service Presentation
 
Slack's Ali Rayl on Scaling Support for User Growth
Slack's Ali Rayl on Scaling Support for User GrowthSlack's Ali Rayl on Scaling Support for User Growth
Slack's Ali Rayl on Scaling Support for User Growth
 
A SaaS Metric designed to Increase Free Trial Conversions
A SaaS Metric designed to Increase Free Trial ConversionsA SaaS Metric designed to Increase Free Trial Conversions
A SaaS Metric designed to Increase Free Trial Conversions
 
How (and When) to Hire a Great VP of Customer Success Management CSM
How (and When) to Hire a Great VP of Customer Success Management CSMHow (and When) to Hire a Great VP of Customer Success Management CSM
How (and When) to Hire a Great VP of Customer Success Management CSM
 
How to Drive Growth with Customer Success Metrics
How to Drive Growth with Customer Success MetricsHow to Drive Growth with Customer Success Metrics
How to Drive Growth with Customer Success Metrics
 
SaaS Accounting: The blueprint to understanding and optimizing
SaaS Accounting: The blueprint to understanding and optimizingSaaS Accounting: The blueprint to understanding and optimizing
SaaS Accounting: The blueprint to understanding and optimizing
 
9 Worst Practices in SaaS Metrics
9 Worst Practices in SaaS Metrics9 Worst Practices in SaaS Metrics
9 Worst Practices in SaaS Metrics
 
The Secrets to SaaS Pricing
The Secrets to SaaS PricingThe Secrets to SaaS Pricing
The Secrets to SaaS Pricing
 
How to Hire a Great VP Sales '14: From NY Enterprise Tech Meet-up
How to Hire a Great VP Sales '14:  From NY Enterprise Tech Meet-upHow to Hire a Great VP Sales '14:  From NY Enterprise Tech Meet-up
How to Hire a Great VP Sales '14: From NY Enterprise Tech Meet-up
 
SaaStr at Dreamforce '14: Benchmarking Your Start-Up: How Am I Doing -- Rea...
SaaStr at Dreamforce '14:  Benchmarking Your Start-Up:  How Am I Doing -- Rea...SaaStr at Dreamforce '14:  Benchmarking Your Start-Up:  How Am I Doing -- Rea...
SaaStr at Dreamforce '14: Benchmarking Your Start-Up: How Am I Doing -- Rea...
 
Forward thinking: What's next for AI
Forward thinking: What's next for AIForward thinking: What's next for AI
Forward thinking: What's next for AI
 
Tom Tunguz Talk at Wharton San Francisco
Tom Tunguz Talk at Wharton San FranciscoTom Tunguz Talk at Wharton San Francisco
Tom Tunguz Talk at Wharton San Francisco
 

Similar to Data Modeling in Looker

ContentsPhase 1 Design Concepts2Project Description2Use.docx
ContentsPhase 1 Design Concepts2Project Description2Use.docxContentsPhase 1 Design Concepts2Project Description2Use.docx
ContentsPhase 1 Design Concepts2Project Description2Use.docxmaxinesmith73660
 
Market Basket Analysis in SAS
Market Basket Analysis in SASMarket Basket Analysis in SAS
Market Basket Analysis in SASAndrew Kramer
 
Intro to Data warehousing lecture 15
Intro to Data warehousing   lecture 15Intro to Data warehousing   lecture 15
Intro to Data warehousing lecture 15AnwarrChaudary
 
bigmartsalespridictionproject-220813050638-8e9c4c31 (1).pptx
bigmartsalespridictionproject-220813050638-8e9c4c31 (1).pptxbigmartsalespridictionproject-220813050638-8e9c4c31 (1).pptx
bigmartsalespridictionproject-220813050638-8e9c4c31 (1).pptxHarshavardhan851231
 
Multidimensional Data Analysis with Ruby (sample)
Multidimensional Data Analysis with Ruby (sample)Multidimensional Data Analysis with Ruby (sample)
Multidimensional Data Analysis with Ruby (sample)Raimonds Simanovskis
 
Level of-detail-expressions
Level of-detail-expressionsLevel of-detail-expressions
Level of-detail-expressionsYogeeswar Reddy
 
BIG MART SALES PRIDICTION PROJECT.pptx
BIG MART SALES PRIDICTION PROJECT.pptxBIG MART SALES PRIDICTION PROJECT.pptx
BIG MART SALES PRIDICTION PROJECT.pptxLSURYAPRAKASHREDDY
 
Jazmine Kane Portfolio
Jazmine Kane PortfolioJazmine Kane Portfolio
Jazmine Kane PortfolioJazmine Kane
 
Predicting online user behaviour using deep learning algorithms
Predicting online user behaviour using deep learning algorithmsPredicting online user behaviour using deep learning algorithms
Predicting online user behaviour using deep learning algorithmsArmando Vieira
 
Market Basket Analysis in SAS
Market Basket Analysis in SASMarket Basket Analysis in SAS
Market Basket Analysis in SASAndrew Kramer
 
Segmentation d'un fichier client | Machine Learning
Segmentation d'un fichier client | Machine LearningSegmentation d'un fichier client | Machine Learning
Segmentation d'un fichier client | Machine LearningFUMERY Michael
 
Company segmentation - an approach with R
Company segmentation - an approach with RCompany segmentation - an approach with R
Company segmentation - an approach with RCasper Crause
 
Project report aditi paul1
Project report aditi paul1Project report aditi paul1
Project report aditi paul1guest9529cb
 
Case Study Scenario - Global Trading PLCGlobal Trading PLC is.docx
Case Study Scenario - Global Trading PLCGlobal Trading PLC is.docxCase Study Scenario - Global Trading PLCGlobal Trading PLC is.docx
Case Study Scenario - Global Trading PLCGlobal Trading PLC is.docxtidwellveronique
 
Marketing Pipeline Intelligence: A Dimensional Model
Marketing Pipeline Intelligence: A Dimensional ModelMarketing Pipeline Intelligence: A Dimensional Model
Marketing Pipeline Intelligence: A Dimensional ModelDaniel Upton
 
Demand forecasting case study
Demand forecasting case studyDemand forecasting case study
Demand forecasting case studyRupam Devnath
 
Check printing in_r12
Check printing in_r12Check printing in_r12
Check printing in_r12Rajesh Khatri
 

Similar to Data Modeling in Looker (20)

ContentsPhase 1 Design Concepts2Project Description2Use.docx
ContentsPhase 1 Design Concepts2Project Description2Use.docxContentsPhase 1 Design Concepts2Project Description2Use.docx
ContentsPhase 1 Design Concepts2Project Description2Use.docx
 
Market Basket Analysis in SAS
Market Basket Analysis in SASMarket Basket Analysis in SAS
Market Basket Analysis in SAS
 
Intro to Data warehousing lecture 15
Intro to Data warehousing   lecture 15Intro to Data warehousing   lecture 15
Intro to Data warehousing lecture 15
 
bigmartsalespridictionproject-220813050638-8e9c4c31 (1).pptx
bigmartsalespridictionproject-220813050638-8e9c4c31 (1).pptxbigmartsalespridictionproject-220813050638-8e9c4c31 (1).pptx
bigmartsalespridictionproject-220813050638-8e9c4c31 (1).pptx
 
Multidimensional Data Analysis with Ruby (sample)
Multidimensional Data Analysis with Ruby (sample)Multidimensional Data Analysis with Ruby (sample)
Multidimensional Data Analysis with Ruby (sample)
 
Introtosqltuning
IntrotosqltuningIntrotosqltuning
Introtosqltuning
 
Level of-detail-expressions
Level of-detail-expressionsLevel of-detail-expressions
Level of-detail-expressions
 
BIG MART SALES.pptx
BIG MART SALES.pptxBIG MART SALES.pptx
BIG MART SALES.pptx
 
BIG MART SALES PRIDICTION PROJECT.pptx
BIG MART SALES PRIDICTION PROJECT.pptxBIG MART SALES PRIDICTION PROJECT.pptx
BIG MART SALES PRIDICTION PROJECT.pptx
 
Jazmine Kane Portfolio
Jazmine Kane PortfolioJazmine Kane Portfolio
Jazmine Kane Portfolio
 
Predicting online user behaviour using deep learning algorithms
Predicting online user behaviour using deep learning algorithmsPredicting online user behaviour using deep learning algorithms
Predicting online user behaviour using deep learning algorithms
 
Market Basket Analysis in SAS
Market Basket Analysis in SASMarket Basket Analysis in SAS
Market Basket Analysis in SAS
 
Segmentation d'un fichier client | Machine Learning
Segmentation d'un fichier client | Machine LearningSegmentation d'un fichier client | Machine Learning
Segmentation d'un fichier client | Machine Learning
 
Company segmentation - an approach with R
Company segmentation - an approach with RCompany segmentation - an approach with R
Company segmentation - an approach with R
 
Project report aditi paul1
Project report aditi paul1Project report aditi paul1
Project report aditi paul1
 
Case Study Scenario - Global Trading PLCGlobal Trading PLC is.docx
Case Study Scenario - Global Trading PLCGlobal Trading PLC is.docxCase Study Scenario - Global Trading PLCGlobal Trading PLC is.docx
Case Study Scenario - Global Trading PLCGlobal Trading PLC is.docx
 
Marketing Pipeline Intelligence: A Dimensional Model
Marketing Pipeline Intelligence: A Dimensional ModelMarketing Pipeline Intelligence: A Dimensional Model
Marketing Pipeline Intelligence: A Dimensional Model
 
Afdal
AfdalAfdal
Afdal
 
Demand forecasting case study
Demand forecasting case studyDemand forecasting case study
Demand forecasting case study
 
Check printing in_r12
Check printing in_r12Check printing in_r12
Check printing in_r12
 

More from Looker

Join 2017_Deep Dive_To Use or Not Use PDT's
Join 2017_Deep Dive_To Use or Not Use PDT'sJoin 2017_Deep Dive_To Use or Not Use PDT's
Join 2017_Deep Dive_To Use or Not Use PDT'sLooker
 
Join 2017_Deep Dive_Table Calculations 201
Join 2017_Deep Dive_Table Calculations 201Join 2017_Deep Dive_Table Calculations 201
Join 2017_Deep Dive_Table Calculations 201Looker
 
Join 2017_Deep Dive_Table Calculations 101
Join 2017_Deep Dive_Table Calculations 101Join 2017_Deep Dive_Table Calculations 101
Join 2017_Deep Dive_Table Calculations 101Looker
 
Join 2017_Deep Dive_Smart Caching
Join 2017_Deep Dive_Smart CachingJoin 2017_Deep Dive_Smart Caching
Join 2017_Deep Dive_Smart CachingLooker
 
Join 2017_Deep Dive_Sessionization
Join 2017_Deep Dive_SessionizationJoin 2017_Deep Dive_Sessionization
Join 2017_Deep Dive_SessionizationLooker
 
Join 2017_Deep Dive_Redshift Optimization
Join 2017_Deep Dive_Redshift OptimizationJoin 2017_Deep Dive_Redshift Optimization
Join 2017_Deep Dive_Redshift OptimizationLooker
 
Join 2017_Deep Dive_Integrating Looker with R and Python
Join 2017_Deep Dive_Integrating Looker with R and PythonJoin 2017_Deep Dive_Integrating Looker with R and Python
Join 2017_Deep Dive_Integrating Looker with R and PythonLooker
 
Join 2017_Deep Dive_Customer Retention
Join 2017_Deep Dive_Customer Retention Join 2017_Deep Dive_Customer Retention
Join 2017_Deep Dive_Customer Retention Looker
 
Join 2017_Deep Dive_Workflows with Zapier
Join 2017_Deep Dive_Workflows with ZapierJoin 2017_Deep Dive_Workflows with Zapier
Join 2017_Deep Dive_Workflows with ZapierLooker
 
Join2017_Deep Dive_AWS Operations
Join2017_Deep Dive_AWS OperationsJoin2017_Deep Dive_AWS Operations
Join2017_Deep Dive_AWS OperationsLooker
 
Join 2017 - Deep Dive - Action Hub
Join 2017 - Deep Dive - Action HubJoin 2017 - Deep Dive - Action Hub
Join 2017 - Deep Dive - Action HubLooker
 
Winning the 3rd Wave of BI
Winning the 3rd Wave of BIWinning the 3rd Wave of BI
Winning the 3rd Wave of BILooker
 
Frank Bien Opening Keynote - Join 2016
Frank Bien Opening Keynote - Join 2016Frank Bien Opening Keynote - Join 2016
Frank Bien Opening Keynote - Join 2016Looker
 
Data Stack Considerations: Build vs. Buy at Tout
Data Stack Considerations: Build vs. Buy at ToutData Stack Considerations: Build vs. Buy at Tout
Data Stack Considerations: Build vs. Buy at ToutLooker
 
Embedding Data & Analytics With Looker
Embedding Data & Analytics With LookerEmbedding Data & Analytics With Looker
Embedding Data & Analytics With LookerLooker
 
The Three Pillars of Customer Success Analytics
The Three Pillars of Customer Success AnalyticsThe Three Pillars of Customer Success Analytics
The Three Pillars of Customer Success AnalyticsLooker
 
The Power of Smart Counting at The RealReal
The Power of Smart Counting at The RealRealThe Power of Smart Counting at The RealReal
The Power of Smart Counting at The RealRealLooker
 
Data Democracy: Hadoop + Redshift
Data Democracy: Hadoop + RedshiftData Democracy: Hadoop + Redshift
Data Democracy: Hadoop + RedshiftLooker
 
Creating a Single Source of Truth: Leverage all of your data with powerful an...
Creating a Single Source of Truth: Leverage all of your data with powerful an...Creating a Single Source of Truth: Leverage all of your data with powerful an...
Creating a Single Source of Truth: Leverage all of your data with powerful an...Looker
 
Advanced Analytics for Salesforce
Advanced Analytics for SalesforceAdvanced Analytics for Salesforce
Advanced Analytics for SalesforceLooker
 

More from Looker (20)

Join 2017_Deep Dive_To Use or Not Use PDT's
Join 2017_Deep Dive_To Use or Not Use PDT'sJoin 2017_Deep Dive_To Use or Not Use PDT's
Join 2017_Deep Dive_To Use or Not Use PDT's
 
Join 2017_Deep Dive_Table Calculations 201
Join 2017_Deep Dive_Table Calculations 201Join 2017_Deep Dive_Table Calculations 201
Join 2017_Deep Dive_Table Calculations 201
 
Join 2017_Deep Dive_Table Calculations 101
Join 2017_Deep Dive_Table Calculations 101Join 2017_Deep Dive_Table Calculations 101
Join 2017_Deep Dive_Table Calculations 101
 
Join 2017_Deep Dive_Smart Caching
Join 2017_Deep Dive_Smart CachingJoin 2017_Deep Dive_Smart Caching
Join 2017_Deep Dive_Smart Caching
 
Join 2017_Deep Dive_Sessionization
Join 2017_Deep Dive_SessionizationJoin 2017_Deep Dive_Sessionization
Join 2017_Deep Dive_Sessionization
 
Join 2017_Deep Dive_Redshift Optimization
Join 2017_Deep Dive_Redshift OptimizationJoin 2017_Deep Dive_Redshift Optimization
Join 2017_Deep Dive_Redshift Optimization
 
Join 2017_Deep Dive_Integrating Looker with R and Python
Join 2017_Deep Dive_Integrating Looker with R and PythonJoin 2017_Deep Dive_Integrating Looker with R and Python
Join 2017_Deep Dive_Integrating Looker with R and Python
 
Join 2017_Deep Dive_Customer Retention
Join 2017_Deep Dive_Customer Retention Join 2017_Deep Dive_Customer Retention
Join 2017_Deep Dive_Customer Retention
 
Join 2017_Deep Dive_Workflows with Zapier
Join 2017_Deep Dive_Workflows with ZapierJoin 2017_Deep Dive_Workflows with Zapier
Join 2017_Deep Dive_Workflows with Zapier
 
Join2017_Deep Dive_AWS Operations
Join2017_Deep Dive_AWS OperationsJoin2017_Deep Dive_AWS Operations
Join2017_Deep Dive_AWS Operations
 
Join 2017 - Deep Dive - Action Hub
Join 2017 - Deep Dive - Action HubJoin 2017 - Deep Dive - Action Hub
Join 2017 - Deep Dive - Action Hub
 
Winning the 3rd Wave of BI
Winning the 3rd Wave of BIWinning the 3rd Wave of BI
Winning the 3rd Wave of BI
 
Frank Bien Opening Keynote - Join 2016
Frank Bien Opening Keynote - Join 2016Frank Bien Opening Keynote - Join 2016
Frank Bien Opening Keynote - Join 2016
 
Data Stack Considerations: Build vs. Buy at Tout
Data Stack Considerations: Build vs. Buy at ToutData Stack Considerations: Build vs. Buy at Tout
Data Stack Considerations: Build vs. Buy at Tout
 
Embedding Data & Analytics With Looker
Embedding Data & Analytics With LookerEmbedding Data & Analytics With Looker
Embedding Data & Analytics With Looker
 
The Three Pillars of Customer Success Analytics
The Three Pillars of Customer Success AnalyticsThe Three Pillars of Customer Success Analytics
The Three Pillars of Customer Success Analytics
 
The Power of Smart Counting at The RealReal
The Power of Smart Counting at The RealRealThe Power of Smart Counting at The RealReal
The Power of Smart Counting at The RealReal
 
Data Democracy: Hadoop + Redshift
Data Democracy: Hadoop + RedshiftData Democracy: Hadoop + Redshift
Data Democracy: Hadoop + Redshift
 
Creating a Single Source of Truth: Leverage all of your data with powerful an...
Creating a Single Source of Truth: Leverage all of your data with powerful an...Creating a Single Source of Truth: Leverage all of your data with powerful an...
Creating a Single Source of Truth: Leverage all of your data with powerful an...
 
Advanced Analytics for Salesforce
Advanced Analytics for SalesforceAdvanced Analytics for Salesforce
Advanced Analytics for Salesforce
 

Recently uploaded

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 

Recently uploaded (20)

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 

Data Modeling in Looker

  • 1. Quick iteration of metric calculations for powerful data exploration
  • 2. 2 Data Modeling in Looker White Paper 3 At Looker, we want to make it easier for data analysts to service the needs of the data-hungry users in their organizations. We believe too much of their time is spent responding to ad hoc data requests and not enough time is spent building, experimenting, and embellishing a robust model of the business. Worse yet, business users are starving for data, but are forced to make important decisions without access to data that could guide them in the right direction. Looker addresses both of these problems with a YAML-based modeling language called LookML. With LookML, you build your business logic, defining your important metrics once and then reusing them throughout a model. That means you can unleash them on your business users to manipulate, iterate, and transform in any way they see fit. The Reusability Paradigm of LookML E-Commerce Example — Starting with Total Cost of Order A key difference of LookML is that, unlike older approaches, LookML combines modeling, transformations, and derivations at the same layer (late-binding modeling). This allows vast amounts of data to be captured in relatively inexpensive databases (mirrored or copied), and then derivations and transformations occur much closer to, or at, query time. The traditional approach is to transform the data as it’s loaded (ETL), whereas LookML allows for transform and derivation on demand (ELT). The result is a very agile data environment where user questions can change and the data environment can better keep up. Let’s take a look at a simple e-commerce example. We will create one dimension, the Total Cost of Order, which can then be reused and built on throughout a single LookML model. First, a quick primer on a typical e-commerce data model, which will help answer questions about the buying and selling of items online. In this example, we’ll work with a subset of tables: Orders, Order Items, and Inventory Items. As a business that tracks Orders, it’s probably important to determine the distribution of customer orders based on cost. In our current Orders table, we don’t have a field that tells us the cost of an order, because each order contains multiple items of varying costs. So we need to calculate a cost of an order by summing over the sale prices of the items in the order. Orders id created_at user_id 1 2014-04-01 5656 2 2014-04-01 7263 Order Items id created_at order_id Inventory_item_id sale_price 1 2014-04-01 5656 3 $12 2 2014-04-03 7263 5 $45 Inventory Items id created_at cost sold_at product_id 1 2014-04-01 $8.50 2014-04-05 5 2 2014-04-02 $24.00 2014-04-04 7 Measures and Dimensions in Looker Looker divides data exploration into dimensions and measures. A dimension is something you can group by, and a measure is an aggregated dimension (for example, a sum, an average, or a count).
  • 3. 4 5Data Modeling in Looker White Paper Correlated Subqueries In a SQL database query, a correlated subquery (also known as a synchronized subquery) is a subquery (a query nested inside another query) that uses values from the outer query. The subquery is evaluated once for each row processed by the outer query. Suppose we want to calculate a new dimension for Orders that will determine the Total Cost of Order. In this case, the field is not stored in our database, but can be calculated from the sale price of order items in the order. We’ll use is a simple technique called a correlated subquery. (For databases that don’t support correlated subqueries or when performance becomes a problem, Looker supports more complex and powerful mechanisms via derived tables.) For any given order, the SQL to calculate the Total Cost of Order is: SELECT SUM(order_items.sale_price) FROM order_items WHERE order_items.order_id = orders.id We sum over the sale price associated for each item in a given order, where the order_items.order_id field matches with the primary key in the orders table. In Looker, we’d want to create this dimension in the Orders view, since it’s an attribute of an order. - view: Order fields: - dimension: total_amount_of_order_usd type: number decimals: 2 sql:| (SELECT SUM(order_items.sale_price) FROM order_items WHERE order_items.order_id = orders.id) We sum over the sale price associated for each item in a given order, where the order_items.order_id field matches with the primary key in the orders table. In Looker, we’d want to create this dimension in the Orders view, since it’s an attribute of an order. - view: Order fields: - dimension: total_amount_of_order_usd type: number decimals: 2 sql:| (SELECT SUM(order_items.sale_price)
  • 4. 6 7Data Modeling in Looker White Paper Tiering Total Cost of Order We now have a wide range of order amounts, so it probably makes sense to bucket these values across set intervals. Normally, if we were writing SQL, we’d have to make a CASE WHEN statement for each discrete bucket. Conveniently, LookML has a tier function, so we can use that. Now let’s see this dimension in action. - dimension: total_amount_of_order_usd_tier type: tier sql: ${total_amount_of_order_usd} tiers: [0,10,50,150,500,1000] Notice that we can reference our existing Total Amount of Order dimension in the ‘sql:’ parameter of the measure. Now when we use the tier, we bucket orders into their respective tiers:
  • 5. 8 9Data Modeling in Looker White Paper Determining Order Profit What if we wanted to know more about each order, maybe the profit? To determine the profit of an order, we will need a Total Cost of Order dimension. - dimension: total_cost_of_order type: number decimals: 2 sql:| (SELECT SUM(inventory_items.cost) FROM order_items LEFT JOIN inventory_items ON order_items.inventory_items_id = inventory_items.id WHERE order_items.order_id = orders.id) In this case, our SQL sums over the cost of inventory items for a specific order. Now, to determine the Order Profit dimension, we must subtract the Total Cost of Order dimension from the Total Amount of Order dimension. Normally, we’d have to subtract the SQL for the Total Cost of Order from the SQL for Total Amount of Order. But with LookML, we can just reference our already existing dimensions. - dimension: order_profit type: number decimals: 2 sql: ${total_amount_of_order_usd} - ${total_cost_of_order} When using this Order Profit, Looker will substitute the existing business logic for both the Total Amount of Order and Total Cost of Order. Let’s run a new query using the new Order Profit dimension.
  • 6. 10 11Data Modeling in Looker White Paper Calculating Profit Per User Another valuable metric for an e-commerce business may be Profit Per User. In Looker, we can reference dimensions or measures from other views. In this case, to determine the Profit Per User, we’ll reference our Count measure from the Users view as the denominator of a measure in the Orders view, where the numerator is our Order Profit dimension. We use the Count measure from the Users view to scope the count with ‘users.’ - measure: profit_per_user type: number decimals: 2 sql: 100.0 *${order_profit}/NULLIF(${users.count},0) Now we can see how our Profit Per User varies by every order dimension. In this case, we see how it varies by order date:
  • 7. 12 13Data Modeling in Looker White Paper Creating an Average Total Amount of Order Measure What if we wanted a measure that computes the Average Total Amount of Order whenever we group by a dimension in Looker? For instance, we might group by Average Total Amount of Order in a certain Month, by orders from customers in a certain State, or by the Lifetime Number of Orders of a customer. When we create a measure in Looker, we can reuse it in many different contexts. Let’s first build our Average Total Amount of Order measure. - measure: average_total_amount_of_order_usd type: average sql: ${total_amount_of_order_usd} decimals: 2 Again, we can reference our already existing Total Amount of Order dimension and set the dimension type as an average. Now when we use this dimension, it will aggregate over all total order amounts within that group, calculating the average. Here we see how the Average Total Amount of Order varies by the Lifetime Number of Orders of customers and by the Week the order was created.
  • 8. 15White Paper14 Data Modeling in Looker Creating Conditional Measures — First Purchase and Return We can also create measures that calculate Total Amount of Order based on conditions of the order, such as whether it was a customer’s first purchase or if a return customer made the purchase. This way, we can determine how much revenue was generated from new or returning customers. It’s likely we have discrete teams focused on new user acquisition and on current user retention, so it may be important we break these revenues apart. - measure: total_first_purchase_revenue type: sum sql: ${total_amount_of_order_usd} decimals: 2 filters: is_first_purchase: yes - measure: total_returning_shopper_revenue type: sum sql: ${total_amount_of_order_usd} decimals: 2 filters: is_first_purchase: no Again, both of these measures—Total First Purchase Revenue and Total Returning Shopper Revenue— take advantage of our existing Total Amount of Order. We can now directly compare both types of revenue.
  • 9. 16 17Data Modeling in Looker White Paper Putting It All Together Given the dimensions and measures we’ve just created, let’s build a report that shows us Total Returning Shopping Revenue, Total First Purchase Revenue, Average Total Amount of Order, and Average Order Profit, broken out by the Total Amount of Order tiered and the Week in which the order was created. To generate such a result set, we’d have to write nearly 200 lines of SQL. Maybe this makes sense to write one time, but what if we want to look at this by a customer’s State instead of by order Week? Or maybe we want to see Lifetime Number of Purchases by a customer, tiered?
  • 10. Data Modeling in Looker Ready to Love Your Analytics? Come see a live demo and schedule your free trial. Call 888-960-2331 or go to: looker.com/demo About Looker Looker is an inventive software company that’s pioneering the next generation of business intelligence (BI). We believe in bringing better insights and data-driven decision-making to businesses of all sizes. The company has fast become the catalyst that is creating data-driven cultures at hundreds of industry-leading companies such as Yahoo!, Gilt, Warby Parker and Sony. Looker is based in Santa Cruz, CA Follow @lookerdata or visit www.looker.com © 2015 Looker. All rights reserved. Looker and the Looker logo are trademarks of Looker Data Sciences, registered in the United States.. Other trademarks are trademarks of their respective companies. All services are subject to change or discontinuance without notice. As you can see, all these reports can be generated, altered, and updated—without the need to rewrite any SQL. In LookML, we abstract the essential business logic once, then reference it within other dimensions and measures—allowing quick, rapid iteration of data exploration, while also ensuring the accuracy of the SQL that’s generated. If a business user wants a new tier, just add it to the dimension. If they want to determine revenue from users with more than 10 purchases, just create a new measure that sums total order amount and filters on customers with more than 10 purchases. Small updates are quick and can be made immediately available to end users. That frees you up to define the new metrics that will take your business to the next level.