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:
Related
Overview:
We’re in the process of switching to a new CRM. Importing Contacts and Companies - Easy. Importing the notes associated with those Contacts - Not so easy. For reference, there’s over 100,000 Contacts.
The Problem:
When I export Contacts from our old CRM, I get a .csv file that includes all Contact info and Note info for that Contact. Every Note that was created for a Contact is logged on a new row that includes: Contact First Name / Contact Last Name / Note Author / Note Create Date / Note. This is what a current export would look like:
Current .csv Export Example
This means that if a Contact had 8 Notes in the CRM, this Contact is duplicated for every Note.
If I upload this file to the new CRM, this contact is created 8x in the new CRM. Meaning I would have to merge this Contact 8x to merge all notes into one instance. This is clearly isn’t a sufficient solution.
What I’ve Tried:
I figured out how to combine comments from multiple rows into one cell on multiple lines using a =TRUEJOIN formula.
Ex: =TEXTJOIN(CHAR(10), TRUE, U12:U18)
I also figured out how to merge and combine data from 2 cells using a =CONCAT formula.
Ex: =CONCAT(TEXT(R4, "mm-dd-yyyy h:mm AM/PM")," - ",S4,": ",U4)
Goal:
What I’d like to do is identify the duplicate names, merge the Notes for that Contact into 1 Cell on multiple lines, while maintaining Note Creator and Create Date per comment. So I would have 1 Contact with all associated comments loaded to the new CRM. I would like to achieve something that would look like this:
.csv Example of What I Think it Should Look Like
I need help with a formula that would:
Identify duplicate names and remove all of the duplicate data from comment rows while maintaining the separate Note Creator, Note Create Date, and Note associated with that Note Creator.
There’s over 100K Contacts so conditional formula seems like the only way to achieve this.
I am having a little trouble figuring out how to properly filter from the one side through a many relationship and back through to another one sided table.
The issue is that a Customer can have multiple accounts which can have multiple Customers.
In the attached image I am trying to filter from a Center# through the All Customer level and then add a filter on the List table to get the correct open accounts.
So the example would be I am looking for all Customers that are associated with Center A and are attached to an account type A.
The inactive one to many relationship from All Cust -> All Accts is what needs to be active instead of the All Cust -> Open table.
I am currently using:
CALCULATE([Cust Enrolls],CROSSFILTER('All Cust'[All Customer Number],'Open'[Primary Customer Number],Both))
to be able to filter for the account type, but that table's customer is just the single primary customer.
Any ideas on how I should either rework the model or how to create the correct measure?
Model
I would recommend re-working your Data Model so that you have a clear 1-M for each dimension table to your fact tables. This will save you a tremendous amount of time and headaches now and in the future by structuring your data properly.
I am building a website with large database, there's 6 types of data, so 6 forms to pass data to database.
Each form has unique parameters, and 4 of 6 forms have the same fields and the fields can contain multiple data: email, address and phone can be multiple on 4 forms.
For the first i wanted to created 4 different tables like: store_contacts, warehouse_contacts, delivery_contacts, etc. to keep different types separated.
so i would have 4 similar tables containing the same fields:
id, phone, email, address, store_id/delivery_id/etc
I have read that better practice to create one table containing them, table Contacts:
id, type, type_id, phone, email, address
from similar questions:
Two tables with same columns or one table with additional column?
https://softwareengineering.stackexchange.com/questions/302573/one-wide-table-or-multiple-themed-tables
https://dba.stackexchange.com/questions/46852/multiple-similar-tables-vs-one-master-table
But i'm not sure if tables will change later and new fields will be added for store only or only for delivery. and apart from contacts i have similar situation for other fields.
Would it be comfortable to make queries with type every time i need to pull data for certain type or when i need to delete them? Won't it get messy when a lot of rows will be inserted? And if a new field will be created for 'store', it is okay that others will contain NULL on that field?
Probably you should read a bit about Relational Entities or Object Orientation - inheritance, depending on the paradigm you are working.
For example, you can get aware about it in articles like this
Usually you should store contacts in a separate and exclusive entity, for a plenty of reasons. Sector-specific fields can be stored in each table, only if you are sure that there would be no use for them in another entities. For example: warehouse_contacts would have an imaginary employee id field to represent an employee in warehouse repsonsible for attending a given contact. Even though, proably the best practice would be to build a third table managing this information.
Nevertheless, if performance is an issue, I mean, if you have millions of records and dozens and dozens of simultaneous access in your website, maybe your Data Base would run faster in fewer tables, not so normalized. But this situation is quite improbable for most enterprises and users. Rather, this situation is kind a common practice in large-scale and legacy systems.
Good luck.
I'm not sure if the title is a proper descriptor of what I'm trying to achieve here, hopefully it's close enough. I'm not a SharePoint expert, but I'm comfortable with creating forms and workflows as necessary to get something like this to work.
Basically, I need to have two separate SharePoint lists that are linked together, but one list needs to have row level security to hide data from other users that shouldn't see it. I need the column that is being linked to be an editable text box though, rather than a simple lookup field.
For example:
List A
Customer (text)
Description (text)
Sales People (person, multiple selections allowed)
Expenses (linked field)
List B
Customer (text)
Expenses (number)
Created by (just a reference that the sales people would actually "create" each row here)
Essentially, multiple people can be assigned to a customer in list a. The "sales people" are assigned by another user who actually creates the item for list a. I need to be able to have the people who are assigned as "sales people" to have a text box where they can enter their expenses, but on an individual basis, that would then be stored in list b with row level permissions to prevent them from seeing each others expenses totals.
List B would be able to show each sales person their full list of expenses across all the customers they are connected to, but not be able to see each others expenses. It's not a problem if the person creating the item for List A ends up with items in List B that are 0, but I need to be able to have the Expense field be an editable text box from a form that allows the sales people to enter their total expenses for that customer.
If I was building a custom application, this wouldn't be difficult to do, but I can't for the life of me figure out how to do this in SharePoint, or if it is even possible.
This is possible, but it will require custom development, using the SharePoint Object Model. Create your two lists and then you can either create a javascript/HTML based solution using libaries like jQuery and SPServices, or you can create a custom web part and use C# to update the lists. There's lot of examples out on the internet on how to do this. Write some code, and bring any problems you have with the code back to StackOverflow.
I would like to create a database based on the following reasoning:
I want to assign to each contact I have some tags for his abilities, for example, so there will be a column called "abilities". So I was thinking about creating a list of possible abilities (probably on a second sheet), lets say "play football", "cook", "ride a bike" and define that "Mike" can "play football.
For this to be useful I would also like to know how it is possible to be able to filter my contacts by ticking on the list of abilities I am looking for.
There are a couple of ways to tackle this.
1) Make a table that has contacts and abilities all together. This means that you will repeat the contact info if a person has multiple abilities. Each row will be the unique combination of contact + ability. If you want to limit the options for ability to specific choices, create your list of abilities and use data validation to create a drop-down list of these values in your abilities column.
2) Make 3 tables: 1-Contact, 2-Abilities, 3-Map of Contacts to Abilities (each row contains the unique identifier for a contact and the unique identifier for an ability). I'm not sure if you really intend to make a database or just something in Excel that works. If you can use PowerPivot, that would be a good solution without needing another application to create your db. Bring your 3 tables into PowerPivot. Create a relationship between table 3 and table 1. Create a relationship between table 3 and table 2.