Hi Pete, Can you please make a video of each function in Data Selection, Data Serialization and Data Manipulation. How it works with an example and when we use each function.
Hello Pete, Please tell me how to dynamically change some of the columns of compare table in CRM Analytics Dashboard based on the selection in list selector. I need to deliver the project please suggest me
Hi Pete, Appreciate your videos. Do you know if there is a way to toggle or auto-hide a chart if there is no data. We have a standard set of KPIs but are unable to collect data for some markets. Would love a way to have one dashboard of key KPIs but hide the charts without data.
You can use results binding. When your query output null, past transparent color to all elements of the widget. As far as getting rid of the no results found, that's trickier. SAQL is required. You need to Union on a row with a zero value. The product team knows that this is something we all want and I believe it may be on the road now so I am not positive.
Hey Pete - me again. I am curious if you are able to Nest a binding selection statement inside ( {{column(OU_1.selection, [\"project2\"]).asObject()}} ) of a toggle selection? For example I have an overarching toggle for my dashboard that filters all components and another toggle for a specific chart that displays different queries when I select it. I was to put that overarching toggle statement in the the singular toggle so it also updates with the "global toggle" but it is not working... Any thoughts? Let me know if I need to clarify
Short answer: you can't pass a binding with a binding it will get flattened to text. That said there are probably 50 ways to get around this problem. Pages should be your first line of attack. Components should be your second. After that, there's always custom code
Hi Pete, I have done binding for a step by creating a static step initially and it worked. However, I noticed that when a slight modification is done to a step, i am not able to bind it. Is there any separate syntax for the below statement , when I am performing SAQL modifications to a dynamic step "{{column(static_1.selection,[\"value\"]).asObject()}}"
Hi Pete, love the videos. If you had a stacked bar chart, how would you toggle back and forth between 2 groups (for example Record Type & Year) to 1 grouping (Year)?
My gut says you would also need to toggle the chart type to a regular bar. When grouping by 2 dimensions, pass your value as an array. For 1, use a string. I just landed for a layover in Atlanta, if I have time before my next flight I'll post some psudo-code.
Great, thanks! If I switch the chart type to a regular bar, I wouldn't be able to stack though, right? The code below sort of explains what I'm trying to do. I want to toggle between having the two groupings + segment value to one grouping+segment value. I'm sure that there's a much easier way to do this "query": { "groups": [ "Name", "{{column(myStatic_1.selection,[\"group\"]).asObject()}}", "{{column(myGrouping_1.selection,[\"value\"]).asObject()}}" ], "myStatic_1": { "broadcastFacet": true, "label": "myStatic", "selectMode": "singlerequired", "type": "staticflex", "values": [ { "display": "PvA", "value": "PvA", "group": "Prd.ftxt_Record_Type_Name__c" }, { "display": "CSP", "value": "CSP", "group": "" } ]
It's time to catch my connection and I couldn't get it to work😪 there is a trick to this but I can't remember. I would recommend those into the community it is totally possible to achieve this
I aam trying to create something similar to DTC app, with Open, Won, Lost. In this case what will be the values? I looked at the json for the installed dashboard and it seems to have 3 parameters. Display, Value and Won. Is it possible to do this in UI just like your tutorial or Do I have to do it in the Json file itself?
There isn't really such a thing as 'free' salesforce. If you're asking if this is possible with the standard reporting engine, no. That's one of the reasons we have Einstein Analytics.
@@LetsPlaySalesforce How can I give a 1-dimensional array as input to a toggle value "Group" : Account "Value" : For values I would like to give input as 1. Customer Account 2. End User Account
@@prathyushathunuguntla9474 set your toggle to multi-select and use column().asObject() though you'll need to delete the existing brackets that were there before the binding as it's already expecting an array.
I get an error that the column is not part of the query. Works with the one that the original query was group by. I experimented with substituting the binding into other references but it seemed to corrupt the json....
@@danpaul4108 This is correct. The columnMap property doesn't play nicely with bindings. In the instances where you still need it for things like hiding a measure used in a calculation, you can use columns :[] instead though it works a bit different and isn't officially supported.
Hey Pete, Great Video! I'm hoping you can help debug an error I am getting. After completing all the steps, I am getting the following: "can't use the bar chart because the step requires at least 1 measure." Any idea what's causing this? thanks!
Jeff Musgrave there was a change in spring 18 that causes this issue. The solution was posted by Danny Lai. The short answer is remove the columMap section. The full doc is posted on the community.
success.salesforce.com/0D53A00003RY4Yx This is the customer community for Einstein Analytics. Lots of folks come to ask and answer questions, and the salesforce team actively monitors feedback. It's awesome and this channel never would have happened without it.
Hi Pete, I want to create a visualization based on dynamic top 5 results. For ex: Lets say my data is about smart phone users worldwide. I need to get the top 5 results based on 3 segments. Ex: Brand, Country. When i select a particular brand from the drop down lets say 'Samsung', i should get the top 5 consumers of Samsung brand mobile phones. And as vice-versa, when i select the 'Country' from the drop down list, then i should get the 5 most used Brands. Is there any way to do so. Many Thanks in advance.
I actually tried binding using global filters as my rest of the pages work on global filters. But I was stuck with top 5 results I was able to take static top5 but not dynamic top5
Should be as simple as a dynamic group binding. I'll tell you my secret. I'm not actually good at this naturally and I never wrote a single line of code before I got into EA. What I do is just try and fail a few hundred times until it works. Then I try to understand why it works and why it didn't previously. Eventually, it got easier and now I can write bindings and SAQL freehand, though it rarely works on the first try. Just gotta keep hitting it again and again and don't give up.
Hi : when I bind by changing the groups to "{{column(my_static_1.selection,[\"value\"]).asObject()}};", I don't get a syntax error but my visualization goes away. What am I doing wrong?
Thanks for your prompt reply, Pete. I get another error now that says- Syntax error at position 96 after token as ::q generate a S , count()as I cannot copy but there are arrow signs between 'a' and 's'
atul chandhok best to post on the community and @ mention me. Make sure to post your full query. Learning to overcome syntax errors is part of learning.
They changed out the label in the user interface but it's still the same. With a product that involves this quickly the content tends to age, and this video is almost 2 years old. The tutorial should still work those certain things have changed a bit
@@LetsPlaySalesforce Thanks for your reply, But Why I am getting error " The widget can not display because of the problem with the underlying step Account_Type_1." I can not attach my screen shot here.. My query: "groups": [ "{{column(myStatic_1.selection, [\"value\"]).asObject()}}" ]
@@LetsPlaySalesforce Hi, I got it. Working very well. Actually , column map is used in two places and I have to add column map=null in both places. Thanks to you and Rikki Blog. Thanks..
Hey Pete, Nice Video, The expression u used in the video doesnt work for binding two steps coming from two different dataset. Can you upload a video on how to implement binding for steps coming from two different dataset or does this expression should work for steps that is created from two different datasets.
Hi Mohammad, thanks for the feedback! Please check out part 7 of this series as it covers binding across datasets. If possible, I'd suggest using connected data sources as it's much easier and more powerful. If your use case is that you have two steps on different datasets that you want to dynamically group by and they have slightly different field names (ex. Account_Type vs AccountType__c) you'll need a 3rd column in your static step, which is covered in part 2. If you have trouble, post back either here or on the success community.
Really helpful - thank you. I will be working through the rest of your videos with interest!
Thank you so much for sharing this. I tried going through the Binding Documentation but I felt lost. This was very helpful.
Hi Pete,
Can you please make a video of each function in Data Selection, Data Serialization and Data Manipulation. How it works with an example and when we use each function.
Could you please make another video about binding. A lot has changed since your video series.
Its in the works. In the meanwhile, check out salesforceblogger.com as Rikke has something fresher
@@LetsPlaySalesforce Thank you very much
Thanks you for the Video. would it be possible to add a toggle feature on a line graph to “show or hide graph “?if possible how can i do that?
Lots of great UXUI tricks can be done with pages.
@@LetsPlaySalesforce can you please guide me how can i solve that?
@@faisalmangi4607 sending you a link via linkedin
You are awesome ,Thank you so much for all your help❤️❤️❤️
Hello Pete,
Please tell me how to dynamically change some of the columns of compare table in CRM Analytics Dashboard based on the selection in list selector. I need to deliver the project please suggest me
Hello Sir
We are doing migration from Tableau to CRM analytics.Is there any functionality like actions in Tableau in CRM Analytics to create set .
Could you provide some more information on what you mean by 'create set' or a link to documentation?
@@LetsPlaySalesforce there is action in Tableau Dashboards on select it is storing in a 2 different sets
@@TechleadConsulting I don't think we have anything comparable. Can you link me to the description of the feature? I don't think I fully understand.
Hello, very useful video, can u tell me how to use binding with table in Einstein???
Please check out my bindings basics videos but they are a bit old. Rikke also has some great stuff at salesforceblogger.com
Hi Pete,
Appreciate your videos. Do you know if there is a way to toggle or auto-hide a chart if there is no data. We have a standard set of KPIs but are unable to collect data for some markets. Would love a way to have one dashboard of key KPIs but hide the charts without data.
You can use results binding. When your query output null, past transparent color to all elements of the widget. As far as getting rid of the no results found, that's trickier. SAQL is required. You need to Union on a row with a zero value. The product team knows that this is something we all want and I believe it may be on the road now so I am not positive.
Can we add this static step to a list selector to bind it to the chart
Yes you can, though its easier than it was when I made this video.
@@LetsPlaySalesforce Also Pete can we fiter a particular column only in lens. I am getting blank value when I apply filter to a column
@@TechleadConsulting I don't see any reason that wouldn't work, I believe I cover filters later in this playlist.
Hey Pete - me again. I am curious if you are able to Nest a binding selection statement inside ( {{column(OU_1.selection, [\"project2\"]).asObject()}} ) of a toggle selection? For example I have an overarching toggle for my dashboard that filters all components and another toggle for a specific chart that displays different queries when I select it. I was to put that overarching toggle statement in the the singular toggle so it also updates with the "global toggle" but it is not working... Any thoughts? Let me know if I need to clarify
Short answer: you can't pass a binding with a binding it will get flattened to text. That said there are probably 50 ways to get around this problem. Pages should be your first line of attack. Components should be your second. After that, there's always custom code
@@LetsPlaySalesforce yes- that is what I thought! Was just trying to avoid some rebuilding. Thanks so much
Hi Pete, I have done binding for a step by creating a static step initially and it worked.
However, I noticed that when a slight modification is done to a step, i am not able to bind it.
Is there any separate syntax for the below statement , when I am performing SAQL modifications to a dynamic step
"{{column(static_1.selection,[\"value\"]).asObject()}}"
If its in SAQL, you don't need the whole thing in quotes.
Hi Pete, love the videos. If you had a stacked bar chart, how would you toggle back and forth between 2 groups (for example Record Type & Year) to 1 grouping (Year)?
My gut says you would also need to toggle the chart type to a regular bar. When grouping by 2 dimensions, pass your value as an array. For 1, use a string. I just landed for a layover in Atlanta, if I have time before my next flight I'll post some psudo-code.
Great, thanks! If I switch the chart type to a regular bar, I wouldn't be able to stack though, right? The code below sort of explains what I'm trying to do. I want to toggle between having the two groupings + segment value to one grouping+segment value. I'm sure that there's a much easier way to do this
"query": {
"groups": [
"Name",
"{{column(myStatic_1.selection,[\"group\"]).asObject()}}",
"{{column(myGrouping_1.selection,[\"value\"]).asObject()}}"
],
"myStatic_1": {
"broadcastFacet": true,
"label": "myStatic",
"selectMode": "singlerequired",
"type": "staticflex",
"values": [
{
"display": "PvA",
"value": "PvA",
"group": "Prd.ftxt_Record_Type_Name__c"
},
{
"display": "CSP",
"value": "CSP",
"group": ""
}
]
It's time to catch my connection and I couldn't get it to work😪 there is a trick to this but I can't remember. I would recommend those into the community it is totally possible to achieve this
Good idea! Thanks for taking a look though!!!
hi, I am having the same problem as you stated.
if you have solution please share with me.
thank in advance
I aam trying to create something similar to DTC app, with Open, Won, Lost. In this case what will be the values? I looked at the json for the installed dashboard and it seems to have 3 parameters. Display, Value and Won. Is it possible to do this in UI just like your tutorial or Do I have to do it in the Json file itself?
I think in your use case, you'd want to create a bucket field either with a recipe or in the dataflow.
Hey, thank you for the video. I think this requires Einstein Analytics. Is there any other way to implement dynamic group toggles in the free edition.
There isn't really such a thing as 'free' salesforce. If you're asking if this is possible with the standard reporting engine, no. That's one of the reasons we have Einstein Analytics.
@@LetsPlaySalesforce yes that's what I wanted to know. Thank you so much for your prompt response.
Thanks Peter
I would like to know how the 'value' can take two inputs
I don't understand, could you tell me more about your use case?
@@LetsPlaySalesforce How can I give a 1-dimensional array as input to a toggle value
"Group" : Account
"Value" :
For values I would like to give input as 1. Customer Account
2. End User Account
@@prathyushathunuguntla9474 set your toggle to multi-select and use column().asObject() though you'll need to delete the existing brackets that were there before the binding as it's already expecting an array.
I get an error that the column is not part of the query. Works with the one that the original query was group by. I experimented with substituting the binding into other references but it seemed to corrupt the json....
you have to completely remove the columnMap element. Apparently removing the values in not enough.
Also the api name is case sensitive
@@danpaul4108 This is correct. The columnMap property doesn't play nicely with bindings. In the instances where you still need it for things like hiding a measure used in a calculation, you can use columns :[] instead though it works a bit different and isn't officially supported.
Hey Pete,
Great Video! I'm hoping you can help debug an error I am getting. After completing all the steps, I am getting the following: "can't use the bar chart because the step requires at least 1 measure." Any idea what's causing this?
thanks!
Jeff Musgrave there was a change in spring 18 that causes this issue. The solution was posted by Danny Lai. The short answer is remove the columMap section. The full doc is posted on the community.
Thanks for the quick reply, Pete! Any chance you have the link to the post? I'm new to some of the SF world.
success.salesforce.com/0D53A00003RY4Yx This is the customer community for Einstein Analytics. Lots of folks come to ask and answer questions, and the salesforce team actively monitors feedback. It's awesome and this channel never would have happened without it.
Hi Pete,
I want to create a visualization based on dynamic top 5 results. For ex: Lets say my data is about smart phone users worldwide.
I need to get the top 5 results based on 3 segments. Ex: Brand, Country.
When i select a particular brand from the drop down lets say 'Samsung', i should get the top 5 consumers of Samsung brand mobile phones. And as vice-versa, when i select the 'Country' from the drop down list, then i should get the 5 most used Brands.
Is there any way to do so.
Many Thanks in advance.
Seems simple enough. What have you tried so far?
I actually tried binding using global filters as my rest of the pages work on global filters.
But I was stuck with top 5 results
I was able to take static top5 but not dynamic top5
Should be as simple as a dynamic group binding. I'll tell you my secret. I'm not actually good at this naturally and I never wrote a single line of code before I got into EA. What I do is just try and fail a few hundred times until it works. Then I try to understand why it works and why it didn't previously. Eventually, it got easier and now I can write bindings and SAQL freehand, though it rarely works on the first try. Just gotta keep hitting it again and again and don't give up.
help me with the data in CSV file, shall give a try and help yourself out.
I'm sorry I don't understand the question.
Hi : when I bind by changing the groups to "{{column(my_static_1.selection,[\"value\"]).asObject()}};", I don't get a syntax error but my visualization goes away. What am I doing wrong?
atul chandhok You have a semicolon after the closing curly brakets. You want }}", not }};",
Thanks for your prompt reply, Pete. I get another error now that says-
Syntax error at position 96 after token as ::q generate a S , count()as
I cannot copy but there are arrow signs between 'a' and 's'
atul chandhok best to post on the community and @ mention me. Make sure to post your full query. Learning to overcome syntax errors is part of learning.
Hi,
Instead of "Group" I can see " bars" . I am using Bars for "Account Type".This will creating any problem..
They changed out the label in the user interface but it's still the same. With a product that involves this quickly the content tends to age, and this video is almost 2 years old. The tutorial should still work those certain things have changed a bit
@@LetsPlaySalesforce
Thanks for your reply, But Why I am getting error "
The widget can not display because of the problem with the underlying step Account_Type_1."
I can not attach my screen shot here..
My query:
"groups": [
"{{column(myStatic_1.selection, [\"value\"]).asObject()}}"
]
Please post your code to the community and @mention me.
@@LetsPlaySalesforce Hi,
I got it. Working very well. Actually , column map is used in two places and I have to add column map=null in both places. Thanks to you and Rikki Blog. Thanks..
Hi ,
I just copy same syntax , JSON is not giving any error but I am not able to see any data on dashboard.
Did you delete columnMap? This video predates that feature. Check out Rikke's blog post on it at salesforceblogger.com for more info.
@@LetsPlaySalesforce Hi, I wanted to learn wave analytics as I am working as admin. How can I start ? Please help..Thanks
@@mitu1234567 Check out einsteinanalyticslearningmap.com and don't forget to scroll down and check out the trailblazer content link
Hey Pete,
Nice Video, The expression u used in the video doesnt work for binding two steps coming from two different dataset.
Can you upload a video on how to implement binding for steps coming from two different dataset or does this expression should work for steps that is created from two different datasets.
Hi Mohammad, thanks for the feedback! Please check out part 7 of this series as it covers binding across datasets. If possible, I'd suggest using connected data sources as it's much easier and more powerful. If your use case is that you have two steps on different datasets that you want to dynamically group by and they have slightly different field names (ex. Account_Type vs AccountType__c) you'll need a 3rd column in your static step, which is covered in part 2. If you have trouble, post back either here or on the success community.
Thanks bro