Wave Tips and Tricks : What’s in a Date?

Wave is an excellent analytics tool platform for analyzing Salesforce data.  Sales reps and sales operations professionals simply love it since it is integrated within their prime work platform – Salesforce.  Despite all the new features being added in it periodically, some use cases are complex to achieve via Wave’s out of the box functionality. Rather than it become a limitation of the tool or an impediment in deploying dashboards, it is the developer’s creativity and resourcefulness that comes handy in such situations. We have been fortunate enough to have benefitted from a wonderful developer community who shares their latest escapades, accomplishments as well as tips and tricks via chatter or blog posts. Today it is our turn to share some learnings while solving a client’s date specific dashboard needs.

Wave Tips and Tricks: What’s in a Date?

So, what’s in a Date? If you asked me 3 months ago, nothing much. However, when confronted with a request involving the Wave Data Widget, it made me think a lot deeper. Deeper to the extent of going beyond a BI developer’s mindset and thinking like a business user. I began to question why do we need reports, datasets and dashboards? What is the raison d’etre of these dashboards? Who will be using them and in what ways and how frequently?

Thus, out of that thinking, some questions and ideas oozed out which I hope will be useful tips for  others in the trade.

Question:  How to empower end users?

  • Make data speak for itself and more consumable.
  • Sales reps and Sales operations folks need to feel comfortable with the data they see in Wave Dashboards. They care about accuracy and transparency.
  • Provide users up-to date and most accurate data that matches with their transactional system of record (Salesforce in most cases)
  • Dashboards are about storytelling — they need to be clear and simple. Do not complicate by using non–intuitive and non-labelled charts and graphs. Use colors effectively. And use filters to allow end users to craft their data stories clearly and effectively in steps.
  • Make analytics pervasive by using the right visualization for the right type of KPI metrics.   
  • Mobile enable the dashboards – it means extra work and focus especially due to limited real estate of mobile design and affinity towards i-devices.

Question:  How to create meaningful insights?

  • Build a roadmap for analytics by integrating with valuable sources of data that already exist in your environment and go beyond the Salesforce platform. Consider third party enriched data sources as well as part of the roadmap.
  • Move from reactive towards proactive with forecasting tools and apps that make analytics predictive like a GPS for your business operations. Wave provides that much needed rear view mirror of insights on what has happened with your business, but integrated Apps like SpringML’s forecasting and predictive apps are the navigation tools you need to propel your business further ahead.
  • Leverage industry best practices and data governance, quality and master data management tools to cleanse and harmonize your data. This will create a solid foundation for information management which creates confidence in end users and empowers them further as previously stated.

Question:  So finally, tell me – what’s in a Date?

This is what had got me thinking of this post in the first instance ..the problem we were facing was how to extract the start and the end date from the date range widget

 Normally we use the date range widget to filter the data so that the dates lie within the range selected. But this client use case is where we needed the Start Date and End Date selected in the range separately. For this we came up with a workaround which involves creating two intermediate steps Step 1, Step 2 and ordering them and then limiting.

The following is the screenshot of a Date range widget


Step 1 :

Year, Month and Date are individually ordered in the Descending manner and a Selection Binding is used to filter the step based on the selection on the Date Range Widget.


Limit 1 (step_desc)


Step 2 (Year, Month and Date are individually ordered in the Ascending manner)


Limit 1 (step_asc)


A result binding on the step_desc returns the End Date of the range and a result binding on the step_asc returns the Start Date.

Question: Tell me more about dates.. How do you toggle monthly or quarterly?

 Normally one could argue that separate dashboard views are the way to go. However, a neat and compact method is to use a toggle option. The entire dashboard code  is replicated and selection bindings used to cause action when the date range is Quarterly or Monthly.  Here’s how we achieved it

Switching between two different SAQLs via a Toggle

Values part of the Static Step for the Toggle

“values”: [


                      “display”: “Monthly”,

                      “input1”: “–“



                    “”display”: “Quarterly”,

                      “input1”: “”




{{column(step_monthly.selection, [\”input1\”]).asObject()}}

(This selection binding will comment the below SAQL when Monthly is selected and when the Quarterly is selected the SAQL below overwrites the one above)


Leave a Comment

Your email address will not be published. Required fields are marked *