How to import a contact with a relationship to another contact? - dynamics-crm-2011

I'm importing data from another system to Dynamics CRM.
My source data is a table of people, some of whom have a one way relationship to another person. This is represented by a field in the table that contains the id of the other person.
I want to import these people into CRM as contacts, with a relationship to the other contact.
However, I don't think this will work because when a contact is imported the other person might not have been imported yet and so my calculated column lookup won't necessarily find the id of the other contact.
Can you think of a way to make this work?
(I am using Simego Data Synchronisation Studio for this. http://www.simego.com/Solutions/CRM-Integration)

Can you set the tool to do an import and then an update? The first time through, don't load the relationship fields at all, just load all of the contacts. The second pass through, you shouldn't be creating any contact, just setting this relationship field.

Related

Handling Record List operations

I have a requirement where I need to maintain records of data in database table via SharePoint, provide powerapp or other solution based interface so that I could do the following+
Add, Update or Edit the Package records.
Pick desired records and create Parent to group them.
I heard that above mentioned grouping desired records ( building parent child ) relation is not supported in SharePoint either OOTB or Custom approach?
Request suggestion or direction that could be taken, if anyone has done something similiar.
You can't directly create parent-child relationships in sharepoint, what you can do is work around the IDs. Let's say you want to create a database of books... Every book has an author, and you want to store the data of the author as well.
You can create a table for authors, and a table for books. Each author you add to the list will have a name, surname, email, etc, and an unique Author ID.
Now you want to add a book for that author. In the book table you would give the book an ID, name, published date, etc, and instead of the name of the author, you would give it the ID of the author referencing the author data in the other table. If you want the author's name (for instance), all you need to do is search in the Author's table for that author ID.
This has been my workaround when doing parent-child tables in Sharepoint. Hope this makes sense to you. Best regards

Auto-Assign Unique Value to Names in Two Columns in Excel

I have a sticky problem that I can't figure out how to do anyway but manually. Maybe you all can help me find a formula that would do this automatically. Here's the set-up.
My organization is currently switching CRM databases, and instead of paying the new CRM for a data upload they have tasked me with uploading the new data. Ok, no big deal, I've done it before, and it's not the worst.
However, the big problem I discovered is that with one of the databases (Raisers Edge NXT) I had to export the whole database out in two sections - one of the constituents and one of the gifts assigned to the constituents. FOR SOME REASON they exported these lists with no unique ID common between them.
So for example - I have a constituent ID for a record in the constituent list and I have a gift record for that constituent but nothing shared between them other than a name, which unfortunately might not be enough for the new Everyaction system to recognize when doing auto-uploads. So my solution is to create a unique Import ID for this import and add a unique ID to every unique name across the consituent and gift record lists so I can run two imports - one of the constituent and then one of the gifts and assign the gifts to the constituents.
Here's the big question how can I assign both lists the same unique IDs without having to go through all 3-4 thousand records manually?
Here's some sample data:
Sample Data of Problem:

How to create m2m relationship in PowerPivot

So I am trying to link an employee metrics pivot chart with an employee project table with one slicer. I want an employee slicer that manipulates all charts but the data is coming from 2 different places (SQL, Sharepoint). When I try to create a relationship based on Employees I get the following error: "The relationship cannot be created because each column contains duplicate values. Select at least one column that only contains unique values."
So one chart has quantitative items while the table has qualitative items and I want one slicer to manipulate both at the employee level.
I want to see all the data on both charts for the selected employee, and not just single items linked by unique values. I can use unique values, and have created relationships that one slicer can manipulate however I only get one record at a time that way and therefore the slicer has thousands of buttons (one for each record).
I wouldn't think this would be that difficult and I hope it's really not.
Please Help!
M2M relationships in PowerPivot will most likely cause more headaches than solutions unless you are aware of what you are doing. After some thought, I realized that I really do not want an m2m relationship because it would result in junk data for what I wanted. I just wanted to start my answer off acknowledging that I did not achieve an m2m.
So if you want to link SharePoint data to Excel here is what you need to do:
Export SharePoint data as an RSS feed. If this is something others will need to refresh then the rss file will need to be stored on a shared drive.
Add PowerPivot if you have not already done so. In PowerPivot get external data from other sources (rss feed) then add your file. To link data you will need a Unique ID to join tables on.

Finding Lookup item numerical values in MS Dynamics

I have a site powered by ExpressionEngine 2.5.x, using Freeform, integrated to post form data to MS Dynamics CRM 2011. The extension is nicely scalable, I can change the mapping, all that excellent stuff. My problem is how to find mapping values for Lookup fields in MS Dynamics.
I am trying to map form fields from the site forms, into MS Dynamics. Some of the fields are Lookups, in MS Dynamics. Our mapping calls out the numerical value of the Lookup item, rather than its name. (Which is good, because ppl can change the text names in the MS Dynamics console without breaking the mapping.)
My question is: I know how to find the actual back-end field names of form fields within MS Dynamics. But how to I find the numerical values of the picklist items and lookup fields? Say I have a Lookup field, for Lead Source (called campaignid). The items are:
web
online
radio ad
flyer
word of mouth
other
I know that when I edit options in an option set, I can see their numerical value. Where can I edit options in a lookup field? I've tried looking under Settings > Customizations > Customize the System, but didn't see anything called lookup.
Lookups are pointers to entities. They do not have numerical values like regular option sets. So I guess that you will have entity called Campaign (or lead) so you can check which campaigns exist in the crm DB where each entity will have view in the DB.
Let's see if i understand your question. You don't have a Lookup option like Option Set because a lookup is consequence of a relationship 1:N between two entities. So for edit a lookup you need edit a record of a entity. In lookup fields you don't have numerical values, you have guid that represent individually a record, so in a record a lookup is stored in database as a guid. Check this video.
Check here how find this guid with the record open.
A look-up field is, roughly speaking a pointer to en entity (in C# it's referred to as EntityReference instead of Entity) and it consist mainly of a guid and logical name of something.
Usually, in the code, when you have an entity, in order to access the fields of its lookup-connected entity, you'll need to make an extra query for that.
So, if you have a Contact instance and need to see the address of its parent customer, you'll have to get the guid and logical name (in this case it'll be Account) and retrieve the data for it separately.
EDIT:
Suppose that you have created an instance of Contact entity and you'd like to access its lastName field. Then you can simply refer to it as follows.
var value = Xrm.Page.getAttribute(“lastName”).getValue();
On the same form, there's also a field that refers to an Account instance (its name is parentCustomerId. Suppose now that you'd like to get the fullName field of the Account. One could expect the following to work.
var account = Xrm.Page.getAttribute("parentCusomterId").getValue();
var name = account.getAttribute("fullName").getValue();
However, that's not going to work, because the parentCutomerId is a look-up field. It means that it only contains a guid (a pointer, a reference) identifying an other entity. You'll have to use it (the guid) in order to fetch the instance that the look-up is "mentioning". Then you'll be able to check it's properties.

Create custom view with multiple entities in CRM 2011?

I'm new in CRM 2011. So not familiar with all it functionality.
Have a question about displaying data from multiple related entities.
First Entity is a Users (contain information about user)
Second Entity is a Class (contain information about class user enrolled)
Third Entity is a Class Attendance (contain information if user attended class on specific date)
The idea is to show view with users who is enrolled in class.
To show start end dates and if user attended class or not.
Administrator should select user and change status to attended or not.
How it can be done in CRM 2011? Is it required custom development or just to View Customization using user interface in CRM?
Any suggestion or examples highly appreciated.
In Mscrm you can create a view for a single primary record type, on this view you can show fields from the primary record. You can also include secondary records that are linked via a lookup to the primary record, you can show columns of these secondary linked records. The limitation here is that you cannot link tertiary records from these secondary linked entities. The slight confusion here is that you can show the name of the tertiary entity as its a field on the secondary entity.
So to put this into the context for a real example, take the following entity model.
Contact has a 1 to Many relationship with incident (a contact can have many incidents, each incident has a lookup to contact)
Incident has a 1 to Many relationship with task (an incident can have many tasks, each task has a lookup to an incident)
So a view of tasks can;
Show all the fields from the task (task in the primary)
Show all the fields from the incident (incident is the secondary)
Show the name of a the contact, but not any other field (contact is a tertiary, but its name is shown as a field from the incident)
This is one of those things that becomes a lot clearer when you actually try it out for yourself. Its hard to say what you will be able to achieve because its not clear what your entity model is.
In any case here is how you create your own custom view.
CRM > Settings > Solutions > Your Solution > Your Entity > Views > New. There are various buttons would should hopefully be self explanatory.
Click Add Columns and it will present you with fields of the primary entity, use the Record Type drop down option to select fields from linked secondary entities.
Reading between the lines you have:
Class entity with many:many relationship to student (user), so a user can be enrolled on more than one class and a class has more than one user.
There is then a second entity for attendance which by the sound of it has a many:1 relationship to both student and class, and has a status to show attendance for a particular instance of the class on one date.
So far sounds like a good model.
Using the ideas in James' answer you ought to be doing a view of Attendances, including the name of the class and user. You might also have extra columns from the user or class to show things like when the course starts and ends, what the student's email address is etc.
Sort this view by class, then student, then attendance date and you have a pretty good view. But this won't display in any kind of hierarchy or show summaries. You might want to look at building a custom report for this instead so you can report on attendances, grouped by student and grouped by class. If you get clever you could also add filters for dates so you can look at attendances last month only, for example. You can probably do a lot of this with the built-in report wizard, for more complex or pretty versions go to SSRS

Resources