SlideShare uma empresa Scribd logo
1 de 61
Debugging Complex
Calculations
Austin Dahl
Director of Engineering, Analytics
Mrunal Shridhar
Commercial Presales Lead, EMEA
• Know row-level granularity of
your data
• Know what makes each row
unique
The dimension fields
represent the LOD of
the data source.
You cannot drill down
further than this.
Totally Aggregated
Totally Disaggregated
(granularity of data source -
cannot go lower)
Dimensions determine the Viz LOD. The Viz LOD
becomes less aggregated/more granular as more
dimensions are added.
Granularity
Less
More
Aggregation
More
Less
#
#
#
#
#
#
#
Dimensions
Measures
Do you have all the
dimensions?
No need to derive new
dimensions
New dimension need to
have a subset of data
only?
Subset of data need to
update automatically?
Create a computed
conditional set
Create a manual set
Dimension need to be
derived at row level?
Create row-level
calculation
Create FIXED LoD
expression
Measure needs mixed level
of aggregation?
Break measure into sub-
measures with a fixed level
of granularity?
Go back to Step 1, and go
through the process for each
sub-measure
Measure level of aggregation
same as dataset granularity?
Create a row level calculated
field
Measure aggregation at the
same LoD as the viz LoD?
Create an aggregated
calculated field
Measure aggregation more
granular than viz LoD?
Does result need just one
mark/value?
Create FIXED or EXCLUDE
LoD expression
Create table calculation
Create INCLUDE LoD
expression
Aggregation
Granularity
discount category
Measure needs mixed level
of aggregation?
Break measure into sub-
measures with a fixed level
of granularity?
Go back to Step 1, and go
through the process for each
sub-measure
Measure level of aggregation
same as dataset granularity?
Create a row level calculated
field
Measure aggregation at the
same LoD as the viz LoD?
Create an aggregated
calculated field
Measure aggregation more
granular than viz LoD?
Does result need just one
mark/value?
Create FIXED or EXCLUDE
LoD expression
Create table calculation
Create FIXED or INCLUDE
LoD expression
Aggregation
Granularity
discount product category
Measure needs mixed level
of aggregation?
Break measure into sub-
measures with a fixed level
of granularity?
Go back to Step 1, and go
through the process for each
sub-measure
Measure level of aggregation
same as dataset granularity?
Create a row level calculated
field
Measure aggregation at the
same LoD as the viz LoD?
Create an aggregated
calculated field
Measure aggregation more
granular than viz LoD?
Does result need just one
mark/value?
Create FIXED or EXCLUDE
LoD expression
Create table calculation
Create INCLUDE LoD
expression
Aggregation
Granularity
Dropping dimensions on
these shelves adds them to
the Viz LOD.
• It is easy for you to create a ton of LoD expressions
• It is very easy to overwhelm your data model
• It is most easy to use a wrong LoD expression in your viz
Extract Filters
Data Source Filters
Context Filters
FIXED Expressions Evaluated
Dimension Filters
INCLUDE/EXCLUDE Expressions Evaluated
Measure Filters
Local Filters (ATTR, geocoding)
Table Calc Filters
Hide
database
local
Query
• Query
database
• Cache
Results
Data
• Local data
joins
• Local
calculations
• Local filters
• Totals
• Forecasting
• Table
calculations
• 2nd pass
filters
• Sort
Layout
• Layout views
• Compute
legends
• Encode
marks
Render
• Marks
• Selection
• Highlighting
• Labels
NULL
What can go wrong?
Join Some rows might not match. What will happen?
Join There might be more than one match. Will you count
things twice?
Left It’s asymmetric, do you have the right primary?
Post-
aggregate
It’s already aggregated, is the combination of
aggregates valid?
Please complete
the session survey
from the Session
Details screen in
your TC16 app

Mais conteúdo relacionado

Destaque

Dagur íslenskrar náttúru
Dagur íslenskrar náttúruDagur íslenskrar náttúru
Dagur íslenskrar náttúruhjorvar
 
Brochure
BrochureBrochure
BrochureIGP9
 
Teorías del liderazgo
Teorías del liderazgoTeorías del liderazgo
Teorías del liderazgoMercy Vargas
 
Copia de ejemplo tema 4 tabl dinamic
Copia de ejemplo tema 4 tabl dinamicCopia de ejemplo tema 4 tabl dinamic
Copia de ejemplo tema 4 tabl dinamicVictor Sinisterra
 
Готовність дітей до навчання в школі
Готовність дітей до навчання в школіГотовність дітей до навчання в школі
Готовність дітей до навчання в школіТкачова Петрівна
 
La ira trea 6 fisiologia de la conducta
La ira trea 6 fisiologia de la conductaLa ira trea 6 fisiologia de la conducta
La ira trea 6 fisiologia de la conductayenniffer22
 
Cuadro Comparativo Sobre las eras Geológicas
Cuadro Comparativo Sobre las eras GeológicasCuadro Comparativo Sobre las eras Geológicas
Cuadro Comparativo Sobre las eras GeológicasSarah Jackson
 

Destaque (11)

prueba
prueba prueba
prueba
 
Dagur íslenskrar náttúru
Dagur íslenskrar náttúruDagur íslenskrar náttúru
Dagur íslenskrar náttúru
 
Ftd33
Ftd33Ftd33
Ftd33
 
Brochure
BrochureBrochure
Brochure
 
IndustryWinner
IndustryWinnerIndustryWinner
IndustryWinner
 
Teorías del liderazgo
Teorías del liderazgoTeorías del liderazgo
Teorías del liderazgo
 
Ftd46
Ftd46Ftd46
Ftd46
 
Copia de ejemplo tema 4 tabl dinamic
Copia de ejemplo tema 4 tabl dinamicCopia de ejemplo tema 4 tabl dinamic
Copia de ejemplo tema 4 tabl dinamic
 
Готовність дітей до навчання в школі
Готовність дітей до навчання в школіГотовність дітей до навчання в школі
Готовність дітей до навчання в школі
 
La ira trea 6 fisiologia de la conducta
La ira trea 6 fisiologia de la conductaLa ira trea 6 fisiologia de la conducta
La ira trea 6 fisiologia de la conducta
 
Cuadro Comparativo Sobre las eras Geológicas
Cuadro Comparativo Sobre las eras GeológicasCuadro Comparativo Sobre las eras Geológicas
Cuadro Comparativo Sobre las eras Geológicas
 

Semelhante a Debugging Complex Calculations

Tableau LOD Expressions | Edureka
Tableau LOD Expressions | EdurekaTableau LOD Expressions | Edureka
Tableau LOD Expressions | EdurekaEdureka!
 
Designing high performance datawarehouse
Designing high performance datawarehouseDesigning high performance datawarehouse
Designing high performance datawarehouseUday Kothari
 
BI Knowledge Sharing Session 2
BI Knowledge Sharing Session 2BI Knowledge Sharing Session 2
BI Knowledge Sharing Session 2Kelvin Chan
 
Tableau Online Training in canada
Tableau Online Training in canadaTableau Online Training in canada
Tableau Online Training in canadaBoundTechS
 
Art and Science of Dashboard Design
Art and Science of Dashboard DesignArt and Science of Dashboard Design
Art and Science of Dashboard DesignSavvyData
 
PowerBI importance of power bi in data analytics field
PowerBI importance of power bi in data analytics fieldPowerBI importance of power bi in data analytics field
PowerBI importance of power bi in data analytics fieldshubham299785
 
Measure the right stuff with crystal reports bb con 2011
Measure the right stuff with crystal reports   bb con 2011Measure the right stuff with crystal reports   bb con 2011
Measure the right stuff with crystal reports bb con 2011Joe Meehan
 
Crystal Reports Review
Crystal Reports ReviewCrystal Reports Review
Crystal Reports ReviewJustin R. Rue
 
Sww 2008 Automating Your Designs Excel, Vba And Beyond
Sww 2008   Automating Your Designs   Excel, Vba And BeyondSww 2008   Automating Your Designs   Excel, Vba And Beyond
Sww 2008 Automating Your Designs Excel, Vba And BeyondRazorleaf Corporation
 
Level of-detail-expressions
Level of-detail-expressionsLevel of-detail-expressions
Level of-detail-expressionsYogeeswar Reddy
 
Pass 2018 introduction to dax
Pass 2018 introduction to daxPass 2018 introduction to dax
Pass 2018 introduction to daxIke Ellis
 
Obiee11g building logical dimension hierarchy
Obiee11g building logical dimension hierarchyObiee11g building logical dimension hierarchy
Obiee11g building logical dimension hierarchyAmit Sharma
 
Visual guidance calgary user group
Visual guidance calgary user groupVisual guidance calgary user group
Visual guidance calgary user groupBerkovich Consulting
 
Data Visualization Tips for Oracle BICS and DVCS
Data Visualization Tips for Oracle BICS and DVCSData Visualization Tips for Oracle BICS and DVCS
Data Visualization Tips for Oracle BICS and DVCSEdelweiss Kammermann
 
Tableau - Learning Objectives for Data, Graphs, Filters, Dashboards and Advan...
Tableau - Learning Objectives for Data, Graphs, Filters, Dashboards and Advan...Tableau - Learning Objectives for Data, Graphs, Filters, Dashboards and Advan...
Tableau - Learning Objectives for Data, Graphs, Filters, Dashboards and Advan...Srinath Reddy
 

Semelhante a Debugging Complex Calculations (20)

Tableau LOD Expressions | Edureka
Tableau LOD Expressions | EdurekaTableau LOD Expressions | Edureka
Tableau LOD Expressions | Edureka
 
Designing high performance datawarehouse
Designing high performance datawarehouseDesigning high performance datawarehouse
Designing high performance datawarehouse
 
BI Knowledge Sharing Session 2
BI Knowledge Sharing Session 2BI Knowledge Sharing Session 2
BI Knowledge Sharing Session 2
 
Tableau PPT
Tableau PPTTableau PPT
Tableau PPT
 
Tableau ppt
Tableau pptTableau ppt
Tableau ppt
 
Tableau Online Training in canada
Tableau Online Training in canadaTableau Online Training in canada
Tableau Online Training in canada
 
Art and Science of Dashboard Design
Art and Science of Dashboard DesignArt and Science of Dashboard Design
Art and Science of Dashboard Design
 
PowerBI importance of power bi in data analytics field
PowerBI importance of power bi in data analytics fieldPowerBI importance of power bi in data analytics field
PowerBI importance of power bi in data analytics field
 
Measure the right stuff with crystal reports bb con 2011
Measure the right stuff with crystal reports   bb con 2011Measure the right stuff with crystal reports   bb con 2011
Measure the right stuff with crystal reports bb con 2011
 
Bar chart Creation
Bar chart CreationBar chart Creation
Bar chart Creation
 
Crystal Reports Review
Crystal Reports ReviewCrystal Reports Review
Crystal Reports Review
 
Sww 2008 Automating Your Designs Excel, Vba And Beyond
Sww 2008   Automating Your Designs   Excel, Vba And BeyondSww 2008   Automating Your Designs   Excel, Vba And Beyond
Sww 2008 Automating Your Designs Excel, Vba And Beyond
 
Dbms schemas for decision support
Dbms schemas for decision supportDbms schemas for decision support
Dbms schemas for decision support
 
Level of-detail-expressions
Level of-detail-expressionsLevel of-detail-expressions
Level of-detail-expressions
 
Pass 2018 introduction to dax
Pass 2018 introduction to daxPass 2018 introduction to dax
Pass 2018 introduction to dax
 
Obiee11g building logical dimension hierarchy
Obiee11g building logical dimension hierarchyObiee11g building logical dimension hierarchy
Obiee11g building logical dimension hierarchy
 
Visual guidance calgary user group
Visual guidance calgary user groupVisual guidance calgary user group
Visual guidance calgary user group
 
Data Visualization Tips for Oracle BICS and DVCS
Data Visualization Tips for Oracle BICS and DVCSData Visualization Tips for Oracle BICS and DVCS
Data Visualization Tips for Oracle BICS and DVCS
 
Tableau - Learning Objectives for Data, Graphs, Filters, Dashboards and Advan...
Tableau - Learning Objectives for Data, Graphs, Filters, Dashboards and Advan...Tableau - Learning Objectives for Data, Graphs, Filters, Dashboards and Advan...
Tableau - Learning Objectives for Data, Graphs, Filters, Dashboards and Advan...
 
OLAP
OLAPOLAP
OLAP
 

Último

Customer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptxCustomer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptxEmmanuel Dauda
 
Data Science Jobs and Salaries Analysis.pptx
Data Science Jobs and Salaries Analysis.pptxData Science Jobs and Salaries Analysis.pptx
Data Science Jobs and Salaries Analysis.pptxFurkanTasci3
 
Brighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingBrighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingNeil Barnes
 
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Callshivangimorya083
 
Dubai Call Girls Wifey O52&786472 Call Girls Dubai
Dubai Call Girls Wifey O52&786472 Call Girls DubaiDubai Call Girls Wifey O52&786472 Call Girls Dubai
Dubai Call Girls Wifey O52&786472 Call Girls Dubaihf8803863
 
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...Sapana Sha
 
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
Data Warehouse , Data Cube Computation
Data Warehouse   , Data Cube ComputationData Warehouse   , Data Cube Computation
Data Warehouse , Data Cube Computationsit20ad004
 
Call Girls In Mahipalpur O9654467111 Escorts Service
Call Girls In Mahipalpur O9654467111  Escorts ServiceCall Girls In Mahipalpur O9654467111  Escorts Service
Call Girls In Mahipalpur O9654467111 Escorts ServiceSapana Sha
 
Full night 🥵 Call Girls Delhi New Friends Colony {9711199171} Sanya Reddy ✌️o...
Full night 🥵 Call Girls Delhi New Friends Colony {9711199171} Sanya Reddy ✌️o...Full night 🥵 Call Girls Delhi New Friends Colony {9711199171} Sanya Reddy ✌️o...
Full night 🥵 Call Girls Delhi New Friends Colony {9711199171} Sanya Reddy ✌️o...shivangimorya083
 
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service Amravati
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service AmravatiVIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service Amravati
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service AmravatiSuhani Kapoor
 
B2 Creative Industry Response Evaluation.docx
B2 Creative Industry Response Evaluation.docxB2 Creative Industry Response Evaluation.docx
B2 Creative Industry Response Evaluation.docxStephen266013
 
20240419 - Measurecamp Amsterdam - SAM.pdf
20240419 - Measurecamp Amsterdam - SAM.pdf20240419 - Measurecamp Amsterdam - SAM.pdf
20240419 - Measurecamp Amsterdam - SAM.pdfHuman37
 
Industrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfIndustrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfLars Albertsson
 
Spark3's new memory model/management
Spark3's new memory model/managementSpark3's new memory model/management
Spark3's new memory model/managementakshesh doshi
 
100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptxAnupama Kate
 
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...soniya singh
 
From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...Florian Roscheck
 

Último (20)

Russian Call Girls Dwarka Sector 15 💓 Delhi 9999965857 @Sabina Modi VVIP MODE...
Russian Call Girls Dwarka Sector 15 💓 Delhi 9999965857 @Sabina Modi VVIP MODE...Russian Call Girls Dwarka Sector 15 💓 Delhi 9999965857 @Sabina Modi VVIP MODE...
Russian Call Girls Dwarka Sector 15 💓 Delhi 9999965857 @Sabina Modi VVIP MODE...
 
Customer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptxCustomer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptx
 
Data Science Jobs and Salaries Analysis.pptx
Data Science Jobs and Salaries Analysis.pptxData Science Jobs and Salaries Analysis.pptx
Data Science Jobs and Salaries Analysis.pptx
 
Brighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingBrighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data Storytelling
 
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
 
Dubai Call Girls Wifey O52&786472 Call Girls Dubai
Dubai Call Girls Wifey O52&786472 Call Girls DubaiDubai Call Girls Wifey O52&786472 Call Girls Dubai
Dubai Call Girls Wifey O52&786472 Call Girls Dubai
 
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
 
Deep Generative Learning for All - The Gen AI Hype (Spring 2024)
Deep Generative Learning for All - The Gen AI Hype (Spring 2024)Deep Generative Learning for All - The Gen AI Hype (Spring 2024)
Deep Generative Learning for All - The Gen AI Hype (Spring 2024)
 
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
 
Data Warehouse , Data Cube Computation
Data Warehouse   , Data Cube ComputationData Warehouse   , Data Cube Computation
Data Warehouse , Data Cube Computation
 
Call Girls In Mahipalpur O9654467111 Escorts Service
Call Girls In Mahipalpur O9654467111  Escorts ServiceCall Girls In Mahipalpur O9654467111  Escorts Service
Call Girls In Mahipalpur O9654467111 Escorts Service
 
Full night 🥵 Call Girls Delhi New Friends Colony {9711199171} Sanya Reddy ✌️o...
Full night 🥵 Call Girls Delhi New Friends Colony {9711199171} Sanya Reddy ✌️o...Full night 🥵 Call Girls Delhi New Friends Colony {9711199171} Sanya Reddy ✌️o...
Full night 🥵 Call Girls Delhi New Friends Colony {9711199171} Sanya Reddy ✌️o...
 
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service Amravati
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service AmravatiVIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service Amravati
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service Amravati
 
B2 Creative Industry Response Evaluation.docx
B2 Creative Industry Response Evaluation.docxB2 Creative Industry Response Evaluation.docx
B2 Creative Industry Response Evaluation.docx
 
20240419 - Measurecamp Amsterdam - SAM.pdf
20240419 - Measurecamp Amsterdam - SAM.pdf20240419 - Measurecamp Amsterdam - SAM.pdf
20240419 - Measurecamp Amsterdam - SAM.pdf
 
Industrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfIndustrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdf
 
Spark3's new memory model/management
Spark3's new memory model/managementSpark3's new memory model/management
Spark3's new memory model/management
 
100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx
 
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
 
From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...
 

Debugging Complex Calculations

  • 1.
  • 2. Debugging Complex Calculations Austin Dahl Director of Engineering, Analytics Mrunal Shridhar Commercial Presales Lead, EMEA
  • 3.
  • 4.
  • 5.
  • 6.
  • 7. • Know row-level granularity of your data • Know what makes each row unique The dimension fields represent the LOD of the data source. You cannot drill down further than this.
  • 8. Totally Aggregated Totally Disaggregated (granularity of data source - cannot go lower) Dimensions determine the Viz LOD. The Viz LOD becomes less aggregated/more granular as more dimensions are added. Granularity Less More Aggregation More Less # # # # # # # Dimensions Measures
  • 9.
  • 10.
  • 11. Do you have all the dimensions? No need to derive new dimensions New dimension need to have a subset of data only? Subset of data need to update automatically? Create a computed conditional set Create a manual set Dimension need to be derived at row level? Create row-level calculation Create FIXED LoD expression
  • 12. Measure needs mixed level of aggregation? Break measure into sub- measures with a fixed level of granularity? Go back to Step 1, and go through the process for each sub-measure Measure level of aggregation same as dataset granularity? Create a row level calculated field Measure aggregation at the same LoD as the viz LoD? Create an aggregated calculated field Measure aggregation more granular than viz LoD? Does result need just one mark/value? Create FIXED or EXCLUDE LoD expression Create table calculation Create INCLUDE LoD expression Aggregation Granularity
  • 13.
  • 14.
  • 15. discount category Measure needs mixed level of aggregation? Break measure into sub- measures with a fixed level of granularity? Go back to Step 1, and go through the process for each sub-measure Measure level of aggregation same as dataset granularity? Create a row level calculated field Measure aggregation at the same LoD as the viz LoD? Create an aggregated calculated field Measure aggregation more granular than viz LoD? Does result need just one mark/value? Create FIXED or EXCLUDE LoD expression Create table calculation Create FIXED or INCLUDE LoD expression Aggregation Granularity
  • 16. discount product category Measure needs mixed level of aggregation? Break measure into sub- measures with a fixed level of granularity? Go back to Step 1, and go through the process for each sub-measure Measure level of aggregation same as dataset granularity? Create a row level calculated field Measure aggregation at the same LoD as the viz LoD? Create an aggregated calculated field Measure aggregation more granular than viz LoD? Does result need just one mark/value? Create FIXED or EXCLUDE LoD expression Create table calculation Create INCLUDE LoD expression Aggregation Granularity
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24. Dropping dimensions on these shelves adds them to the Viz LOD.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29. • It is easy for you to create a ton of LoD expressions • It is very easy to overwhelm your data model • It is most easy to use a wrong LoD expression in your viz
  • 30.
  • 31.
  • 32.
  • 33. Extract Filters Data Source Filters Context Filters FIXED Expressions Evaluated Dimension Filters INCLUDE/EXCLUDE Expressions Evaluated Measure Filters Local Filters (ATTR, geocoding) Table Calc Filters Hide database local
  • 34.
  • 35. Query • Query database • Cache Results Data • Local data joins • Local calculations • Local filters • Totals • Forecasting • Table calculations • 2nd pass filters • Sort Layout • Layout views • Compute legends • Encode marks Render • Marks • Selection • Highlighting • Labels
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48. NULL
  • 49.
  • 50.
  • 51.
  • 52. What can go wrong? Join Some rows might not match. What will happen? Join There might be more than one match. Will you count things twice? Left It’s asymmetric, do you have the right primary? Post- aggregate It’s already aggregated, is the combination of aggregates valid?
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61. Please complete the session survey from the Session Details screen in your TC16 app

Notas do Editor

  1. Demo from workbook what these tools are and how they can help
  2. No demo Now that you know what dimensions are needed to answer your analytical question. First step is to ensure that you those dimensions. Use this framework to ensure that you have them. Options include: Sets – manual or computed. Row level calculation LoD expression (Fixed) The reason we didn’t use filter and instead a set is because when you filter you exclude those values and cannot be used in a calculation.
  3. Show a couple of examples of us working through the framework
  4. Show a couple of examples of us working through the framework
  5. Show a couple of examples of us working through the framework
  6. Demo building table calculations in v9.3 using index() and then the new improvements in v10
  7. Demo building table calculations in v9.3 using index() and then the new improvements in v10
  8. Demo building table calculations in v9.3 using index() and then the new improvements in v10
  9. Show a quick example, for dimension or measure, and for filtering on fixed LoD
  10. Add comments to calculations Add comments to field by copying desc
  11. Demo % of Total
  12. Examples to discuss: Font – layout views Filter – query but could be data if it is a table calculation or 2nd pass Marks – when you select a mark it is simply render but when you have action filters you could trigger the whole pipeline. Show an example of interactive vs. non-interactive interaction
  13. One of the big ideas I want you to understand is you can use the techniques of visualization to make your job of debugging easier and faster. To do this I’m going to take an example from Mrunal’s LOD expressions.
  14. A few minutes ago, Mrunal was making sure that his calc for profit ratio on categories matched with the total calculation for profit ratio. I’m going to build a visualization that shows both the new calc and the total. If they align I know the calc is correct. Do they align? Yes. The calc is what I was expecting. In this case, I was only trying to see if three numbers match, but the technique of using a visualization will scale up. If there were 5 or 15 or 500 categories, I could tell in a glance if there was a difference between the bar and the reference line.
  15. The next section is about joins.
  16. In a normal join operation, you start with the columns on the left and augment them with columns from the right where you have a match on the join key. In this example, the data set on the left has Sales for each State and the data set on the right has Population for each state. When I join them by state, I’m going to end up with State, Region, Category, Sales and Profit, as well as Time Zone and Population. For the first two rows, California, the data I get in Time Zone and Population is West and 38 million something. Similar things happen for Colorado and Illinois. For Missouri, Montana and Nevada, there’s just one row each. For Texas and Washington it’s two rows each.
  17. I can build a map of the sales per region. BTW, do you know how to create custom territories from existing geographic fields?) Right click on the field, Geographic Role Create From Select the appropriate field. I can easily build a map of sales per time zone. Cool, my join added something useful data.
  18. Let’s build another viz. How many potential customers are there in each state? Wait! How can that be? There are only 38M people in California. What’s going wrong?
  19. Remember as part of the join, population gets put in to two rows for California. When I drag out population, the default aggregation is SUM. So my viz, which is doing an aggregation by state sums all the Population for each state. That’s wrong for 5 of the 8 states in this data set.
  20. How would I detect this might be a problem? Do a sanity check, and make it easy for yourself. You can add reference lines. You can build a dashboard with the original viz.
  21. You might be tempted to use a different aggregation, but you will need to sanity check it repeatedly. LODs usually work nicely. Blending is almost magical in how it works. It very often does exactly what you want.
  22. Another concern with Joins are Nulls. When you do a left or a right join there can be Nulls. In this case, if I do a left join the row for Oregon will get NULL, for Region, Category, Sales and Profit. If I do an inner join, I don’t even get a row for Oregon, but let’s stick to left joins for now.
  23. Let’s look at Sales for the time zone.
  24. If I didn’t already know there were NULLs for Oregon, how might I find out? I can build a bar chart to look at how many records there are. I can build a heat map to see where the NULLs are. This works well even when there are lots and lots of records. As you are looking, there are questions you can ask yourself.
  25. Blends are a post aggregate left join. An aggregate of aggregates is sometime fine. A sum of sums is valid. A min of mins is valid. A average of sums is not the same as the average of the underlying items. An average of averages is not either, but it’s often close and can fool you easily.
  26. Here’s an example that I was involved with. You may ask why different data sources? Because I didn’t have control of all of them. They were from different departments. You may ask why I didn’t use a cross data base join? Because when I started this, Tableau didn’t have the features.
  27. These are my motivations. How can I check for dirty data? How can I check my assumptions?
  28. I’ve been talking about blends for a while, but there are similar concepts that apply to joins. Most of the time, you don’t expect many-to-many joins and most of the time they are not the right thing. However, sometimes the data surprises you and you get some unexpected joins. In the Intern example, I did not expect Stephanie to have to mentor two interns. Here’s is an example to detect that in the join case.