facebook jeopardy: hack edition

74
Hack Jeopardy facebook.com/fbDataViz

Upload: andy-kriebel

Post on 14-Jun-2015

310 views

Category:

Data & Analytics


8 download

DESCRIPTION

Presentation by Andy Kriebel and Bryan Brandow of Facebook at the 2014 Tableau Customer Conference http://vizwiz.blogspot.com/2014/09/facebook-jeopardy.html

TRANSCRIPT

  • 1. Hack Jeopardyfacebook.com/fbDataViz

2. Our Teamfacebook.com/fbDataViz 3. Do you love Tableau? 4. Do you know SQL? 5. Can you code? 6. ARE YOU READY? 7. Hack 8. Rules (so Andy doesnt cheat)1. Each item is a pain point2. Answer must be in the form of a hack3. Loud applause = bonus points! 9. Everything will be availableon our blogsvizwiz.blogspot.combryanbrandow.com 10. Sanity SaversLifeChangersTipping TheScaleNo AssemblyRequired100 100 100 100200 200 200 200300 300 300 300 11. My ETL was delayedtoday and it missed myrefresh schedule. 12. Trigger is a control table with the Current Status for each TriggerA script runs every 5 minutes to fire Triggers that are ReadyExtract is refreshed immediately when data is available, and no server 13. Sanity SaversLifeChangersTipping TheScaleNo AssemblyRequired100 100My ETL was delayedtoday and it missed myrefresh schedule. 100200 200 200 200300 300 300 300 14. My extract has beenfailing for the last 3 daysand I just noticed. 15. Sanity SaversLifeChangersTipping TheScaleNo AssemblyRequired100 100My ETL was delayedtoday and it missed myrefresh schedule. 100200 200My extract has beenfailing for the last 3days and I just noticed. 200300 300 300 300 16. Extracts take too long to loadand are taking up too manyresources on my server. 17. Tableau Data Extract API 18. Sanity SaversLifeChangersTipping TheScaleNo AssemblyRequired100 100My ETL was delayedtoday and it missed myrefresh schedule. 100200 200My extract has beenfailing for the last 3days and I just noticed. 200300 300Extracts take too longto load and are takingup too many resourceson my server.300 19. I like drilling down, but Ihate losing context byswitching tabs. 20. Sanity SaversLifeChangersTipping TheScaleNo AssemblyRequired100 100My ETL was delayedtoday and it missed myrefresh schedule.I like drilling down but Ihate losing context byswitching tabs.200 200My extract has beenfailing for the last 3days and I just noticed. 200300 300Extracts take too longto load and are takingup too many resourceson my server.300 21. I want to build a waterfallchart, but its taking 9minutes for my 37 sheetdashboard to render. 22. Sanity SaversLifeChangersTipping TheScaleNo AssemblyRequired100 100My ETL was delayedtoday and it missed myrefresh schedule.I like drilling down but Ihate losing context byswitching tabs.200 200My extract has beenfailing for the last 3days and I just noticed.I want to build awaterfall chart, but itstaking 9 minutes for my37 sheet dashboard torender.300 300Extracts take too longto load and are takingup too many resourceson my server.300 23. I wish I could expand asection in-line 24. Sanity SaversLifeChangersTipping TheScaleNo AssemblyRequired100 100My ETL was delayedtoday and it missed myrefresh schedule.I like drilling down but Ihate losing context byswitching tabs.200 200My extract has beenfailing for the last 3days and I just noticed.I want to build awaterfall chart, but itstaking 9 minutes for my37 sheet dashboard torender.300 300Extracts take too longto load and are takingup too many resourceson my server.I wish I could expand asection in-line 25. When my extract refreshes,the date range quick filter isstuck on a date in the past. 26. Sanity SaversLifeChangersTipping TheScaleNo AssemblyRequiredWhen my extractrefreshes, the daterange quick filter isstuck on a date in thepast.100My ETL was delayedtoday and it missed myrefresh schedule.I like drilling down but Ihate losing context byswitching tabs.200 200My extract has beenfailing for the last 3days and I just noticed.I want to build awaterfall chart, but itstaking 9 minutes for my37 sheet dashboard torender.300 300Extracts take too longto load and are takingup too many resourceson my server.I wish I could expand asection in-line 27. My users are creatingspaghetti charts! I need thisto stop or I may kill someone! 28. Sanity SaversLifeChangersTipping TheScaleNo AssemblyRequiredWhen my extractrefreshes, the daterange quick filter isstuck on a date in thepast.100My ETL was delayedtoday and it missed myrefresh schedule.I like drilling down but Ihate losing context byswitching tabs.My users are creatingspaghetti charts! Ineed this to stop or Imay kill someone!200My extract has beenfailing for the last 3days and I just noticed.I want to build awaterfall chart, but itstaking 9 minutes for my37 sheet dashboard torender.300 300Extracts take too longto load and are takingup too many resourceson my server.I wish I could expand asection in-line 29. Replace Data Source iskilling me. Surely there isa better hackier way. 30. Sanity SaversLifeChangersTipping TheScaleNo AssemblyRequiredWhen my extractrefreshes, the daterange quick filter isstuck on a date in thepast.100My ETL was delayedtoday and it missed myrefresh schedule.I like drilling down but Ihate losing context byswitching tabs.My users are creatingspaghetti charts! Ineed this to stop or Imay kill someone!200My extract has beenfailing for the last 3days and I just noticed.I want to build awaterfall chart, but itstaking 9 minutes for my37 sheet dashboard torender.Replace Data Sourceis killing me. Surelythere is a betterhackier way.300Extracts take too longto load and are takingup too many resourceson my server.I wish I could expand asection in-line 31. People are asking me for____ but Tableau justdoesnt have that feature. 32. Image InjectionShape / Element / Image mappingEncoded imageHaXML 33. HaXML Dynamic Parameters 34. HaXML External Annotations 35. HaXML fired by TriggerTrigger Dependency SchedulingTriggers the HaXML updateafter the Extract is finishedExtract Dependency Status 36. Sanity SaversLifeChangersTipping TheScaleNo AssemblyRequiredWhen my extractrefreshes, the daterange quick filter isstuck on a date in thepast.HaXMLAnnotations,Parameters, ImagesMy ETL was delayedtoday and it missed myrefresh schedule.I like drilling down but Ihate losing context byswitching tabs.My users are creatingspaghetti charts! Ineed this to stop or Imay kill someone!200My extract has beenfailing for the last 3days and I just noticed.I want to build awaterfall chart, but itstaking 9 minutes for my37 sheet dashboard torender.Replace Data Sourceis killing me. Surelythere is a betterhackier way.300Extracts take too longto load and are takingup too many resourceson my server.I wish I could expand asection in-line 37. People complain mydashboards are slow, but Idont have any way toquantify it. 38. Start counting when the Viz is loadedThis is when you firstsee the gray spinnerscreenStop counting when the Viz becomes interactiveThis is when you canfinally use thedashboard 39. Sanity SaversLifeChangersTipping TheScaleNo AssemblyRequiredWhen my extractrefreshes, the daterange quick filter isstuck on a date in thepast.HaXMLAnnotations,Parameters, ImagesMy ETL was delayedtoday and it missed myrefresh schedule.I like drilling down but Ihate losing context byswitching tabs.My users are creatingspaghetti charts! Ineed this to stop or Imay kill someone!Dashboard renderperformance recordingMy extract has beenfailing for the last 3days and I just noticed.I want to build awaterfall chart, but itstaking 9 minutes for my37 sheet dashboard torender.Replace Data Sourceis killing me. Surelythere is a betterhackier way.300Extracts take too longto load and are takingup too many resourceson my server.I wish I could expand asection in-line 40. I took my laptop to ameeting and went to showthe dashboard and itrefreshed right in my face! 41. Set a timer to pause the Viz before the timeout happensNot pictured coderestarts this timerevery time the Viz isinteracted withWhen you click to refresh, unpause and resumeNot pictured codeuses getFilterAsync()andgetParameterAsync()to restore yourprevious state. 42. Sanity SaversLifeChangersTipping TheScaleNo AssemblyRequiredWhen my extractrefreshes, the daterange quick filter isstuck on a date in thepast.HaXMLAnnotations,Parameters, ImagesMy ETL was delayedtoday and it missed myrefresh schedule.I like drilling down but Ihate losing context byswitching tabs.My users are creatingspaghetti charts! Ineed this to stop or Imay kill someone!Dashboard renderperformance recordingMy extract has beenfailing for the last 3days and I just noticed.I want to build awaterfall chart, but itstaking 9 minutes for my37 sheet dashboard torender.Replace Data Sourceis killing me. Surelythere is a betterhackier way.Refresh in your faceExtracts take too longto load and are takingup too many resourceson my server.I wish I could expand asection in-line 43. InstantDashboards 44. Your dashboard is tooslow!I need it to loadINSTANTLY! 45. Dash Cache: Grab New ImagesTrigger calls this once per refresh and stores it in a database as anencoded string. 46. Dash Cache: UI Code to DisplayChecks if theres an image forthis dash. If so, decode it anddisplay it!Tableau JS API to hide the DashCache when the Viz is ready. 47. Our Teamfacebook.com/fbDataViz 48. ANYQUESTIONS?facebook.com/fbDataViz 49. PLEASE COME UPAND SAY HI!facebook.com/fbDataViz