Einstein Analytics: Demystifying Bindings – Part 9
In the past 8 blogs of this blog series, we have covered a lot of ground. We started out looking at the anatomy of a binding followed by data serialization examples and finally data manipulation. In this blog, there will not be an introduction to a new concept. While writing these blogs I have completed all the examples and added them to a dashboard in my developer org and now I will give it all to you.
Update March 28th 2020: Get the dashboard in a few steps following this blog.
The dashboard JSON
The first step is to download the dashboard JSON file
Once that has been done you need to open Analytics Studio in your developer org from Trailhead. The dashboard is using the ‘Opportunities’ dataset that is saved in the Shared App, so we need to update the id of the dataset to the matching id in your org. So click on the ‘Opportunities’ dataset and immediately go to the JSON (cmd+e or ctrl+e) and look for the id, the easiest way is under the dataset section.
Once you have found the id make sure to copy and save that id somewhere handy. Now open the file I sent to you and find perform a search and replace function. You need to find ‘0Fb1t000000bvp8CAA’ and replace with what you just copied. Once done you can save the file.
Next step is to create a new dashboard in Analytics Studio. Immediately after you have the dashboard created you go to the dashboard JSON (cmd+e or ctrl+e) and replace the whole JSON with the JSON you just updated and saved.
Once done go back to the dashboard, save it and make sure it works properly. And that’s it. Now you have every single binding example covered in this blog series, at any time you can explore the steps and bindings and hopefully use your learnings for your own use cases. You can always go back to the blogs to read how it was done and what it all means:
- Demystifying Bindings – Part 1: learn the different components of a binding and what they mean.
- Demystifying Bindings – Part 2: learn how to do filter bindings in SAQL.
- Demystifying Bindings – Part 3: learn how to do grouping and measure bindings in SAQL.
- Demystifying Bindings – Part 4: learn how you can do different date bindings.
- Demystifying Bindings – Part 5: learn how to use nested bindings.
- Demystifying Bindings – Part 6: learn how to do bindings in compare tables.
- Demystifying Bindings – Part 7: learn how to do bindings on grain steps with bindings 1.0.
- Demystifying Bindings – Part 8: learn how you can use data manipulation functions.
All there is left to say is good luck with making your dashboards more dynamic.
Rikki. Thanks for sharing your knowledge with us. When i m trying to download JSON, it is erroring out. Please look into this as it will help us .
I’m not sure how to help since it works for me. If you see the JSON you can copy it from there as well.
Hello
can a filter type in [] be made with values of a column of a table?
try it this way but do not filter
THIS IS MY QUERY
“query”: “q = load \”ContactabilidadBpyp\”;\r\nq = filter q by !(‘Cliente’ in [{{column(clientescontactados_3.selection, [\”Cliente\”]).asObject()}}]);\r\nq = foreach q generate ‘Cliente’ as ‘Cliente’,’IdCliente’ as ‘unique_Cliente’,coalesce(‘Phone’,\”null\”) as ‘Phone’ ,coalesce(‘NCliente’,\”Prospecto\”) as ‘NCliente’,coalesce(‘BPyP_Fecha_de_ultima_visita__c’,\”null\”) as ‘Ultima visita’;\r\nq = group q by (‘Cliente’,’Phone’,’NCliente’,’Ultima visita’,’unique_Cliente’);\r\nq = foreach q generate ‘Cliente’ as ‘Cliente’, unique(‘unique_Cliente’) as ‘unique_Cliente’,’Phone’ as ‘Telefono’,’NCliente’,’Ultima visita’,’unique_Cliente’ as ‘id’;\r\nq = order q by ‘Cliente’ asc;\r\nq = foreach q generate ‘id’,’Cliente’,’Telefono’,’NCliente’,’Ultima visita’;”,
“receiveFacet”: false,
“selectMode”: “single”,
“strings”: [],
“type”: “saql”,
Hi Rikke,
I have learnt einstein analytics from your blog .Thanks for helping us.I have replaced all your id with my id but Json is showing invalid.
Could you signup for another developer org and help us, by finding where the problem is ?
Hello
can a filter type in [] be made with values of a column of a table?
try it this way but do not filter
“type”: “saql”,
query”: “q = load \”ContactabilidadBpyp\”;\r\nq = filter q by !(‘Cliente’ in [{{column(clientescontactados_3.selection, [\”Cliente\”]).asObject()}}]);\r\nq = foreach q generate ‘Cliente’ as ‘Cliente’,’IdCliente’ as ‘unique_Cliente’,coalesce(‘Phone’,\”null\”) as ‘Phone’ ,coalesce(‘NCliente’,\”Prospecto\”) as ‘NCliente’,coalesce(‘BPyP_Fecha_de_ultima_visita__c’,\”null\”) as ‘Ultima visita’;\r\nq = group q by (‘Cliente’,’Phone’,’NCliente’,’Ultima visita’,’unique_Cliente’);\r\nq = foreach q generate ‘Cliente’ as ‘Cliente’, unique(‘unique_Cliente’) as ‘unique_Cliente’,’Phone’ as ‘Telefono’,’NCliente’,’Ultima visita’,’unique_Cliente’ as ‘id’;\r\nq = order q by ‘Cliente’ asc;\r\nq = foreach q generate ‘id’,’Cliente’,’Telefono’,’NCliente’,’Ultima visita’;”,
“receiveFacet”: false,
Hi Rikke,
I am learning Einstein Analytics through your blog .It helped me a lot.
Hi Rikke, I’m having difficulties importing this. When I paste it into the JSON editor and click “Done” the analytics logo flashes up briefly and I’m unable to close the editor and view the dashboard. This persists across several orgs, all running the latest version of EA from earlier this week. Even after undoing changes I’m still stuck in the editor until I close using the X
Any ideas on how to proceed?
Let me check later. It worked for me last week. Did you change the Id references?
Yep, I changed those. Also tried changing the URL to v46.0 instead of v45.0
Hi, did you have a chance to check this out? I’m still seeing the same behaviour today
I checked in a summer org, something has changed, so I can’t load it either anymore. I need to dive deeper though.
Hey – I tried again, cause I had time to see if I could fix it. I think it was a summer 19 glitch, cause the JSON worked for me this time..