This is probably a very basic question for devs who know their way around SSIS. I am working on migrating some data into D365 Online from excel. As someone else has worked on the CRM entity structure so I am not allowed to change it.
There is this one situation where a source attribute 'CourseFrequencyID' has 3 values but there are 3 corresponding fields/attributes in D365. For source value of '1', field CourseMorning in CRM should be true and CourseEvening as well as CourseWeekend are false. For CourseID value of 2, CourseEvening is true and the other two are false. Finally for CourseID value of 3, CourseWeekend is true whereas other two are false.
Now for the above scenario, I could simply create 3 Derived Columns and evaluate the values for each source record and map these columns to Dynamics CRM Desitination connector using Kingswaysoft.
But the tricky part is source could have multiple records that would get translated into only one row according to filtering criteria on the basis of a column in source called 'CourseID'. So we could potentially have 3 rows in excel each one with a different value of CourseFrequencyID for one Course and thus should translate into all three CourseMorning, CourseEvening and CourseWeekend all being set to true. At the same time some Courses will just have one row in excel and they should just have one corresponding field in CRM set to true and rest two set to False.
Currently I can't find a way to put an IF condition in Dynamics CRM Destination Upsert step to check if three fields already have their value set to True becaues of the previous loop, don't modify and set it to False. Is this possible? One workaround could be if I can loop through Excel rows for a single value of CourseID and just get all the values of CourseFrequencyID for that course, I don't think this is possible.