Monday 31 July 2017

Talend Build Failure issue. Talend 5.6 and 6.1.2 x86 versions

An error occurred (job was not built successfully please check logs for more details available on the workspace/ .java /last generated.log)




Whenever this issue happens, do not panic. As the jobs should run fine but just the build will not work.
Do a java - version in CMD. If it has a single version and does not throw an error then you are good to go.
All you have to do is go to the talend site and download the newer version of talend and run the build again and it should work. This however, does not always happen. As you may know Talend can be buggy and times with no reasoning whatsoever.
Solution:
I downloaded v 6.2.2 and imported the talend jobs and it worked smooth.

Thursday 23 March 2017

XMD Edits in Wave Analytics

If you are looking to make changes on names and labels, you would need to go to the XMD file in wave in order to be able to make the change. Wave currently has a heroku app to access this with a User friendly UI.
The site can be accessed from the link below:
https://wave-labs.herokuapp.com/

  1. On logging on to this site, the first step is to choose the org type, Production or Sandbox. 
  2. Once done, Choose XMD, the JSON and SAQL are now available directly on the wave dashboard. 
  3. Choose XMD 
  4. Choose a Dataset to get started. 
  5. Sometimes it might take you back to the screen where the XMD is given, choose XMD again and then choose the dataset.
  6. Your values would be in dimension or measure, date fields would be in date, depending on the structure of your dataset.
  7. There are more options available such as derived dimensions, derived measures, organizations. You can add or remove any values on the XMD via the UI. 

Once done Click the save button on the top right so that it is reflected in your JSON file.

Thanks and Cheers! Let me know if you have any better ways to go about this or any questions, will try to reply asap.

Friday 17 March 2017

Salesforce : Wave Analytics Bugs 101

The Trend in Wave feature happens to have a limit which is not defined anywhere. This limit seems to be 10. Even if you have stopped trending you would need to delete the dataset to be able to completely remove the trend from the pipe. If you look at the API and you edit, it is possible to delete datasets and the trending reports directly as the UI as of now happens to be really buggy as well.

So thats a heads up for the trending feature if you are planning to use it or suggest it to someone else.

Thursday 23 February 2017

Magic of CliQ Data Loader

CliQ is a software hosted on google code Archive. It can be found at
https://code.google.com/archive/p/dataloadercliq/downloads

This is really helpful for loading and extracting data from salesforce. We can use this to load data from and to a staging table in an ETL tool. I use this in Talend as this helps in error logging which is not available with the standard salesforce component.

There is a dependency on Data Loader provided by salesforce for this.
Currently you need Apex Data Loader 36+ for Cliq 2.3 which is the last available version.
Its better not to use an older version as this is TLS 1.1 compatible which will be the standard in salesforce production orgs from next month.

Wednesday 22 February 2017

Top 4 Data Integration Certifications to get in 2017

Lets get to the certifications I believe would be a game changer in 2017.


  1. Implementing a Data Warehouse with Microsoft SQL Server 2012/2014
  1. Talend Data Integration v6 Certified Developer Exam 
  1. Boomi Integration Developer I & II (combined) Certification Exam
  1. PowerCenter Data Integration 10: Developer, Specialist Certification
(https://www.informatica.com/ca/services-and-training/certification/powercenter-data-integration-certification.html#fbid=mdJ-l6IzGWB)

This covers the following DI Tools: SSIS, Talend, Dell Boomi and Informatica Powercenter. 
It would be advised to be well versed in these before taking the exam. 

Talend 6.3 Salesforce Input Connector Issue

The Talend Standard salesforce input connector on 6.3 does not work. It throws Java error messages even if you just try to run a job with just the salesforce connector and the correct credentials. This is build error and we hope that the Talend team is able to address this issue and fix it.
The issue has been addressed on TalendForge, the official Talend Forum/Help for the on-premise/free version of Talend.

This is the exact error:
Exception in thread "main" java.lang.NoSuchMethodError: org.apache.commons.lang3.reflect.TypeUtils.toString(Ljava/lang/reflect/Type)Ljava/lang/String;
at org.talend.daikon.properties.property.Property.<init>(Property.java:126)
at org.talend.daikon.properties.property.Property.<init>(Property.java:151)
at org.talend.daikon.properties.property.Property.<init>(Property.java:147)
at org.talend.daikon.properties.property.StringProperty.<init>(StringProperty.java:32)
at org.talend.daikon.properties.property.PropertyFactory.newString(PropertyFactory.java:35)
at org.talend.components.api.component.ComponentDefinition.<clinit>(ComponentDefinition.java:62)
at org.talend.components.api.component.AbstractComponentDefinition.<init>(AbstractComponentDefinition.java:44)
at org.talend.components.salesforce.SalesforceDefinition.<init>(SalesforceDefinition.java:26)
at org.talend.components.salesforce.tsalesforceinput.TSalesforceInputDefinition.<init>(TSalesforceInputDefinition.java:34)
https://www.talendforge.org/forum/viewtopic.php?pid=196591#p196591


This issue has not be resolved as of date.
Please leave comments below if you believe this has been resolved.

Tuesday 21 February 2017

Wave Assignment Issues: Org Enablement

Issue:

Can't assign permission set Wave Admin to user ETLHacks. The user license doesn't allow the permission: Use Wave Analytics
Can't assign permission set Wave Admin to user ETLHacks. The user license doesn't allow the permission: Manage Wave Analytics
Can't assign permission set Wave Admin to user ETLHacks. The user license doesn't allow the permission: Edit Wave Analytics Dataflows
Can't assign permission set Wave Admin to user ETLHacks. The user license doesn't allow the permission: Create and Edit Wave Analytics Dashboards
Can't assign permission set Wave Admin to user ETLHacks. The user license doesn't allow the permission: Upload External Data to Wave Analytics
Can't assign permission set Wave Admin to user ETLHacks. The user license doesn't allow the permission: Create Wave Analytics Apps
Can't assign permission set Wave Admin to user ETLHacks. The user license doesn't allow the permission: Access Wave Analytics SAQL Editor (Pilot Feature)
Can't assign permission set Wave Admin to user ETLHacks. The user license doesn't allow the permission: Trend Report Data in Wave Analytics
Can't assign permission set Wave Admin to user ETLHacks. The user license doesn't allow the permission: View Wave Analytics on Communities pages.
Can't assign permission set Wave Admin to user ETLHacks. The user license doesn't allow the permission: Download Wave Analytics Data

Solution: 

Go to the User and go to permission set license assignment and then assign the permissions for wave, sales cloud and service cloud, etc. Whatever is applicable in your case.
This would remove the above mentioned error messages.

Tuesday 7 February 2017

Wave Series: Salesforce Analytics

Hi All,
I am writing a number of posts based on my learnings of Salesforce Analytics Cloud and specifically Wave Analytics.
I am compiling a series of Notes with the naming convention Wave 1__ for now. Hopefully more information on Wave comes out and I am able share more information with you all. Stay tuned and please subscribe and leave comments below for questions or feedback.
Thank you,
Cheers!

Wave 115: Mobile part 1

Analytics app is an application separate from Salesforce1. 
Available for apple only.  
Once you open the application you can see the playground.  
Drill in is by tapping on a chart.  
Drilling in we can choose what we want to drill in by.  
Filtering can be applied on measures and dimensions.  

Wave 114: Row Level Security

App level security is an all or nothing approach. You can see data in a finer grain by using row level security. 

Owner based security 

We can enforce security irrespective of the source.  
How to see only data you want to see? 
Use a predicate filter, which is also known as a security predicate.  
Predicate filters is when some of them are being applied on the server side.  
This can be applied on the dataset under the security predicate tab.  
EX:  
'OwnerName' = '$User.Name' 

How to confirm this? 
We can look at the network console and look at remote, you will not be able to find the filter. Proves that it is being applied on the server side and ensures security for the dataset.  

Team Based Security 
This is a hierarchy. You can see your own records and what your team owns. The is a role up hierarchy setup. 
ELT (Extract Load and Transform.) 
In Wave, we are extracting from salesforce, loading the data and then transformations.  
What is a multi-value attribute? 
Origin: SFO 
Dest: ORD,JFK 
Wave can handle multi value attributes very easily. 
The benefit is the eventual grandparents the nodes may have.  Basically constructing a tree from a key value pair. 
Listing all the parents of the node is called Flattening .  
A's parents are B,C 
First, we are flattening the user role to make sure every user has a multi valued attribute.  
No results meet those criteria. Please  
This means you are not a part of the role based hierarchy. A Sys Admin does not mean you are a part of every role hierarchy! 
Once you add yourself to the hierarchy you will be able to see the records.  
Role based hierarchy is enforced using the Flatten operation which is looking at all the parents. This is using the ELT functionality. 

Predicate Filters Syntax 
You can have or conditions ; AND conditions are also allowed, you can also chain these logical operations. The predicate filters are very flexible.  
You can apply it as the data is coming in or after the data has come in. The same applies for data coming from an external data source. Please refer the product documentation to know more about utilizing predicate filters. 
<dataset column> <operator> <value> 
There has to be a space between all three attributes. 
The dataset column names should be in single quotes.  
The value of the dimensions can be in double quotes.  
The operators are logical operators.  
Value can be a string literal, number literal or a field value. 
Example:  
'Owner' = \"Joe\" || 'Owner' = \"Bill\" 

$User and Integration vs Security User.  
Security user: 
$User needs FLS Access and needs API Names always 
Else will throw application error 


Security: 
Territory and External Hierarchy -- Similar to Role Hierarchy the ELT operation 
Sharing Rules-- They do not automatically transfer onto Wave. Just because you have 150 sharing rules does not mean you need 150 predicate filters.  
FLS -- Looking at a subset of records. Wanting a certain subset of users looking at a particular set of users only.  
Have different apps with different end users and give them different FLS.  
  

Wave 113: App Level Security

App level security is the basic level in security. All the data is stored in the app. 
There are two default apps: Private and shared app.  
Private app is the most restrictive app.  
Shared app is the most open app. Everyone who has analytics cloud enabled is able to see them.  
In wave you will create different apps for different sets of users. Ex: marketing; finance;sales;etc. 
You can login as any end user and see the app they have view to from manage users.  
An app can be shared to a user, role or group.  
On role, you can choose to include the subordinates if required. 
The access can be of view, edit and manager access.  
If you are giving access to another user he/she should have the access else you will get insufficient access error.  


Errors:  
The dataset 'Bookings' used by this dashboard is not available.  

This means that the dataset is not available but the dashboard is available. 
To fix this we need to go to the dataset and put it in a more visible or higher access privilege app.  
You can put the datasets in app A and dashboards in app B.  
General practise is to keep the dashboard and the dataset in the same app.  

You can change the sharing of an app by clicking share.  

Viewer is the most basic permission.  
Editor can save changes to the dashboards, lenses and datasets in the app + Viewer access. 
Manager can change the app settings and share it with other end users or rename and delete the app. + Editor Access.