Moving and Manipulating Data in Salesforce

Data is the purpose of Salesforce. Moving and Manipulating that data is what makes salesforce so awesome! Any mass movement of data can be done using a tool and manual data entry can be bypassed!

So in this blog I want to break down all the things (yes, all the things) that help you to move and manipulate that data. So stick around for a hopefully brief explanation of all the tools and things.

PS. This is mostly geared for app builder exa studying, because that’s what I am studying for!

Data Import Wizard

The first tool for moving and manipulating data is the import wizard in Salesforce. This is the main tool for uploading data and used mostly from admins. This is a great tool, but has a lot of limitations.

It can upload data for just about any custom object and it works for a few standard objects. Those objects being accounts, contacts, leads, person accounts, or articles.

Some of the drawbacks of using the data loader include that it’s only available for specific standard objects. Also, it is limited to around 50,000 records at a single time. Another drawback is that you can only map up to 10 fields at a time.

Data Loader

The data loader is the next step up from the data import wizard. This can take up to 5 million records for uploading/upserting at one time. This tool can upload to just about every object and is especially for the larger data sets.

This tool helps you through it’s easy to use wizard. You can easily map a lot of fields and save that mapping for future use. You can also use it in the CLI! In my experience using the data loader on enterprise systems, is used generally by the system admins and the import wizard is used mostly by data admins. Regardless of the system size I like using the data loader far more than the import wizard.

A few drawbacks to the data loader are it’s size cap at 5 mil. It also has a delete option cap at around 10,000 records, which in general it’s not likely that you’d use it to the max at one time.

The biggest drawback for me is that it’s not available for use in anything less than the enterprise edition of salesforce. So if you have professional you’ll not be able to use the data loader.

External Objects

The next way of housing data is the external object. These are similar to the regular objects in salesforce, but all the data is store in another system. This could be another salesforce org or a completely different system.

An example of this could be a time management app in salesforce. You could have an external system that is used as a time sheet, but you need that information to understand how many hours have been allocated to that project. The hours would be linked in an external object.

When creating an external object you’ll likely need to create a relationship of this object to another. This will be in a type of look up relationship. There are three types when you are using an external object. These are lookups, external lookups, and indirect lookups.

Let’s run through these really quick. The lookup relationship can have a standard or a custom object as parent to the external object and the child of this external object could be a standard, custom, or another external object. In this relationship to match the parent field needs the 18-digit lighting ID.

The external lookup is similar. You can only have the external object be the parent. Although, you can have a standard, custom, or external object as a child. Finally, you’ll need the External ID standard field to match these in a lookup relationship.

The final type of relationship is the indirect lookup. As a parent you can have a standard or custom object and have the external object be a child. For this relationship you’ll need a custom field with an external ID and unique attributes.

A quick note before moving on here. On the app builder you’ll likely have a question about lookup filters. These are not available on external objects. However, two quick things about the filter is that you cannot use special date values or delete a field referenced by a lookup filter. More on this here.

SAP

Like I had said in the beginning this is more geared towards studying for the app builder exam and SAP is likely to show up there. SAP is another CRM that can be connected to salesforce and can (at least right now) be used better for particular aspects of business rather than salesforce.

SAP can have a configuration to salesforce through the app exchange but isn’t the best for bringing all data over. So here weigh the options you have and see if that config style is the best.

O-Data

So O-Data is another way to bring in external data. Without going too much into detail here and keeping things super digestable. O-Data is an adapter both in 2.0 and 4.0 versions that helps to call different external objects.

That’s just about it that you’ll need to know for the exam. Really. Going a little bit more into detail. In salesforce you’ll call through the O-Data when you create an external object record or run any type of report that calls external data.

More on the OData Adapters here.

CLI

Going down the list we’ve come to the CLI or the command line interface. We’re coming closer to the dev focused tools.

So long story short the CLI is the shit or can be. It does a lot of awesome stuff if you know how to use it right. It does a lot more than just imports and exports data.

A quick list: You can create and delete scratch orgs, store any metadata changes, and create all types of dev things like lighting components, classes, triggers and things.

Check out this super helpful video from salesforce on it

ANT Migrator

Alrighty the ANT migrator tool. This is another super awesome dev focused tool. This is also a java based tool used for moving metadata between orgs. Which if you’re unfamiliar with metadata, it’s the stuff where your actual data goes. AKA objects, fields, workflows, etc. things that you’d move with change sets.

And….. that’s really all you need to know for the app builder what an ANT migration tool is more on it here.

Links and Things

Well, how did I do? Anything you would add? And yes, I know I am missing change sets and managed packages here too. Those are coming soon in another post. They deserve their own 🙂

More Reading

Post navigation

1 Comment