SlideShare uma empresa Scribd logo
1 de 57
Baixar para ler offline
How to Sharpen Your
Investigative Analysis
with the New Excel
(a PowerPivot intro)
Carmen Mardiros - navabi GmbH
DA Hub 2015
Core component of
the Microsoft
self-serve BI stack
Fast and intelligent data modelling for the Excel pro.
!
Stack also includes PowerQuery (getting and
cleaning data), PowerView (reporting) and
PowerBI (online report publishing).
!
Integrated in Excel In many ways it feels very familiar (especially if you
use pivot tables and charts extensively).
It’s FREE Well, as long as you have Excel Professional Plus
2010 or 2013.
!
Highly recommended: Get the 2013 64-bit version
What is Power Pivot?
How PowerPivot
helps you to become
a better analyst
Analytics tools can’t substitute you. But they can
help you to become more efficient, unlock your true
potential and get the recognition you deserve.
!
Today is about lots of examples.
!
Ready to use
formulas
Not enough time to break all formulas down or
explain how PowerPivot works in detail, but will
explain how and when to use them, what to change
about them, how your data must look like for them
to work.
Resources to develop
your PowerPivot
skills
A few titles to help you build upon what you’ve
learned today.
What today is about
After today, pivot tables will
never look the
same again.
!
So what’s wrong with Excel
anyway?
1. Excel can’t handle lots of data…
… PowerPivot handles many millions easily
2. Regular pivot calculated fields are very
basic…
… PowerPivot bends the “normal” pivot rules
to its will
3. Must re-create formatting every time you
add a metric to a regular pivot…
Takes 8 clicks to set the formatting for Transactions and
2 more to change the title.
!
Remove it from the pivot and add it again? Start all over.
!
Every. Single. Time
… in PowerPivot you change once and
formatting stays the same
Flash intro to
Power Query
PowerQuery: Getting multiple CSVs into
PowerPivot
Connectors for many databases, Facebook, Salesforce,
Hadoop, feeds, Excel files, CSV files etc
and very soon Google Analytics
PowerQuery: Getting multiple CSVs into
PowerPivot
PowerQuery has its own language as well as intuitive UI.
!
We use formula to get keep only 1 header
from our folder of cdv files
PowerQuery: Getting multiple CSVs into
PowerPivot
let
Source = Folder.Files(“C:UsersmooDesktopdahub"),
Tables = List.Transform(Source[Content], each
Table.PromoteHeaders(Csv.Document(_,null,null,null,1252))),
SingleTable = Table.Combine(Tables)
in
SingleTable
PowerQuery: Getting multiple CSVs into
PowerPivot
CSV files are combined on the fly into a single table
NOTE: *All* CSV files must have the same structure
Load to PowerPivot
Flash intro to
PowerPivot
Enable to Add-in and it’s all systems go
Google “enable powerpivot addin"
PowerPivot window is where the magic
happens
Has calculated columns like Excel but that’s
where similarity ends
NOTE: avoid using calculated columns
unless you absolutely have to.
!
They are very costly in terms of performance as
they are stored in memory.
Portable “measures” are the unit of work
for PowerPivot
# Sessions:=SUM('dahub_sessions'[sessions])
special
equal
operator
keep this explicit
and eye-friendly full column reference
that is being summarised
Every measure is simply a building block
% Conversion Rate:=
[# Transactions]/[# Sessions]
Allows you to build
sophisticated
formulas
Each measure is made up of other measures.
PowerPivot resolves all the dependencies and
calculates them in the right order.
One change, trickles
through entire
reporting
If the name is ‘visits’ and your field is now
‘sessions’, you make 1 change and all your
measures update like magic.
Calculated on the fly,
not stored in
memory
Until you actually use them in a pivot, they add no
performance overhead. Maintainability heaven at no
extra cost.
Why measures are so amazing
Just drag to the Pivot and voila
Real-world examples
DISTINCTCOUNT function magic!
# Unique Campaigns:=
DISTINCTCOUNT(‘dahub_sessions'[campaign_id])
!
# Sessions per Campaign:=
DIVIDE([# Sessions], [# Unique Campaigns])
Which channels have a wide portfolio of
active campaigns or a very active narrow one?
This is impossible to answer
with regular pivot tables
!
Has traffic gone up
or down today because
we have fewer
campaigns
bringing in traffic?
!
How many
campaigns
are bringing in a
minimum of 1000
sessions
each day?
!
Mind blowing
# Unique Campaigns min 1000 sessions:=
CALCULATE(
[# Unique Campaigns],
FILTER(
VALUES('dahub_sessions'[campaign_id]),
[# Sessions] >= 1000
)
)
This is the formula…
but don’t try to take it in yet
First, PowerPivot sets the pivot coordinates
and calculates the “base” measure # Sessions
Then, *before* calculating [# Unique Campaigns],
it adds an additional filter that keeps only
campaigns that fit the criteria.
# Unique Campaigns min 1000 sessions:=
CALCULATE(
[# Unique Campaigns],
FILTER(
VALUES('dahub_sessions'[campaign_id]),
[# Sessions] >= 1000
)
)
Let’s break the formula down….
1. Pivot coordinates are set and underlying data
filtered accordingly.
2. Additional FILTER is applied
3. And only *afterwards* [# Unique Campaigns] is
calculated
!
What % of
all campaigns
are bringing in a
minimum of 100
sessions
each day?
Variations
Campaigns / ad
group / keywords /
landing pages
[# Sessions] >= 50
!
Size of your effectively active SEO/PPC portfolio and
how that changes over time.
Use Cost per
Conversion instead
If you have cost in your data, create a [£ Cost per
Conversion] and swap [# Sessions] with it.
!
Monitor the number of adgroups / keywords exceeding
the maximum budget
Combine multiple
conditions in the
FILTER
FILTER(
VALUES('dahub_sessions'[keyword_id]),
[£ Cost per Conversion] >= 50
&& [# Clicks] >= 10
)
More variations…
Campaigns and
channels bringing
most of the high
spenders
Which channels or campaigns bring the highest number
of transactions over a certain Revenue threshold?
!
(requires that you have a dataset with source_medium,
campaign, and transaction_id and you create a measure
# Unique Transactions using transaction_id)
Campaigns and
channels bringing
*predominantly* high
spenders
If you have cost in your data, create a [£ Cost per
Conversion] and swap [# Sessions] with it.
!
Monitor the number of adgroups / keywords exceeding
the maximum budget
# Unique Transactions min £500:=
CALCULATE(
[# Unique Transactions],
FILTER(
VALUES(‘dahub_sessions'[transaction_id]),
[£ Transaction Revenue] >= 500
)
)
Let’s break the formula down….
NOTE: In pivot you need source_medium and / or
campaign on rows and you need transaction_id in
your data
Banding
The problem: too many unique values to analyse.
!
The solution: creating dynamic groups to “cluster”
very granular data into a small number of groups
The nested IF way….
=IF(
[keyword_id] contains "<your brand name>",
"brand",
IF(
[keyword_id] contains "not provided",
"not provided",
IF(
[keyword_id] contains "not set",
"not set",
"generic"
)
)
)
The nested IF way in PowerPivot using
SWITCH function
=SWITCH(
TRUE(),
IFERROR(SEARCH("<your brand name>", 'dahub_sessions'[keyword_id]), -1) <> -1, "brand",
IFERROR(SEARCH("not provided", 'dahub_sessions'[keyword_id]), -1) <> -1, "not provided",
IFERROR(SEARCH("not set", 'dahub_sessions'[keyword_id]), -1) <> -1, "not set",
"generic"
)
Nested IFs forever gone
Which landing pages attract predominantly
branded / generic traffic?
CALCULATE is a super SUMIF
The single most powerful feature in PowerPivot
# Sessions Branded:=
CALCULATE(
[# Sessions],
'dahub_sessions'[brand_group] = "brand"
)
!
# Sessions Non Branded:=
CALCULATE(
[# Sessions],
'dahub_sessions'[brand_group] = "non brand"
)
This is a CALCULATE filter that gets added
*before* [# Sessions] is calculated
CALCULATE allows segmentation you could
never do before
If a CALCULATE filter is on a column
that’s already in pivot, it gets overridden.
Remove the column from pivot and
calculation still works!
CALCULATE filters have countless uses
Determine hidden
biases in AB testing
See if your variations had a comparable % of branded /
non branded traffic which might skew the results.
!
Also works with device, mobile traffic and any other
dimension you might have in your data.
Works best when you
create custom
“clusters” using
SWITCH
The formulas work with any dimension in your dataset
but if you really want to unlock CALCULATE’s filtering
potential, it really pays to create custom calculated
columns using the SWITCH formula.
Create horizontal
conversion funnels
CALCULATE is the essential building block for taking
conversion funnel analysis to the net step
Step 1. The right data for Horizontal Funnels
To get a Funnel Step column you need to create
segments for each step in your web analytics tool and
export them as CSV file. Then, import into PowerPivot
using Power Query and the multiple CSV import method.
Step 1. The right data for Horizontal Funnels
You need these segments:
!
All Sessions (unsegmented)
Category Pages
Products
Add to Basket
Basket
Secure Login
Address
Confirm Order
Payment
Step 2. Use CALCULATE on each funnel step
# Sessions All:=
CALCULATE(
[# Sessions Funnel],
'dahub_funnel'[funnel_step] = "All"
)
!
…
!
# Sessions Payment:=
CALCULATE(
[# Sessions Funnel],
'dahub_funnel'[funnel_step] = "Payment"
)
Create a new measure for each step in the funnel
Step 2. Use CALCULATE on each funnel step
This allows you to create custom “goals” on the fly
out of *ANY* segment
Step 3. Create ratios for each funnel step
% Sessions Address:=
DIVIDE([# Sessions Address], [# Sessions All])
Use All Sessions as a base for division:
Use previous funnel step as a base for division:
% Sessions Address progress:=
DIVIDE([# Sessions Address], [# Sessions Secure Login])
Step 4. Add measures to Pivot and analyse
You can use *ANY* dimension you have available
in your dataset on rows. Here, it’s Landing Page
but you can use date, channel dimensions, device
etc.
!
Can EVEN add an additional segmentation level
like user type (newly acquired, loyal etc)
Resources
Best book for PowerPivot
novices with gradual learning
curve.
!
By the end it gets pretty
advanced. You learn about
relationships, how to model
multiple tables, time
intelligence functions and
much more.
Resources
All in one reference for
formulas for almost any
scenario. All explained and
broken down.
!
You need a good
understanding of PowerPivot
to begin with so don’t get this
first.
Questions?
Bonus - Lifecycle metrics
Essential for comparing business entities (users,
customers) as well as assets (content, landing pages,
promos etc)
Step 1. Find First Date for each landing page
First Date Landing Page:=
CALCULATE(
MIN('dahub_sessions'[session_date]),
ALL('dahub_sessions'[session_date]),
VALUES('dahub_sessions'[landing_page_id])
)
Step 2. Find [# Sessions] on first day
# Sessions in first day:=
CALCULATE(
[# Sessions],
FILTER(
ALL('dahub_sessions'[session_date]),
'dahub_sessions'[session_date] = [First Date Landing Page]
),
VALUES('dahub_sessions'[landing_page_id])
)
Step 3. Find [# Sessions] in first 7 days
# Sessions in first 7 days:=
CALCULATE(
[# Sessions],
FILTER(
ALL('dahub_sessions'[session_date]),
'dahub_sessions'[session_date] >= [First Date Landing Page]
&& 'dahub_sessions'[session_date] <= [First Date Landing Page] + 7
),
VALUES('dahub_sessions'[landing_page_id])
)

Mais conteúdo relacionado

Destaque

T 13 reproduccion celular 16 17 web
T 13 reproduccion celular 16 17 webT 13 reproduccion celular 16 17 web
T 13 reproduccion celular 16 17 webFsanperg
 
GEC 2017: JF Gauthier
GEC 2017: JF GauthierGEC 2017: JF Gauthier
GEC 2017: JF GauthierMark Marich
 
T1 Prima 2017 Season 4 Driver list
T1 Prima 2017 Season 4 Driver listT1 Prima 2017 Season 4 Driver list
T1 Prima 2017 Season 4 Driver listRushLane
 
Common mistakes with media tagging (utm tags) and how to fix them!
Common mistakes with media tagging (utm tags) and how to fix them!Common mistakes with media tagging (utm tags) and how to fix them!
Common mistakes with media tagging (utm tags) and how to fix them!Phil Pearce
 
Global C4IR-1 Masterclass Cambridge Islam1 - MIUP 2017
Global C4IR-1 Masterclass Cambridge Islam1 - MIUP 2017Global C4IR-1 Masterclass Cambridge Islam1 - MIUP 2017
Global C4IR-1 Masterclass Cambridge Islam1 - MIUP 2017Justin Hayward
 
Getting to the People Behind The Keywords
Getting to the People Behind The KeywordsGetting to the People Behind The Keywords
Getting to the People Behind The KeywordsCarmen Mardiros
 
National Oilwell Varco Drilling Automation and Optimization 2017 03 03
National Oilwell Varco Drilling Automation and Optimization 2017 03 03National Oilwell Varco Drilling Automation and Optimization 2017 03 03
National Oilwell Varco Drilling Automation and Optimization 2017 03 03Javan Meinwald, MBA, MS
 
Витулькас - Новая модель здоровья и болезни
Витулькас - Новая модель здоровья и болезниВитулькас - Новая модель здоровья и болезни
Витулькас - Новая модель здоровья и болезниVubuntu Vera
 

Destaque (15)

T 13 reproduccion celular 16 17 web
T 13 reproduccion celular 16 17 webT 13 reproduccion celular 16 17 web
T 13 reproduccion celular 16 17 web
 
POLAROID
POLAROIDPOLAROID
POLAROID
 
Super shop management system
Super shop management systemSuper shop management system
Super shop management system
 
GEC 2017: JF Gauthier
GEC 2017: JF GauthierGEC 2017: JF Gauthier
GEC 2017: JF Gauthier
 
Love
LoveLove
Love
 
T1 Prima 2017 Season 4 Driver list
T1 Prima 2017 Season 4 Driver listT1 Prima 2017 Season 4 Driver list
T1 Prima 2017 Season 4 Driver list
 
Common mistakes with media tagging (utm tags) and how to fix them!
Common mistakes with media tagging (utm tags) and how to fix them!Common mistakes with media tagging (utm tags) and how to fix them!
Common mistakes with media tagging (utm tags) and how to fix them!
 
Global C4IR-1 Masterclass Cambridge Islam1 - MIUP 2017
Global C4IR-1 Masterclass Cambridge Islam1 - MIUP 2017Global C4IR-1 Masterclass Cambridge Islam1 - MIUP 2017
Global C4IR-1 Masterclass Cambridge Islam1 - MIUP 2017
 
Getting to the People Behind The Keywords
Getting to the People Behind The KeywordsGetting to the People Behind The Keywords
Getting to the People Behind The Keywords
 
Copa olímpica femenina 2017 ( Instructivo)
Copa olímpica femenina 2017 ( Instructivo)Copa olímpica femenina 2017 ( Instructivo)
Copa olímpica femenina 2017 ( Instructivo)
 
Ppt 2
Ppt 2Ppt 2
Ppt 2
 
National Oilwell Varco Drilling Automation and Optimization 2017 03 03
National Oilwell Varco Drilling Automation and Optimization 2017 03 03National Oilwell Varco Drilling Automation and Optimization 2017 03 03
National Oilwell Varco Drilling Automation and Optimization 2017 03 03
 
Витулькас - Новая модель здоровья и болезни
Витулькас - Новая модель здоровья и болезниВитулькас - Новая модель здоровья и болезни
Витулькас - Новая модель здоровья и болезни
 
Solicitud de organizacion (1) FEPUKA
Solicitud de organizacion (1) FEPUKASolicitud de organizacion (1) FEPUKA
Solicitud de organizacion (1) FEPUKA
 
МГЛК сезона 2016-2017 - 4-й этап - 19.03.2017 предварительные турнирные сетки
МГЛК сезона 2016-2017 - 4-й этап - 19.03.2017 предварительные турнирные сеткиМГЛК сезона 2016-2017 - 4-й этап - 19.03.2017 предварительные турнирные сетки
МГЛК сезона 2016-2017 - 4-й этап - 19.03.2017 предварительные турнирные сетки
 

Semelhante a How to Sharpen Your Investigative Analysis with PowerPivot

In memory OLAP engine
In memory OLAP engineIn memory OLAP engine
In memory OLAP engineWO Community
 
Power bi slide share pdf it is a very important
Power bi slide share pdf it is a very importantPower bi slide share pdf it is a very important
Power bi slide share pdf it is a very importantSatyabratarath5
 
Essbase Today - MindStream Analytics
Essbase Today - MindStream AnalyticsEssbase Today - MindStream Analytics
Essbase Today - MindStream Analyticsmindstremanalysis
 
Diversified application testing based on a Sylius project
Diversified application testing based on a Sylius projectDiversified application testing based on a Sylius project
Diversified application testing based on a Sylius projectŁukasz Chruściel
 
5001 accessing sap_hana_with_the_semantic_layer
5001 accessing sap_hana_with_the_semantic_layer5001 accessing sap_hana_with_the_semantic_layer
5001 accessing sap_hana_with_the_semantic_layersivaramakrishna alpuri
 
Columnstore improvements in SQL Server 2016
Columnstore improvements in SQL Server 2016Columnstore improvements in SQL Server 2016
Columnstore improvements in SQL Server 2016Niko Neugebauer
 
ActiveWarehouse/ETL - BI & DW for Ruby/Rails
ActiveWarehouse/ETL - BI & DW for Ruby/RailsActiveWarehouse/ETL - BI & DW for Ruby/Rails
ActiveWarehouse/ETL - BI & DW for Ruby/RailsPaul Gallagher
 
SQL Server 2008 Integration Services
SQL Server 2008 Integration ServicesSQL Server 2008 Integration Services
SQL Server 2008 Integration ServicesEduardo Castro
 
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
 
Seatug Presentation (Excel to Data Viz culture) Seattle Tableau User Group
Seatug Presentation (Excel to Data Viz culture) Seattle Tableau User GroupSeatug Presentation (Excel to Data Viz culture) Seattle Tableau User Group
Seatug Presentation (Excel to Data Viz culture) Seattle Tableau User GroupRussell Spangler
 
Découverte d'Einstein Analytics (Tableau CRM)
Découverte d'Einstein Analytics (Tableau CRM)Découverte d'Einstein Analytics (Tableau CRM)
Découverte d'Einstein Analytics (Tableau CRM)Doria Hamelryk
 
How Concur uses Big Data to get you to Tableau Conference On Time
How Concur uses Big Data to get you to Tableau Conference On TimeHow Concur uses Big Data to get you to Tableau Conference On Time
How Concur uses Big Data to get you to Tableau Conference On TimeDenny Lee
 
Building rednoseday.com on Drupal 8
Building rednoseday.com on Drupal 8Building rednoseday.com on Drupal 8
Building rednoseday.com on Drupal 8Peter Vanhee
 
10 reasons to use analytics canvas for google analytics data in tableau
10 reasons to use analytics canvas for google analytics data in tableau10 reasons to use analytics canvas for google analytics data in tableau
10 reasons to use analytics canvas for google analytics data in tableaunModal Solutions Inc.
 
Learn More with SteveMo - Steve Molis
Learn More with SteveMo - Steve MolisLearn More with SteveMo - Steve Molis
Learn More with SteveMo - Steve MolisSalesforce Admins
 
Tableau Course Content.docx
Tableau Course Content.docxTableau Course Content.docx
Tableau Course Content.docxLeotrainings
 
Tips for Building your First XPages Java Application
Tips for Building your First XPages Java ApplicationTips for Building your First XPages Java Application
Tips for Building your First XPages Java ApplicationTeamstudio
 

Semelhante a How to Sharpen Your Investigative Analysis with PowerPivot (20)

In memory OLAP engine
In memory OLAP engineIn memory OLAP engine
In memory OLAP engine
 
Power bi slide share pdf it is a very important
Power bi slide share pdf it is a very importantPower bi slide share pdf it is a very important
Power bi slide share pdf it is a very important
 
Essbase Today - MindStream Analytics
Essbase Today - MindStream AnalyticsEssbase Today - MindStream Analytics
Essbase Today - MindStream Analytics
 
Diversified application testing based on a Sylius project
Diversified application testing based on a Sylius projectDiversified application testing based on a Sylius project
Diversified application testing based on a Sylius project
 
5001 accessing sap_hana_with_the_semantic_layer
5001 accessing sap_hana_with_the_semantic_layer5001 accessing sap_hana_with_the_semantic_layer
5001 accessing sap_hana_with_the_semantic_layer
 
Columnstore improvements in SQL Server 2016
Columnstore improvements in SQL Server 2016Columnstore improvements in SQL Server 2016
Columnstore improvements in SQL Server 2016
 
ActiveWarehouse/ETL - BI & DW for Ruby/Rails
ActiveWarehouse/ETL - BI & DW for Ruby/RailsActiveWarehouse/ETL - BI & DW for Ruby/Rails
ActiveWarehouse/ETL - BI & DW for Ruby/Rails
 
SQL Server 2008 Integration Services
SQL Server 2008 Integration ServicesSQL Server 2008 Integration Services
SQL Server 2008 Integration Services
 
Multidimensional Data Analysis with Ruby (sample)
Multidimensional Data Analysis with Ruby (sample)Multidimensional Data Analysis with Ruby (sample)
Multidimensional Data Analysis with Ruby (sample)
 
Seatug Presentation (Excel to Data Viz culture) Seattle Tableau User Group
Seatug Presentation (Excel to Data Viz culture) Seattle Tableau User GroupSeatug Presentation (Excel to Data Viz culture) Seattle Tableau User Group
Seatug Presentation (Excel to Data Viz culture) Seattle Tableau User Group
 
Découverte d'Einstein Analytics (Tableau CRM)
Découverte d'Einstein Analytics (Tableau CRM)Découverte d'Einstein Analytics (Tableau CRM)
Découverte d'Einstein Analytics (Tableau CRM)
 
How Concur uses Big Data to get you to Tableau Conference On Time
How Concur uses Big Data to get you to Tableau Conference On TimeHow Concur uses Big Data to get you to Tableau Conference On Time
How Concur uses Big Data to get you to Tableau Conference On Time
 
Building rednoseday.com on Drupal 8
Building rednoseday.com on Drupal 8Building rednoseday.com on Drupal 8
Building rednoseday.com on Drupal 8
 
Virtual cube on pentaho
Virtual cube on pentahoVirtual cube on pentaho
Virtual cube on pentaho
 
10 reasons to use analytics canvas for google analytics data in tableau
10 reasons to use analytics canvas for google analytics data in tableau10 reasons to use analytics canvas for google analytics data in tableau
10 reasons to use analytics canvas for google analytics data in tableau
 
Dax & sql in power bi
Dax & sql in power biDax & sql in power bi
Dax & sql in power bi
 
Learn More with SteveMo - Steve Molis
Learn More with SteveMo - Steve MolisLearn More with SteveMo - Steve Molis
Learn More with SteveMo - Steve Molis
 
Tableau Course Content.docx
Tableau Course Content.docxTableau Course Content.docx
Tableau Course Content.docx
 
summer21-fr
summer21-frsummer21-fr
summer21-fr
 
Tips for Building your First XPages Java Application
Tips for Building your First XPages Java ApplicationTips for Building your First XPages Java Application
Tips for Building your First XPages Java Application
 

Último

꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Callshivangimorya083
 
Data-Analysis for Chicago Crime Data 2023
Data-Analysis for Chicago Crime Data  2023Data-Analysis for Chicago Crime Data  2023
Data-Analysis for Chicago Crime Data 2023ymrp368
 
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% SecureCall me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% SecurePooja Nehwal
 
April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysismanisha194592
 
Edukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxEdukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxolyaivanovalion
 
BigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxBigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxolyaivanovalion
 
Introduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptxIntroduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptxfirstjob4
 
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779Best VIP Call Girls Noida Sector 22 Call Me: 8448380779
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779Delhi Call girls
 
Accredited-Transport-Cooperatives-Jan-2021-Web.pdf
Accredited-Transport-Cooperatives-Jan-2021-Web.pdfAccredited-Transport-Cooperatives-Jan-2021-Web.pdf
Accredited-Transport-Cooperatives-Jan-2021-Web.pdfadriantubila
 
VidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxVidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxolyaivanovalion
 
CALL ON ➥8923113531 🔝Call Girls Chinhat Lucknow best sexual service Online
CALL ON ➥8923113531 🔝Call Girls Chinhat Lucknow best sexual service OnlineCALL ON ➥8923113531 🔝Call Girls Chinhat Lucknow best sexual service Online
CALL ON ➥8923113531 🔝Call Girls Chinhat Lucknow best sexual service Onlineanilsa9823
 
CebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptxCebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptxolyaivanovalion
 
Ravak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxRavak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxolyaivanovalion
 
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130Suhani Kapoor
 
Midocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxMidocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxolyaivanovalion
 
Smarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxSmarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxolyaivanovalion
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfLars Albertsson
 

Último (20)

꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
 
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get CytotecAbortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
 
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Data-Analysis for Chicago Crime Data 2023
Data-Analysis for Chicago Crime Data  2023Data-Analysis for Chicago Crime Data  2023
Data-Analysis for Chicago Crime Data 2023
 
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% SecureCall me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
 
April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysis
 
Edukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxEdukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFx
 
BigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxBigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptx
 
Introduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptxIntroduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptx
 
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in Kishangarh
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in  KishangarhDelhi 99530 vip 56974 Genuine Escort Service Call Girls in  Kishangarh
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in Kishangarh
 
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779Best VIP Call Girls Noida Sector 22 Call Me: 8448380779
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779
 
Accredited-Transport-Cooperatives-Jan-2021-Web.pdf
Accredited-Transport-Cooperatives-Jan-2021-Web.pdfAccredited-Transport-Cooperatives-Jan-2021-Web.pdf
Accredited-Transport-Cooperatives-Jan-2021-Web.pdf
 
VidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxVidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptx
 
CALL ON ➥8923113531 🔝Call Girls Chinhat Lucknow best sexual service Online
CALL ON ➥8923113531 🔝Call Girls Chinhat Lucknow best sexual service OnlineCALL ON ➥8923113531 🔝Call Girls Chinhat Lucknow best sexual service Online
CALL ON ➥8923113531 🔝Call Girls Chinhat Lucknow best sexual service Online
 
CebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptxCebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptx
 
Ravak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxRavak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptx
 
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
 
Midocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxMidocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFx
 
Smarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxSmarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptx
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdf
 

How to Sharpen Your Investigative Analysis with PowerPivot

  • 1. How to Sharpen Your Investigative Analysis with the New Excel (a PowerPivot intro) Carmen Mardiros - navabi GmbH DA Hub 2015
  • 2. Core component of the Microsoft self-serve BI stack Fast and intelligent data modelling for the Excel pro. ! Stack also includes PowerQuery (getting and cleaning data), PowerView (reporting) and PowerBI (online report publishing). ! Integrated in Excel In many ways it feels very familiar (especially if you use pivot tables and charts extensively). It’s FREE Well, as long as you have Excel Professional Plus 2010 or 2013. ! Highly recommended: Get the 2013 64-bit version What is Power Pivot?
  • 3. How PowerPivot helps you to become a better analyst Analytics tools can’t substitute you. But they can help you to become more efficient, unlock your true potential and get the recognition you deserve. ! Today is about lots of examples. ! Ready to use formulas Not enough time to break all formulas down or explain how PowerPivot works in detail, but will explain how and when to use them, what to change about them, how your data must look like for them to work. Resources to develop your PowerPivot skills A few titles to help you build upon what you’ve learned today. What today is about
  • 4. After today, pivot tables will never look the same again. ! So what’s wrong with Excel anyway?
  • 5. 1. Excel can’t handle lots of data…
  • 6. … PowerPivot handles many millions easily
  • 7. 2. Regular pivot calculated fields are very basic…
  • 8. … PowerPivot bends the “normal” pivot rules to its will
  • 9. 3. Must re-create formatting every time you add a metric to a regular pivot… Takes 8 clicks to set the formatting for Transactions and 2 more to change the title. ! Remove it from the pivot and add it again? Start all over. ! Every. Single. Time
  • 10. … in PowerPivot you change once and formatting stays the same
  • 12. PowerQuery: Getting multiple CSVs into PowerPivot Connectors for many databases, Facebook, Salesforce, Hadoop, feeds, Excel files, CSV files etc and very soon Google Analytics
  • 13. PowerQuery: Getting multiple CSVs into PowerPivot PowerQuery has its own language as well as intuitive UI. ! We use formula to get keep only 1 header from our folder of cdv files
  • 14. PowerQuery: Getting multiple CSVs into PowerPivot let Source = Folder.Files(“C:UsersmooDesktopdahub"), Tables = List.Transform(Source[Content], each Table.PromoteHeaders(Csv.Document(_,null,null,null,1252))), SingleTable = Table.Combine(Tables) in SingleTable
  • 15. PowerQuery: Getting multiple CSVs into PowerPivot CSV files are combined on the fly into a single table NOTE: *All* CSV files must have the same structure
  • 18. Enable to Add-in and it’s all systems go Google “enable powerpivot addin"
  • 19. PowerPivot window is where the magic happens
  • 20. Has calculated columns like Excel but that’s where similarity ends NOTE: avoid using calculated columns unless you absolutely have to. ! They are very costly in terms of performance as they are stored in memory.
  • 21. Portable “measures” are the unit of work for PowerPivot # Sessions:=SUM('dahub_sessions'[sessions]) special equal operator keep this explicit and eye-friendly full column reference that is being summarised
  • 22. Every measure is simply a building block % Conversion Rate:= [# Transactions]/[# Sessions]
  • 23. Allows you to build sophisticated formulas Each measure is made up of other measures. PowerPivot resolves all the dependencies and calculates them in the right order. One change, trickles through entire reporting If the name is ‘visits’ and your field is now ‘sessions’, you make 1 change and all your measures update like magic. Calculated on the fly, not stored in memory Until you actually use them in a pivot, they add no performance overhead. Maintainability heaven at no extra cost. Why measures are so amazing
  • 24. Just drag to the Pivot and voila
  • 26. DISTINCTCOUNT function magic! # Unique Campaigns:= DISTINCTCOUNT(‘dahub_sessions'[campaign_id]) ! # Sessions per Campaign:= DIVIDE([# Sessions], [# Unique Campaigns])
  • 27. Which channels have a wide portfolio of active campaigns or a very active narrow one? This is impossible to answer with regular pivot tables
  • 28. ! Has traffic gone up or down today because we have fewer campaigns bringing in traffic?
  • 29. ! How many campaigns are bringing in a minimum of 1000 sessions each day? ! Mind blowing
  • 30. # Unique Campaigns min 1000 sessions:= CALCULATE( [# Unique Campaigns], FILTER( VALUES('dahub_sessions'[campaign_id]), [# Sessions] >= 1000 ) ) This is the formula… but don’t try to take it in yet
  • 31. First, PowerPivot sets the pivot coordinates and calculates the “base” measure # Sessions
  • 32. Then, *before* calculating [# Unique Campaigns], it adds an additional filter that keeps only campaigns that fit the criteria.
  • 33. # Unique Campaigns min 1000 sessions:= CALCULATE( [# Unique Campaigns], FILTER( VALUES('dahub_sessions'[campaign_id]), [# Sessions] >= 1000 ) ) Let’s break the formula down…. 1. Pivot coordinates are set and underlying data filtered accordingly. 2. Additional FILTER is applied 3. And only *afterwards* [# Unique Campaigns] is calculated
  • 34. ! What % of all campaigns are bringing in a minimum of 100 sessions each day?
  • 35. Variations Campaigns / ad group / keywords / landing pages [# Sessions] >= 50 ! Size of your effectively active SEO/PPC portfolio and how that changes over time. Use Cost per Conversion instead If you have cost in your data, create a [£ Cost per Conversion] and swap [# Sessions] with it. ! Monitor the number of adgroups / keywords exceeding the maximum budget Combine multiple conditions in the FILTER FILTER( VALUES('dahub_sessions'[keyword_id]), [£ Cost per Conversion] >= 50 && [# Clicks] >= 10 )
  • 36. More variations… Campaigns and channels bringing most of the high spenders Which channels or campaigns bring the highest number of transactions over a certain Revenue threshold? ! (requires that you have a dataset with source_medium, campaign, and transaction_id and you create a measure # Unique Transactions using transaction_id) Campaigns and channels bringing *predominantly* high spenders If you have cost in your data, create a [£ Cost per Conversion] and swap [# Sessions] with it. ! Monitor the number of adgroups / keywords exceeding the maximum budget
  • 37. # Unique Transactions min £500:= CALCULATE( [# Unique Transactions], FILTER( VALUES(‘dahub_sessions'[transaction_id]), [£ Transaction Revenue] >= 500 ) ) Let’s break the formula down…. NOTE: In pivot you need source_medium and / or campaign on rows and you need transaction_id in your data
  • 38. Banding The problem: too many unique values to analyse. ! The solution: creating dynamic groups to “cluster” very granular data into a small number of groups
  • 39. The nested IF way…. =IF( [keyword_id] contains "<your brand name>", "brand", IF( [keyword_id] contains "not provided", "not provided", IF( [keyword_id] contains "not set", "not set", "generic" ) ) )
  • 40. The nested IF way in PowerPivot using SWITCH function =SWITCH( TRUE(), IFERROR(SEARCH("<your brand name>", 'dahub_sessions'[keyword_id]), -1) <> -1, "brand", IFERROR(SEARCH("not provided", 'dahub_sessions'[keyword_id]), -1) <> -1, "not provided", IFERROR(SEARCH("not set", 'dahub_sessions'[keyword_id]), -1) <> -1, "not set", "generic" ) Nested IFs forever gone
  • 41. Which landing pages attract predominantly branded / generic traffic?
  • 42. CALCULATE is a super SUMIF The single most powerful feature in PowerPivot # Sessions Branded:= CALCULATE( [# Sessions], 'dahub_sessions'[brand_group] = "brand" ) ! # Sessions Non Branded:= CALCULATE( [# Sessions], 'dahub_sessions'[brand_group] = "non brand" ) This is a CALCULATE filter that gets added *before* [# Sessions] is calculated
  • 43. CALCULATE allows segmentation you could never do before If a CALCULATE filter is on a column that’s already in pivot, it gets overridden. Remove the column from pivot and calculation still works!
  • 44. CALCULATE filters have countless uses Determine hidden biases in AB testing See if your variations had a comparable % of branded / non branded traffic which might skew the results. ! Also works with device, mobile traffic and any other dimension you might have in your data. Works best when you create custom “clusters” using SWITCH The formulas work with any dimension in your dataset but if you really want to unlock CALCULATE’s filtering potential, it really pays to create custom calculated columns using the SWITCH formula. Create horizontal conversion funnels CALCULATE is the essential building block for taking conversion funnel analysis to the net step
  • 45. Step 1. The right data for Horizontal Funnels To get a Funnel Step column you need to create segments for each step in your web analytics tool and export them as CSV file. Then, import into PowerPivot using Power Query and the multiple CSV import method.
  • 46. Step 1. The right data for Horizontal Funnels You need these segments: ! All Sessions (unsegmented) Category Pages Products Add to Basket Basket Secure Login Address Confirm Order Payment
  • 47. Step 2. Use CALCULATE on each funnel step # Sessions All:= CALCULATE( [# Sessions Funnel], 'dahub_funnel'[funnel_step] = "All" ) ! … ! # Sessions Payment:= CALCULATE( [# Sessions Funnel], 'dahub_funnel'[funnel_step] = "Payment" ) Create a new measure for each step in the funnel
  • 48. Step 2. Use CALCULATE on each funnel step This allows you to create custom “goals” on the fly out of *ANY* segment
  • 49. Step 3. Create ratios for each funnel step % Sessions Address:= DIVIDE([# Sessions Address], [# Sessions All]) Use All Sessions as a base for division: Use previous funnel step as a base for division: % Sessions Address progress:= DIVIDE([# Sessions Address], [# Sessions Secure Login])
  • 50. Step 4. Add measures to Pivot and analyse You can use *ANY* dimension you have available in your dataset on rows. Here, it’s Landing Page but you can use date, channel dimensions, device etc. ! Can EVEN add an additional segmentation level like user type (newly acquired, loyal etc)
  • 51. Resources Best book for PowerPivot novices with gradual learning curve. ! By the end it gets pretty advanced. You learn about relationships, how to model multiple tables, time intelligence functions and much more.
  • 52. Resources All in one reference for formulas for almost any scenario. All explained and broken down. ! You need a good understanding of PowerPivot to begin with so don’t get this first.
  • 54. Bonus - Lifecycle metrics Essential for comparing business entities (users, customers) as well as assets (content, landing pages, promos etc)
  • 55. Step 1. Find First Date for each landing page First Date Landing Page:= CALCULATE( MIN('dahub_sessions'[session_date]), ALL('dahub_sessions'[session_date]), VALUES('dahub_sessions'[landing_page_id]) )
  • 56. Step 2. Find [# Sessions] on first day # Sessions in first day:= CALCULATE( [# Sessions], FILTER( ALL('dahub_sessions'[session_date]), 'dahub_sessions'[session_date] = [First Date Landing Page] ), VALUES('dahub_sessions'[landing_page_id]) )
  • 57. Step 3. Find [# Sessions] in first 7 days # Sessions in first 7 days:= CALCULATE( [# Sessions], FILTER( ALL('dahub_sessions'[session_date]), 'dahub_sessions'[session_date] >= [First Date Landing Page] && 'dahub_sessions'[session_date] <= [First Date Landing Page] + 7 ), VALUES('dahub_sessions'[landing_page_id]) )