Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Salesforce Analytics Cloud - Explained

6,059 views

Published on

With the Analytics Cloud, you can connect any data, from any source, to everyone in your company.

Learn about the Wave Platform and technologies that fuel the Analytics Cloud. See how Datasets, Lenses and Dashboards quickly deliver insights that all users can leverage with a demonstration.

Hear an introduction to advanced topics such as XMD, SAQL, mobile layouts and security.

Published in: Technology

Salesforce Analytics Cloud - Explained

  1. 1. Catch the Wave Salesforce Analytics Cloud - Explained Carl Brundage
  2. 2. • Brown Belt Analytics Cloud Accredited • 6x Salesforce Certified – Developer – Sales & Service Consultant – Admin & Adv. Admin – Pardot Consultant • B.S. Comp. Eng. & MBA – Lehigh University • PMP Certified • Has rowed over 3.6 million meters Cloud Evangelist Carl Brundage 2 @carlbrundage
  3. 3. Agenda • Introduction to the Cloud – Terminology & Setup • Loading Data – Datasets & Data flows • Exploring Data – Lenses • Sharing Data – Dashboards • Advanced Topics – SAQL, Security, Mobile 3
  4. 4. Wave (Platform) – Search based technology – Columnar, schema-free non-relational database – Key-value pairs – Inverted Index Analytics Cloud (Product) – Cloud based – Mobile first – Self-service Wave vs. Analytics Cloud Platform vs. Product 4
  5. 5. Architecture Salesforce with the Analytics Cloud 5
  6. 6. Analytics Cloud Key Concepts Explore – Ask questions across CRM, ERP, Excel, IoT, etc. Collaborate – Have discussions & answers in one place Cloud – Up and running quickly with enormous scale Mobile – Access it all on the go, in the palm of your hand Four Areas 6
  7. 7. Analytics Cloud - Explore with lenses & dashboards - Salesforce & external data - Data updated on schedule Salesforce Reporting - Analyze with reports & dashboards - Salesforce data only - Real-time data Analytics Cloud vs. Salesforce Reporting What’s the difference 7
  8. 8. Analytics Cloud Components How it works Dataset Lens Dashboard App
  9. 9. Dynamic Schema  Key-value pair store supports any type of data: structured or semi-structured Scalable  Store & query datasets in parallel to increase analytics data set – up to billions of rows Search-based Technology  Mash-up (data blend) across Datasets for cross-silo Insights Dataset A dataset is a specific view into a data source based on how you’ve customized it. It could be based on a data pipeline or from an ETL vendor. 9
  10. 10. Lens Exploring a dataset involves four fundamental operations. Measure the value of opportunities Group (Dimension) by owner Filter closing this month View in a bar chart A lens is a particular view into a dataset’s data where you do visualization and exploratory analysis.
  11. 11. Dashboard Selectors Chart Widgets Compare Table Widget Link to related lens or dashboard Number Widget A dashboard is an interactive collection of widgets showing different snapshots from one or more lenses to tell a story from different angles.
  12. 12. Analytics Cloud Access • Platform License • Permission Set License • Permissions 12
  13. 13. Enabling Analytics Cloud Platform License 13 Max 400 users, 50 concurrent queries and 250 million registered rows per platform licenses. Buy multiple platform licenses to increase limits.
  14. 14. User Access Explorer vs. Builder Explore Data With Lenses Explore Data with Dashboards Save Lenses Upload External CSV Data Analytics Cloud Explorer Create Analytics Cloud Apps Save Lenses Create and Edit Dashboards Edit and Execute Dataflows Manage Analytics Cloud Upload External Data Analytics Cloud Builder Each user requires a license to use Analytics Cloud. The license type determines what permissions can be assigned
  15. 15. Permission Set License Assign Analytics Cloud Permission Set on top of the following user licenses: • Salesforce Platform • Salesforce Platform One • Force.com - App Subscription • Force.com - One App • Full CRM
  16. 16. Permissions • Grant specific permissions within Analytics Cloud 16
  17. 17. Analytics Cloud Demo https://youtu.be/_g2SR2cARbM (demo starts around 11:10) 17
  18. 18. Analytics Cloud Home Page Access through Force.com app menu All items you have access to shown by default. Browse items by type. Open items appear in tabs. Start typing to search.
  19. 19. Loading Data Datasets & Data flows 19
  20. 20. Data Integration Salesforce Data, CSV Upload UI, External Data APIs
  21. 21. What is a Dataflow? Extraction, Transformation, Loading • A dataflow definition file is a JSON file that contains transformations that represent the dataflow logic. • To start running the dataflow on the schedule, manually start the dataflow first. After the first job runs, the dataflow job runs on the daily schedule. • The dataflow runs on a daily schedule to capture the latest changes to Salesforce data and changes in the dataflow logic. • Each dataset has a single node name that you can designate within your JSON
  22. 22. Simple Transformations edgemart – extracts data from an existing, registered dataset - use to integrate data from an external source sfdcDigest – generate a dataset based on data extract from Salesforce object sfdcRegister – makes a data set available for use within Analytics cloud - intermediate datasets only in dataflows Accessing and Registering Data
  23. 23. Cannot extract data from fields with the following field types: • address • base64 • calculated • DataCategoryGroupReference • encryptedstring • location • masterrecord • textarea Including such fields will result in the dataflow ignoring the field. sfdcDigest Transformation
  24. 24. Data Transformations
  25. 25. • Single-Column Key: "left_key": [ " AccountID" ],"right_key": [ " ID" ] • Composite Key: "left_key": [ " AcctID, QuotaID " ],"right_key": [ " Account_ID, Quota_ID " ] augment Transformation Join two datasets to create a new one 25
  26. 26. Dataflow Design The Sales Team would like a Dataset that could show Won Opportunities • Support data from Salesforce exposed in Bulk API
  27. 27. What is the Data Monitor? • From the Jobs View, you can view the System Jobs that have run, such as CSV Uploads or any job that uses the REST API to upload data into the Analytics Cloud. Monitor data loads Click the Dataflow View dropdown and then click Jobs View to have access to the System Jobs. NOTE: To access the System Jobs, you must click refresh
  28. 28. External Data Upload • The UI allows the ability to override currently existing datasets with a CSV and Schema. • Alternatively, you can create your own Dataset from scratch using a CSV and Schema Loading a CSV file
  29. 29. External Data API • The REST API allows you to access the Analytics Cloud and upload external data files into datasets • Third party tools to load data – Excel Connector, Integration Platforms (Informatica Rev, Dell Boomi, etc.) Data from the outside world For more information on the External Data API, see the “Analytics Cloud External Data API Developer’s Guide”
  30. 30. Excel Connector • Easily create data sets from within Excel • Available in the Office Store Use of the API 30
  31. 31. Exploring Data Lenses 31
  32. 32. Data Exploration Concepts • Commonly a chart or a graph, such as a bar chart, pie chart, timeline, or heatmap. • It can also be data in tabular form, such as a comparison table or pivot table. • The UI designs a query for you based on the options you pick within the UI. Visualization
  33. 33. Explore Your Data • Group • Filter • Change Sort Order • Change the Chart Type • Change the Measure • Change the Chart Scale • Step back and forward through previous changes using the History View • Reset your Lens to start from scratch • Apply Groupings and Filters using the Copy/Paste functions UI Actions
  34. 34. Views can emphasize: – Graphic Comparisons – Change over time – Significant data points within a calendar timeframe – Parallel data points over time – Data distribution on a grid – Data concentrations on a grid – Data comparisons on two axis Which visualization should you use? Depends on what story you want to tell
  35. 35. Saving Lenses • Use Save to keep a copy of your lens (Cloud) – Also able to delete • Clip the lens to a dashboard for use (Camera) – New dashboard created or added to most recently used
  36. 36. Sharing Data Dashboards 36
  37. 37. Building Dashboards • Who is the audience • What does the audience need to measure? • How often do they need to update their knowledge? Plan your dashboard
  38. 38. • Prioritize widgets from top left to bottom right • Don’t overload the dashboard. Leave some space • Choose chart types based on data characteristics Building Dashboards Sketch your dashboard
  39. 39. Building Dashboards Dashboard Builder 39
  40. 40. Building Dashboards Keyboard Shortcuts Keyboard Shortcut Description x Delete selected item from the canvas Arrow keys Move the selected item around [ Put selected item beneath other items ] Put selected item on top of other items Z – index is only available with the above shortcuts
  41. 41. Advanced Topics XMD, SAQL, Security, Mobile 41
  42. 42. XMD • Customize dataset elements – The formatting of measures – Display labels for dimensions and measures – The grouping of dimensions of measures – Colors of specific fields – Default columns to be displayed for a values table – The hiding of dimensions and measures in the user interface – Dimensions for creating custom links from lenses and dashboards to records in Salesforce and external websites Extended Metadata
  43. 43. XMD Example {"labels" : { "dimensions" : { "StageName" : "Stage"}, "measures" : {"Probability" : "Probability (%)", "Amount“ : "Amount"}, "keys": {"ForecastCategoryName": { "Closed": "Closed Won", "Omitted": "Closed Lost" }}}, "colors": {"ForecastCategoryName": { "Closed": "#4f4", "Omitted": "#f44"}}, "hide_measures": ["Account.NumberOfEmployees"], "formats" : {"measures" : { "Probability" : [ "##0%", 1 ], "Amount" : [ "$#,##0.00", 1 ]}}} Change Labels, Change the Color, Hide Measure and Format Measures 43
  44. 44. SAQL • Influenced by Pig Latin language • Used to perform advanced operations in dashboards – Load – Filter – Group – Foreach – Union – Order – Limit – Offset Salesforce Analytics Query Language
  45. 45. SAQL Example q = load "Cases"; -- load a dataset q = filter q by Support_Case_Owner_Group in ({{selection(Support_Case_Owner_Group_2)}}); -- filter the data by a dashboard seletion q = group q by ('Created_Date_Year', 'Created_Date_Month'); -- summarize by period q = foreach q generate 'Created_Date_Year' + "~~~" + 'Created_Date_Month' as ‘Year-Month’, avg('Customer_Satisfaction_m') - 8.5 as 'variance_CSAT_KPI', count() as 'count'; -- compute the Customer Satisfaction variance from KPI Computing KPI variance
  46. 46. Security Overview
  47. 47. Security App Level Sharing & Row Level Security • If a user has data set access they get all rows • Implement row level security to control – Define a predicate to apply to the row – Owner == ”$User.Name”
  48. 48. Mobile • Separate layouts for mobile, as desktop is pixel based • Grid based system – iPad = 4 columns portrait, 6 landscape – iPhone = 1 column portrait, 2 landscape • Use colspan and rowspan • Specify multiple pages – page 0, page 1, etc. – Swipe to see more • Will be replaced with better tools to come 48
  49. 49. Useful Links • JSON Online Editor – Chrome extension • Lens Page to Create/Edit JSON – https://<instance>.salesforce.com/analytics/wave/web /lens.apexp • SAQL Tester – Bookmarklet to run & debug SAQL statements • XMD Editor – Edit XMD or upload a new file – See Appendix for Bookmarklet code
  50. 50. Additional Resources • Analytics Library – Landing page with all of the Analytics Cloud docs – Setup – Integration – Exploring & Sharing Data – Mobile – Wave REST API Developers Guide • http://blog.canntechnology.com – Articles I have written, including loading data with the Excel connector
  51. 51. Q&A Thanks for your participation 51
  52. 52. XMD Editor Appendix • Create bookmark with the following: • Go to a dataset you want to updated the XMD and click the bookmark • Edit the text or upload a file & click Submit Updated XMD. Section closes on successful save javascript:(function(){function getServerSid(){var server=window.location.href.replace(/https?:///,"").split("/")[0];var sid=document.cookie.match(/(^|;s*)sid=(.+?);/)[2];return[server,sid]}secure_sfdc_header_prep=function(sid){return function secureSFDCHeaderPrep(xhr){xhr.setRequestHeader("Authorization","OAuth "+sid)}};var is_iframe=false;var exp_iframes=["explore","exploreFrame"];var exp_iframe="explore";var my_window=window;for(i in exp_iframes){if(document.getElementById(exp_iframes[i])){is_iframe=true;my_window=document.getElementById(exp_iframes[i]).c ontentWindow;exp_iframe=exp_iframes[i];break}}var div=document.createElement("div");var div2=document.createElement("div");var inp=document.createElement("textarea");var btn=document.createElement("button");var btn2=document.createElement("button");var btn3=document.createElement("button");var inp_file=document.createElement("input");inp_file.setAttribute("type","file");div.appendChild(inp);div.appendChild(inp_file);div.appe ndChild(btn);div.appendChild(btn2);div.appendChild(btn3);div.appendChild(div2);div2.setAttribute("id","json- input");inp.setAttribute("rows","10");inp.setAttribute("cols","80");btn.innerText="Close";btn2.innerText="Get Full XMD";btn3.innerText="Submit Updated XMD";function closeMe(){div.parentNode.removeChild(div)}btn.onclick=closeMe;btn2.onclick=getFullXMD;btn3.onclick=postData;if(document.bod y.firstChild)document.body.insertBefore(div,document.body.firstChild);else document.body.appendChild(div);var em_values=my_window.edgeChrome.tabManager.getActiveTab().viz.getFullState().edgemart.split("/");var location=window.location.protocol+"//"+window.location.hostname+"/insights/internal_api/v1.0/esObject/edgemart/"+em_values[0]+ "/version/"+em_values[1]+"/file/user.xmd.json";var sys_location=window.location.protocol+"//"+window.location.hostname+"/insights/internal_api/v1.0/esObject/edgemart/"+em_value s[0]+"/version/"+em_values[1]+"/file/main.xmd.json";var sid=getServerSid()[1];$.ajax({type:"GET",url:location,beforeSend:secure_sfdc_header_prep(sid),error:function(err){console.error("G ot error:",err)},success:function(data){inp.value=JSON.stringify(JSON.parse(data),null,2)}});function getFullXMD(){$.ajax({type:"GET",url:sys_location,beforeSend:secure_sfdc_header_prep(sid),error:function(err){console.error("Got error:",err)},success:function(data){inp.value=JSON.stringify(JSON.parse(data),null,2)}})}$(inp_file).change(function(){inp.value=""}) ;function postData(){var fd=new FormData;if(inp.value){var blob=new Blob([inp.value],{type:"application/json"});fd.append("user.xmd.json",blob,"user.xmd.json")}else{fd.append("user.xmd.json",inp_file.fi les[0],"user.xmd.json")}$.ajax({type:"POST",url:location,data:fd,processData:false,contentType:false,beforeSend:secure_sfdc_head er_prep(sid),error:function(err){console.error("Got error:",err)},success:function(data){closeMe()}})}})();

×