London is not the most exotic place in the world, regardless we have this week really felt the heat of the summer with 30+ degrees. So what would be more fitting to look at the hottest Wave features in this Summer17 Release?
One of the first noticeable changes is this Summer17 Release is the UI, Salesforce has optimized the way lenses are built, the creation of apps, datasets etc. but my top 4 features are the Wave Inspector, data flow editor, sharing inheritance, and enhanced bindings.
Performance check with Wave Inspector
If you like me have built some complex dashboard with SAQL and bindings you might too have had concerns about the performance of the dashboard especially since everything is queried at the time of load. Until now you haven’t had any tools to test this but with the Summer17 release you can with the Inspector see:
- Number of times Wave executed the step query
- Number of milliseconds that Wave took to execute the step query for the first time
- Average number of milliseconds that Wave took to execute the query
- Number of milliseconds that Wave took to retrieve the extended metadata
- Number of milliseconds that Wave took to resolve bindings
- Number of milliseconds that Wave took to run the query
- Details on how Wave have modified the query based on interactions with other widgets
With this tool, you are able to see if there are potential load issues with your steps and dashboards. Thereby you are able to optimize your steps and dashboards to load faster.
Easy editing with the data flow editor
Creating datasets with Salesforce data has always been easy in Wave. What hasn’t been easy is modifying those datasets in your data flow, in fact, you’ve needed to by JSON-savvy. From the data manager, you can now modify your data flow using the UI; the same option you previously only had by installing the Wave Labs application.
This tool makes it a little easier to add a field to your dataset, calculate values, filter data etc. But my recommendation would still be to take a backup before you get cracking so you can revert to status quo.
No need for security predicates
If your business has a restricted sharing model in Salesforce, you most likely would like that to be enforced in Wave as well. Wave has always had an option to apply row level security to your data set via security predicates. However, if your Salesforce sharing setup is complex it probably will take a lot of effort translating those rules into security predicates. With Wave’s sharing inheritance, it is now possible to avoid that time-consuming tasks; all you have to do is define the source object (API name) of the sharing inheritance and Wave will do the rest. Just be aware that you cannot use both source object and security predicate on a dataset. Also, note that not all object are supported yet, but if you use the Account, Opportunity, Order, Case, and custom objects, then you are fine.
Filter dashboards based on the logged-in user
I’m really happy about this one; Wave will now allow you to do bindings to widgets based on the logged in user. You might have a dashboard where you allow filtering by country, sales team or other user-specific information. Up until now, the user would have to make those selections that were relevant to them when viewing the dashboard, or you would have to maintain multiple dashboards. Well, now you can with a SOQL step query data from the Salesforce User object and use that information to bind the result to a step.
If you want to have all the details and even more features in Salesforce Wave as well as Salesforce in general, please review the release notes.