Using a Static Step to pass a SAQL / Pigql and Compact Query to a graph via Selection Binding

One of the things you may want to do in Salesforce Analytics cloud.. is to have a Static Step with Buttons attached to control a single graph on a dashboard. These buttons maybe attached to different queries some that can be done via compact form and some that must be done by pigql. This would mean that the static step will need to contain values for both a compact query and pigql query.

This is facilitated by the field binding, where the documentation can be found here

The first thing to start with is to build out the Static Step with both of the query types as seperate values, in my example you can see I have WaitTime and ServiceTime, and for each I have a field for the pigql query and the compact query:

Now that I have my Static Step setup with a piqql and compact field for each value of the Static step, I can now use these as selection bindings to graph these results. For graphs only needing compact form I just need to enter the 'compact' field into the compact query space on the graph, however graphs requiring the pigql query I need to add both the pigql and the compact form selection bindings to ensure that the graph renders.

To show context to the whole dashboard script, below is a full dashboard JSON. In this example there are 3 graphs and 1 selector. Two of the graphs have simple compact queries and dont have any selection binding attached. One of the graphs is controlled by the Pillbox static step and passes both the piql and compact query. We know this works because Pigql queries are always rendered before compact queries.

Below is the image of the final result after selecting the 'WaitTime' option on the Pillbox selector. The top two graphs are normal graphs and are not connected to the Pillbox static step selector however the bottom graph is controlled with the Pillbox static step selector. The top 2 graphs are included in this code, to show what the graphs are expecting in compact form.