So far, we all know, in building dashboards in Einstein Analytics, we need to bring the data into Einstein Analytics and stored as Dataset. In this blog, I will share how to directly get data from Salesforce using SOQL, this means we can create a chart wizard or table in Einstein Analytics with Salesforce live data.
You need to know basic JSON dashboard in Einstein Analytics. After you create
↧
Einstein Analytics: Using SOQL
↧
Einstein Analytics: Understanding Nodes in Monitor
1. CSV File Load
When we create a new dataset using CSV file, here are the items in the Monitor:
Let's understand each item and the Node Type, data flow title sample_data_4 Upload flow - Overwrite:
- sample_data_4 is the dataset name, not CSV file name;
- Upload flow - Overwrite suffix is always the same for all CSV load.
Nodes involved for CSV data load:
sfdcFetch
csvDigest
optimizer
↧
↧
Einstein Analytics: Security Predicate for CSV file
Einstein Analytics supports security predicates, a robust row-level security feature that enables you to model many different types of access controls on datasets. Einstein Analytics also supports sharing inheritance, to synchronize with sharing that’s configured in Salesforce, subject to certain limitations. If you use sharing inheritance, you must also set a security predicate to take over in
↧
Using Emoji in Salesforce
Nowadays, emoji is widely used from mobile device messaging, email, until more serious business applications such as Salesforce. If you don't have emoji keyboard, you can copy varieties of emoji from the internet, one of the most famous is emojipedia.org
As per this article 5 Ways You Can Use Emoji, you can use emoji in Salesforce, from:
- Chatter Post
- Validation Rules
- Help text
-
↧
Salesforce: Sort Report
Create and sort report is simple, but sometimes you will wonder why the report does not produce in the way it should be, example report below:
We sort the report by Brand -- which is a picklist field, but the order is not working properly, I expect it should sort by alphabetically, the same order result we will see in Classic.
Try to convert the report to a summary or matrix report:
↧
↧
Salesforce: Using Custom Field for Forecasts
This blog only applicable for Collaborative Forecast, at this moment Customizable Forecast is scheduled for Retirement as of Summer ’20.
By default, Salesforce will forecast using Amount field from Opportunity for Revenue forecast. However, to fit your business needs, you can add additional forecast type, based on a custom field in Opportunity, it must be currency fields.
1. Opportunity Split
↧
Salesforce: Query Fields Permission
In the previous blog Using Permission Set to Query User Permission, we discussed query on PermissionSet and PermissionSetAssignment to query on permissions related to the user permission, at the end of the blog we also introduce query to ObjectPermissions object to get permission related to Object.
In this blog, we are going to introduce another object called FieldPermission. As you know, basic
↧
Einstein Analytics: deployment with Change Set
As Einstein Analytics is deeply integrated with the Salesforce platform, we can deploy Einstein Analytics asset as a Change Set from the Salesforce platform.
Here are a few finding related to Einstein Analytics asset deployment with Change Set:
1. Change Set able to deploy Dataflow to target org, event in the target org is not enable for sync. You need to enable sync for the ability to
↧
Salesforce: Finding Reports and Dashboards from Private folder
Use case: unable to delete report because it used in dashboards.
When you try to delete the report, Salesforce returns the following error:
Report cannot be deleted
One or more dashboards depend on this report. Please delete the dashboard components referring to this report and try again.
The issue is, it does not tell us which dashboard content report that we want to delete.
So, let us find
↧
↧
Salesforce: User current app
Question: is there a way to check what is the user current app?
Answer: yes, but only for Lightning.
UserAppInfo
Since API version 38.0, Salesforce introduces an object called UserAppInfo, this object stores the last Lightning app users logged in to.
Sample query: SELECT Id, UserId, AppDefinitionId, FormFactor, CreatedById, CreatedDate, LastModifiedById, LastModifiedDate FROM UserAppInfo
↧
Einstein Analytics: using Allow disjoint schema to transform dataset
Here is the use case, we have multiple columns for each type to store value, this cause we can't really easily build a chart when the values are spread across many columns.
Solution: to transform the data source by splitting into many rows and using 1 column.
Dataflow
Inside computeExpression computeTYPE1 nodes:
Inside Type_TYPE1 Computed Field:
this is text, which is the
↧
Einstein Analytics: SAQL in computeExpression with samples
computeExpression is one of the most powerful features in Dataflow in computeExpression, you can "add" fields without having to change the source data.
1. Get field value - TEXT
'CreatedBy.Role.Name'
as the field name contains a dot, use ' before and after the field name
2. Set a text value - TEXT
"RoleName"
always use " before and after the value for text
3. Get current date - DATE
↧
Salesforce: Account Hierarchy columns & Recently Viewed columns
Can we customize the Account Hierarchy columns?
Classic - NO
This is the article and this is the idea.
Lightning - YES
Here is the article and here the steps:
From Setup, at the top of the page, select Object Manager.
In Account, click Hierarchy Columns and then click New button if never created, or Edit link to edit the columns.
You can include up to 15 columns.
When you create Hierarchy
↧
↧
Einstein Analytics: Handling null values
This blog is not related to Null Handling in Measures. As per this article, null values in Dimensions are not completely supported in Einstein Analytics, however, we often deal with null values in many scenarios.
To prevent data quality issues, Einstein Analytics will disregard any fields in Salesforce (or columns in external data) that are entirely null.
Grouping with Null
Date field by
↧
Salesforce: Forecast attainment report
Forecast is always a big part in CRM, and of course, it is available in Salesforce. Forecast has been gone through 3 types in Salesforce, with the current Forecast called "Collaborative Forecast", even you will see it just as "Forecast" in the setup menu, tab, and label.
We have discussed collaborative forecast many times in this blog, and today will discuss Forecast attainment report. But, here
↧
Salesforce: ForecastingQuota and ForecastingItem object
ForecastingQuota, this object stores an individual user’s or territory’s quota for a specified time period. The “Manage Quotas” user permission is required for creating, updating, or deleting quotas. The “View All Forecasts” permission is required to View any user's forecast, regardless of the forecast hierarchy. Available in API versions 25 and greater. Object Id prefix is 0J9.
Once the quota
↧
Einstein Analytics: Default Widget Style and Transparent Widget
Default Widget Style
When you drag a new widget into dashboard designer, in many times we need to change the widget style, from: background color, border, border color, border width, border radius. You also need to make sure to have a consistent style across the widgets. It is not an issue if you have only a few widgets, but when you have more and more widgets, this manual setting takes time and
↧
↧
Einstein Analytics: Using XMD (Extended Metadata) for Percentage
Getting Started
When we configure Einstein Analytics Dataset, we not realize have been playing around with XMD (Extended Metadata).
When you explore dataset to a lens, and click "Fields" for:
- Rename
- Edit Values
- Number Format
Save the changes will update Dataset XMD.
Let us load a CSV file
Here is the blank structure of XMD file:
{
"dataset": {},
"dates": [],
"derivedDimensions":
↧
Einstein Analytics: Embed Analytics Dashboards with multiple fields filter
Here is the scenario:
Show all Opportunities with filter: compare Parent_Account_ID__c value from Opportunity page (a formula field CASESAFEID(Account.ParentId)) with 2 fields from a dataset: AccountId and Parent_Account_Id__c.
As per Summer '19 release, we can use Filter Builder or Filter String, but unfortunately, the filters do not support OR logic.
Here is the workaround for the scenario:
1
↧
Salesforce: Get Folder Sharing Access
Report and dashboard accessibility are defined in the folder that stores the reports or dashboard, there are 3 levels of access:
1. Manage
2. Edit
3. View
You can share the folder by:
1. Users
2. Roles
3. Roles and Subordinates
4. Public Group
5. Territory (only when Territory is enabled)
6. Territory and Subordinates (only when Territory is enabled)
7. Partner Users (only when Partner community
↧