Resolving lookup column value

We have the following data model
My_Source_Table (Column1,Column2, Column3...)
My_Stage_Table (Column1,Column2, Column3...Res_Lookup_Value....)
My_Target_Table (Column1,Column2, Column3...other columns)
My_Interface1 operates on My_Source_Table --> My_Stage_Table
My_Interface2 operates on My_Stage_Table --> My_Target_Table
While populating the My_Lookup_Column in the My_Stage_Table, the following logic must be used
My_Stage_Table.My_Lookup_Column =
1. Column1 in My_Source_Table WHERE My_Source_Table.Column2 = My_Stage_Table.Column3
2. If no value is obtained in step1, Lookup for Column1 in My_Target_Table WHERE My_Target_Table.Column2 = My_Stage_Table.Column3
How can we populate this Res_Lookup_Value column in ODI ?

Hi,
Is it that logic mentioned here is for interface 1 or what?
one more thing
what you are tryig to say in bolded lines
While populating the My_Lookup_Column in the My_Stage_Table, the following logic must be used
My_Stage_Table.My_Lookup_Column =
1. Column1 in My_Source_Table WHERE My_Source_Table.Column2 = My_Stage_Table.Column3
2. If no value is obtained in step1, Lookup for Column1 in My_Target_Table WHERE My_Target_Table.Column2 = My_Stage_Table.Column3
How can we populate this Res_Lookup_Value column in ODI ?
thanks,
Madha

Similar Messages

  • Infopath display lookup column value

    Hi
    I have a Infopath 2010 form with which displays an employee record. Some of the columns are lookup from a sharepoint list.
    How can I display the value of the lookup column instead of Id in the form.
    The form has the main connection and the secondary connection for the lookup sharepoint lists.
    The sharepoint lookup column is set to "Title" in additional column settings. Add a column to show each of the additional fields are all unchecked.
    I searched google, but couldnt find an answer.
    I tried to do the way described in http://sharepointsolutions.com/sharepoint-help/blog/2011/11/get-infopath-to-display-lookup-column-value-not-id/ 
    But get error , since it works for repeated table. 
    Any Ideas?
    Thanks
    Venky

    Hi Venky,
    How did you create your look up  column? Which column type is the column which your look up column looks for?
    By my test, it is default behavior that the InfoPath form display the value of the lookup column.
    Thanks,
    Eric
    Forum Support
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact
    [email protected]
    Eric Tao
    TechNet Community Support

  • Append Lookup Column Values using SharePoint Designer Workflow

    Hi all,
    I can set the value of a lookup column using number;#itemname (ex. 1;#MyValue), but I need to add a value to a lookup column that has existing values. I have tried setting the lookup column to the current value plus the new value, but it fails. Please assist.
    Regards,
    Kelly
    Personal Blog: http://thebitsthatbyte.com

    This would fail because when using a lookup, that value must exist. The lookup creates a reference and if it can't find the reference in the list it's looking up to, it will fail. If you want to set it to something that is not in that list, then you'd
    either need to add it to the list first (run a loop through the list and check to see if it's there, Yes=set the field, No=create new item in list and then set field) or use a single line of text field.
    Andy Wessendorf SharePoint Developer II | Rackspace [email protected]

  • Lookup columns values not visible in Sharepoint designer

    I had created a lookup column for a list.
    I had generated a stp and created a new list in the new environment.
    The lookup columns were not working, so i created new columns with the existing name.
    But when i eid t aview in designer, i dont seem to find the clumn values.
    Could you please help.

    Hi,
    It is known issue that on exporting list items, look up column values are lost.
    For your issue, you can take steps as below to retain look up column values in export list template:
    1. Browse to the source Web’s lookup list “Sub Category” and choose Modify settings and columns.
    2. Copy the source lookup list GUID from the URL. It should be a sequence of numbers and letters similar to:  %7BFFA47BF8%2D849C%2D4F20%2D9C50%2D173D2F5B6725%7D.
    3. Browse to the destination Web’s lookup list and choose Modify settings and columns.
    4. Copy the destination lookup list GUID from the URL. Similar as point 2.
    5. Delete %2D from the string and replace with a dash sign (-). There should be no dash sign (-) at the start and the end. GUID should be in the following format: FA47BF8-849C-4F20-9C50-173D2F5B6725
    6. Save the source Web’s list that contains a lookup column “Category” to the lookup list as a list template called category.stp.
    7. Export the list template STP from the source list template gallery to the file system.
    8. Rename the category.stp file to category.cab so Windows can open it.
    9. Open the file, right click on the manifest.xml file and export it to the file system.
    10. Edit the manifest.xml file; find the source Web’s lookup list GUID and replace it with the destination Web’s lookup list GUID.
    11. Save the manifest.xml file.
    12. Open a VS.NET command prompt.
    13. Run the makecab command as: makecab manifest.xml category.stp
    14. Import the new STP into the destination Web’s list template gallery. You will need to delete it if it has previously been imported.
    Reference:
    http://sharepointknowledgebase.blogspot.com/2012/09/retain-look-up-column-values-in-export.html#.VPg8d3kcQiQ
    Best Regards,
    Eric
    TechNet Community Support
    Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact
    [email protected]

  • Modify list view - Group by Lookup column's ID

    Hi
    I have a main list that has a lookup column. The grouping works fine, but I want the sort order of the group to appear as the way the lookup value's ID is ...
    What are the ways to achieve this, I do not want to put a number in front of the values, is there another way to do this

    I understand that you don't want to add additional info in front of the lookup column values to keep the value exactly as expected.
    as SharePoint 2010 allows to lookup additional fields, I would suggest to lookup the item ID also with the lookup column.
    1. create a lookup column lookup your expected list.
    2. in the lookup column settings, "Add a column to show each of these additional fields", check "ID" column.
    3. group by the list view with the additional ID instead.
    There is an issue by doing this step, the groupby title value is the lookup ID column not the original lookup column, as we actually doesn't use the lookup columnn with grouping.
    For this, you can use SharePoint Designer to edit the list view, change the groupby row cell to the lookup column value instead.
    Qiao Wei <br/> My blog:http://blog.goobol.com

  • Filter the secondary datasource based on lookup column

    Hello All,
    I am customizing a List form. I have a secondary data connection which is
    a datasource for my drop down list. I have to filter the datasource based on Lookup column value.
    I know how to filter on the datasource by going to entries and filtering but it does not work with Lookup column.
    Can anyone let me know step by step procedure.
    Regards,
    smith
    smith

    Hi,
    According to your post, my understanding is that you wanted to filter the secondary datasource based on lookup column.
    I recommend to create a cascading drop-down list box in InfoPath.
    You can follow the steps in the article to achieve what you want:
    Create Cascading Dropdown in Browser enabled InfoPath form using InfoPath 2010
    More information:
    Cascading Drop Down List In SharePoint 2010
    Cascading Drop-Down List in SharePoint 2010 using InfoPath 2010
    Dan's SharePoint Blog: InfoPath Tutorial Cascading Dropdown (Does not have the 20 item limit)
    Best Regards,
    Linda Li
    Linda Li
    TechNet Community Support

  • [Forum FAQ] SharePoint 2013: Extracting values from a multi-value enabled lookup column and merge values to a multi-value enabled column

    For some business requirements, users want to extract values from a multi-value enabled lookup column
    and add items to another list based on each separate value. In contrast, others want to find duplicate values in the list and merge associated values to a multi-value enabled column and then
    add items to another list based on the merged value. All of these can be achieved using SharePoint Designer 2013 Workflow.
    How to extract values from a multi-value enabled lookup column and add items to another list based
    on each separate value using SharePoint Designer 2013.
    Important actions: Loop Shape; Utility Actions
    Three scenarios
    Things to note
    Steps to create Workflow
    How to merge values to a multi-value enabled column and add item to another list based on the
    merged value using SharePoint Designer 2013.
    Important actions: Call HTTP Web Service; Build Dictionary
    Things to note
    Steps to create Workflow
    How to
    extract values from a multi-value enabled lookup column and
    add items to another list based on each separate value using SharePoint Designer 2013.
    For example, they have three lists as below. They want to
    extract values from the Destinations column
    in Lookup2 and add items to Lookup3 based on each country and set Title to current item: ID.
    Lookup1:
    Title (Single line of text)
    Lookup2:
    Title (Single line of text), Destinations (Lookup; Get information from: Lookup1 in Title column).\
    Lookup3:
    Title (Single line of text), Country (Single line of text).
    Important action
    1. Loop Shape: SharePoint Designer 2013 support two types of loops: loop n times and loop with condition.
    Loops must also conform to the following rules:
    Loops must be within a stage, and stages cannot be within a loop.
    Steps may be within a loop.
    Loops may have only one entry and one exit point.
    2. Utility Actions: It contains many actions, such as ‘Extract Substring from Index of String’ and ‘Find substring in String’.
    Three scenarios
    We need to loop through the string returned from the look up column and look for commas. There are three
    scenarios:
    1.  No comma but string is non-empty so there is only one country.
    2.  At least one comma so there is at least two or more countries to loop.
    3.  In the loop we have consumed all the commas so we have found the last country. 
    Things to note
    There are two things to note:
    1. "Find string in string (output to Variable:index)"  will return -1 if doesn't find
    the searched for string.
    2. In the opening statement "Set Variable: Countries to Current Item:Destinations" set the return
    field as  "Lookup Values, Comma Delimited".
    Steps to create Workflow
    Create a custom list named Lookup1.
    Create a custom list named Lookup2, add column: Destinations (Lookup; Get information from: Lookup1 in Title column).
    Create a custom list named Lookup3, add column: Country (Single line of text).
    Create a workflow associated to Lookup2.
    Add conditions and actions:
    Start the workflow automatically when an item is created.
    Add item to Lookup2, then workflow will be started automatically and create multiple items to lookup3.
    See the below in workflow History List:
    How to merge values to a multi-value enabled column and add item to another list based on the
    merged value using SharePoint Designer 2013
    For example, they have three lists as below. They want to find duplicate values in the Title column in
    Lookup3 and merge country column to a multi-value enabled column and then add item to lookup2 and set the Title to Current Item: Title.
    Lookup1:
    Title (Single line of text)
    Lookup3:
    Title (Single line of text), Country (Single line of text).
    Lookup2:
    Title (Single line of text), Test (Single line of text).
    Important actions
    "Call HTTP Web Service"
    action: In SharePoint 2013 workflows, we can call a web service using a new action introduced in SharePoint 2013 named Call HTTP Web Service. This action
    is flexible and allows you to make simple calls to a web service easily, or, if needed, you can create more complex calls using HTTP verbs as well as allowing you to add HTTP headers.
    “Build Dictionary"
    action:
    The Dictionary variable type is a new variable type in the SharePoint 2013 Workflow.
    The following are the three actions specifically designed for the Dictionary variable type: Build Dictionary, Count Items in a Dictionary and Get an Item from a Dictionary.
    The "Call HTTP Web Service" workflow action would be useless without the new "Dictionary" workflow action.
    Things to note
    The
    HTTP URI is set to https://sitename/_api/web/lists/GetByTitle('listname')/items?$orderby=Id%20desc and the HTTP method is set to “GET”. Then the list will be sort by Id in descending order.
    Use Get
    d/results(0)/Id form
    Variable: ResponseContent (Output to
    Variable: maxid) to get the Max ID.
    Use Set
    Variable: minid to Current List:ID to get the Min ID.
    Use Copy from
    Variable: destianation , starting at
    1 (Output to
    Variable: destianation) to remove the space.
    Steps to create Workflow
    Create a custom list named Lookup1.
    Create a custom list named Lookup2, add column: Test (Single line of text).
    Create a custom list named Lookup3, add column: Country (Single line of text).
    Create a workflow associated to Lookup3.
    Add a new "Build Dictionary" action
    to define the http request header:
    Add a Call HTTP Web Serviceaction, click on
    this and paste your http request.
    To associate the
    RequestHeader variable, select the Call action property,
    set the
    RequestHeaders property to
    RequestHeader:
    In the Call action, click on
    response and associate the response to a new
    variable: ResponseContent (of type Dictionary).
    After the Call action add Get item from Dictionary action to get the Max ID.
    Add Set Workflow Variable action to get the Min ID.
    Add Loop Shape (Loop with Condition) to get all the duplicate titles and integrate them to a string.
    Create item in Lookup2.
    The final Stage should look like this:
    Start the workflow automatically when an item is created.
    Add item to Lookup3, then workflow will be started automatically and create item to lookup2.
    See the below in workflow History List:
    References
    SharePoint Designer 2013 - Extracting values from a multi-value enabled lookup column into a dictionary as separate items:
    http://social.technet.microsoft.com/Forums/en-US/97d34468-1b53-4741-88b0-958472f8ca9a/sharepoint-designer-2013-extracting-values-from-a-multivalue-enabled-lookup-column-into-a
    Workflow actions quick reference (SharePoint 2013 Workflow platform):
    http://msdn.microsoft.com/en-us/library/jj164026.aspx
    Understanding Dictionary actions in SharePoint Designer 2013:
    http://msdn.microsoft.com/en-us/library/office/jj554504.aspx
    Working with Web Services in SharePoint 2013 Workflows using SharePoint Designer 2013:
    http://msdn.microsoft.com/en-us/library/office/dn567558.aspx
    Calling the SharePoint 2013 Rest API from a SharePoint Designer Workflow:
    http://sergeluca.wordpress.com/2013/04/09/calling-the-sharepoint-2013-rest-api-from-a-sharepoint-designer-workflow/

    GREAT info, but it may be helpful to note that when replacing a portion of the variable "Countries" with a whitespace character, you may cause the workflow to fail in a few specific cases (certain lookup fields will not accept this and will automatically
    cancel).  I only found this out when recreating your workflow on a similar, but much more complex list set.  
    To resolve this issue, I used another utility action (Extract Substring from Index of List) to clear out the whitespace.  I configured it as "Copy from
    Variable: Countries, starting at
    1 (Output to Variable: Countries), which takes care of this issue in those few cases.
    Otherwise, WOW!  AWESOME JOB!  Thanks!  :)

  • Disbaling a value of a lookup column not to display the underlying record

    I have a lokup column to a different list.
    So, when it displays the record the data is displayed in hyperlinked way so that when we click on the hyperlink, it will take us to the view form of that record in a different list.
    Could you please let me know, how do we make the hyperlinkdisplay as normal text just like any other column other than the title column value.
    tnx

    Hi, 
    Thanks for posting your issue, To remove your Hyperlink for lockup column you need to replace below tag
    <xsl:value-of disable-output-escaping="yes" select="@mycolumn"/>
    By:
    <xsl:value-of disable-output-escaping="yes" select="substring-after(substring-before(substring-after(@mycolumn, 'ID='), '&lt;'), '&gt;')"/>
    Also, browse the below mentioned URL for more details
    http://thechriskent.com/2012/08/31/remove-lookup-column-link-from-view/
    I hope this is helpful to you, mark it as Helpful.
    If this works, Please mark it as Answered.
    Regards,
    Dharmendra Singh (MCPD-EA | MCTS)
    Blog : http://sharepoint-community.net/profile/DharmendraSingh

  • Reading values from lookup columns through custom workflow in SharePoint 2013

    We are able to read the values of text, number columns through custom workflow (via coding) in SharePoint 2013. However, we are not able to read values from lookup columns. So, request anyone to provide help on this.
    Thanks & regards,
    Aditya

    Hi,
    According to your post, my understanding is that you want to read values from lookup columns through custom workflow in SharePoint 2013.
    Since the workflow just doesn't get lookup fields, let's give it something static to work with instead. If we can capture the ID of the lookup field and store that as a static value in our list, the workflow can happily use that to look up our related.
    For more information, you can refer to:
    SharePoint 2013 Workflows and Lookup Columns
    Thanks,
    Linda Li                
    Forum Support
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact
    [email protected]
    Linda Li
    TechNet Community Support

  • Reporting counts on multi-value lookup columns

    Hi,
    I have a list containing 2 columns - student, and subjects. Subjects is a multi-value lookup column. Students may study multiple subjects. What I'm trying to achieve is a simple pie chart (I don't care if it's done using SharePoint Web Part, Excel or
    SSRS) that displays a breakdown of how many students are studying each subject.
    So if I have 2 list entries:
    Person 1, Science, Maths
    Person 2 , Maths
    Person 3 , Science
    The report/chart would report  2 Science and 3 Maths. What I'm struggling with is that because the data is stored in an un-normalized fashion ('#;') separated it's not possible to do straight charts without coding (C# or VBS). I
    would have assumed that this issue would be widely spread but I've had no luck looking through forums. Does anyone have any experience/;ideas on how to handle this??
    Thanks.
    MDB

    Hi
    From your description, my understanding is that you want to get counted values of a Multi-Value lookup column.
    You can get counted values of a Multi-Value lookup column
    in DVWP using XSLT.
    Refer to the following post:
    https://social.msdn.microsoft.com/Forums/en-US/f9d4cf16-4460-48a7-9514-dee19503b9fc/getting-counted-values-of-a-multivalue-lookup-column-in-dvwp-using-xslt?forum=sharepointdevelopmentprevious
    Best Regards,
    Lisa Chen
    TechNet Community Support
    Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact
    [email protected]

  • PowerShell: Update SharePoint multiple value lookup column?!

    Hi.
    I have some PowerShell scripts that access, update and insert data into various SharePoint 2010 lists. This all works nicely but there is one thing I'm having trouble with. I want to populate a lookup column in a list with multiple values. The column allows
    multiple values and has many such records inserted manually - but I cannot do this using PowerShell. I can update the lookup column using a single "ID" lookup value - but not with multiple values.
    I cannot find any documentation on how to do this using PowerShell. I have seen some examples (C#?) but there's little help in them.
    Any suggestions?
    Thank you,
    Markus
    Markus Sveinn Markusson

    Well, being impatient in nature, I did a lot of browsing and searching - and finally found a solution that works for me - in this thread:
    http://social.technet.microsoft.com/Forums/en/winserverpowershell/thread/3788a0ff-7011-4aea-bcc6-96a276a50e60. Adapted
    to my code it looks like this:
    $spAssignment = Start-SPAssignment
    $spList = (Get-SPWeb -identity
    http://site.domain.com -AssignmentCollection $spAssignment).Lists["Tickets"]
    $spNew = $spList.Items.Add()
    $spNew["Title"] = $Title
    $spNew["Assigned To"] = $AssignID
    $spNew["Description"] = $Descr
    $spNew["Priority"] = $Priority 
    #----- Begining of "solution"
    $lookupentry1 = New-Object Microsoft.Sharepoint.SPFieldLookupValue(1,"Service 1")
    $lookupentry2 = New-Object Microsoft.Sharepoint.SPFieldLookupValue(2,"Service 2")
    $lookupentry3 = New-Object Microsoft.Sharepoint.SPFieldLookupValue(3,"Service 3")
    $multientry = New-Object Microsoft.Sharepoint.SPFieldMultiChoiceValue($null)
    $multientry.Add($lookupentry1)
    $multientry.Add($lookupentry2)
    $multientry.Add($lookupentry3)
    $spNew["Service"] = $multientry
    #----- End of "solution"
    $spNew.Update()
    Regards,
    Markus
    Markus Sveinn Markusson

  • Sharepoint lookup column displaying ID instead of text value in PowerPivot window

    HI
    I exported the datafeed into the PowerPivot. However, the lookup columns that appear in the PowerPivot shows the ID of the value, instead of the text value. How do I get the values to appear in the PowerPivot instead of the ID. 

    Cally, is this still an issue?
    Thank you!
    Ed Price, Azure & Power BI Customer Program Manager (Blog,
    Small Basic,
    Wiki Ninjas,
    Wiki)
    Answer an interesting question?
    Create a wiki article about it!

  • REST API - Can't expand Title of lookup columns "System.ArgumentException : Value does not fall within the expected range"

    I have a list that has more than 12 columns of type lookup with more than 5000 items and I am using a date field as an indexed column so I can restrict the results to meet the list view threshold.  I am also using $select to restrict the columns to
    meet the lookup column threshold.
    If I run the query below it all works as expected:
    _api/web/Lists/MyList/items/?$Filter=Created gt '2015-03-10T05:00:00.000Z' and Created lt '2015-03-17T18:25:00.712Z'&$select=Lookup1/Id&$expand=Lookup1
    If I run this query it does not work:
    _api/web/Lists/MyList/items/?$Filter=Created gt '2015-03-10T05:00:00.000Z' and Created lt '2015-03-17T18:25:00.712Z'&$select=Lookup1/Title&$expand=Lookup1
    Error:
    <m:error xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
    <m:code>-2147024809, System.ArgumentException</m:code>
    <m:message xml:lang="en-US">Value does not fall within the expected range.</m:message>
    </m:error>
    The lookup column "Lookup1" is using Title as the column's information and this should be working.  What is interesting is that changing the lookup threshold has no effect on this but raising the list item view limit does make it work.  The
    date range is selecting less than 5000 items.  So what am I missing here? I just want the Title for the lookup column and my query has about 10 items in it.

    Looking through the logs the error is thrown due to the following error messages:
    03/19/2015 08:26:12.12 w3wp.exe (0x6D34)
    0x7F38 SharePoint Foundation
    Fields 84h8
    High Field with internal name 'LookupFieldName_x005f_Title' already exists in the field cache
    3446f49c-f2d2-d0a2-89f4-59dee19b2f45
    03/19/2015 08:26:12.12 w3wp.exe (0x6D34)
    0x7F38 SharePoint Foundation
    Fields ki9p
    High Unable to add join related fields to the Query.[Error 0x80070057]
    3446f49c-f2d2-d0a2-89f4-59dee19b2f45
    03/19/2015 08:26:12.12 w3wp.exe (0x6D34)
    0x7F38 SharePoint Foundation
    General xxpm
    High Unable to execute query: Error 0x80070057
    3446f49c-f2d2-d0a2-89f4-59dee19b2f45
    03/19/2015 08:26:12.12 w3wp.exe (0x6D34)
    0x7F38 SharePoint Foundation
    General 8e2s
    Medium Unknown SPRequest error occurred. More information: 0x80070057
    3446f49c-f2d2-d0a2-89f4-59dee19b2f45
    03/19/2015 08:26:12.12 w3wp.exe (0x6D34)
    0x7F38 SharePoint Foundation
    General aix9j
    High SPRequest.GetListItemDataWithCallback2: UserPrincipalName=<removed>, AppPrincipalName= ,pSqlClient=<null> ,bstrUrl=siteUrl ,bstrListName=<removed> ,bstrViewName=<null> ,bstrViewXml=<View
    Scope="RecursiveAll"><Query><Where><Eq><FieldRef Name="ID" /><Value Type="Counter">5481</Value></Eq></Where></Query><ViewFields><FieldRef Name="LookupFieldName"
    LookupId="TRUE" /><FieldRef Name="LookupFieldName_x005f_Title" /></ViewFields><ProjectedFields><Field Name="LookupFieldName_x005f_Title" Type="Looku ,fSafeArrayFlags=SAFEARRAYFLAG_DATES_IN_UTC
    3446f49c-f2d2-d0a2-89f4-59dee19b2f45
    The very first message states that it is unable to add join related fields, what could be the possible cause of this?  As you can see rather than specifying a date range which I know contains less than 5000 items, even filtering based on ID gives the
    same result.

  • Setting default value for lookup column in Sharepoint 2013 via powershell

    Hi,
    when I try to use the 2010 version of setting a default value to a lookup column ( colum.defaultvalue="1;#Open"), this is not longer supported in SharePoint 2013. The defaultvalue is always the alphabetically sorted first entry in the source
    list.
    How can I change this?
    Thanks for any help.
     Lutz

    Hi Lutz,
    You can set the default value of a look-up column. The code is very simple, just need to take care of the code below.
    $w = Get-SPWeb http://web
    $l = $w.Lists["MyDocumentLibrary"]
    $lf = $l.Fields["lookupColumn"]
    $i = $l.Items[0] #List item to update
    $lf.ParseAndSetValue($i,"1;#lookupvalue") #1;#lookupvalue refers to the ID of the lookup item and the value of the lookup item.
    $i.Update()
    As another example, if I wanted to update all the items in my document library that had the lookup value
    Pending, with the lookup value Complete;
    $w = Get-SPWeb http://myweb
    $l = $w.Lists["MyDocumentLibrary"]
    $lf = $l.Fields["lookupColumn"]
    foreach($i in $l.Items)
    if($i["lookupColumn"] -eq "1;#Pending")
    $lf.ParseAndSetValue($i,"2;#Complete")
    $i.Update()
    Indul Hassan
    Microsoft Community Contributor
    http://www.indulhassan.com
    You Snooze.. You Lose !!

  • Issues updating/setting multi value lookup columns via powershell

    Hi All,
         I have an issue updating multi values in a lookup field via powershell
    I can update a single value  lookup field as below but can't get to update if its multi value.
    As stated below when I hardcode it. It works.
    No idea what 'm missing. Any help will be appreciated.
    #Hardcoded works below as you can see i'm setting 3 values
    $array = @($realval.Split(';'))
    for ($i = 0; $i -lt $array.Count - 1; $i += 2)
    $word = $array[$i].Trim('#')
    $number = $array[$i+1].Trim('#')
    "$number $word"
    $lookupvalue1 = GetLookUpValues -val $number
    [Microsoft.SharePoint.SPFieldLookupValueCollection] $itemValues = New-Object Microsoft.SharePoint.SPFieldLookupValueCollection
    [Microsoft.SharePoint.SPFieldLookupValue] $lookupvalue = New-Object Microsoft.SharePoint.SPFieldLookupValue
    [Microsoft.SharePoint.SPFieldLookupValue] $lookupvalue2 = New-Object Microsoft.SharePoint.SPFieldLookupValue
    [Microsoft.SharePoint.SPFieldLookupValue] $lookupvalue3 = New-Object Microsoft.SharePoint.SPFieldLookupValue
    $lookupvalue.LookupId = 1
    $lookupvalue2.LookupId = 2
    $lookupvalue3.LookupId = 6
    $itemValues.Add($lookupvalue)
    $itemValues.Add($lookupvalue2)
    $itemValues.Add($lookupvalue3)
    #$itemValues.Add($lookupvalue)
    $CMRSItems["Event Type"] = $itemValues;
    Write-Host "items:" $itemValues
    $CMRSItems.Update()
    # This works when its updating only one value but when it needs to update multivalue it only updates the last one
    #so for example with the lookupvalue above only 6 gets updated below
    $array = @($realval.Split(';'))
    for ($i = 0; $i -lt $array.Count - 1; $i += 2)
    $word = $array[$i].Trim('#')
    $number = $array[$i+1].Trim('#')
    #$number
    "$number $word"
    #send param to GetLoolValues func to return records as SPFieldLookupValue
    $lookupvalue1 = GetLookUpValues -val $number
    #I can view the lookupvalue returned successfully
    #Write-Host $lookupvalue1
    [Microsoft.SharePoint.SPFieldLookupValueCollection] $itemValues = New-Object Microsoft.SharePoint.SPFieldLookupValueCollection
    #This LookupId returns 3 values like on the hardcoded one above like so :1,2,6
    $lookupvalue.LookupId = $number
    $itemValues.Add($lookupvalue)
    $CMRSItems["Event Type"] = $itemValues;
    #I can view the items returned successfully
    Write-Host "items:" $itemValues
    $CMRSItems.Update()

    The problem I can see with your code is that the below line of code, you are instantiating inside the for loop. This should have been outside the for loop as by keeping it inside the loop you are overriding the value.
    [Microsoft.SharePoint.SPFieldLookupValueCollection] $itemValues = New-Object Microsoft.SharePoint.SPFieldLookupValueCollection
    Please have a look at the below solution and modify your code as per your requirement. What I am trying to achieve in the below code is that I have a listA in which one of the field is being used as a multi-lookup in my listB.
    $lookupCollection = $something.split(";")
    $LookupMasterList=$web.Lists["ListA"]
    [Microsoft.SharePoint.SPFieldLookupValueCollection] $lookupValueCollection = New-Object Microsoft.SharePoint.SPFieldLookupValueCollection
    #Get the Lookup Item from Parent List
    foreach($item in $lookupCollection){
    IF([string]::IsNullOrEmpty($item.trim())) {
    continue;
    $LookupItem = $LookupMasterList.Items | Where-Object { $_.Item("FieldInternalName") -eq $item.trim()}
    if($LookupItem -ne $null)
    $myLookup = New-Object Microsoft.Sharepoint.SPFieldLookupValue($LookupItem.ID,$item.trim())
    $lookupValueCollection.Add($myLookup);
    #Set the Lookup field value
    if([string]::IsNullOrEmpty($lookupValueCollection)){
    continue;
    else{
    $newItem["Lookupfieldinternalname"] = $lookupValueCollection
    The above logic has no hard coding and it fetches the lookup information directly from the master list and generates a collection based on that. You can modify the above code as per your requirement.
    Geetanjali Arora | My blogs |

Maybe you are looking for

  • Validation error when using env-entry in web.xml

    I've added an env-entry element to my web.xml and it falls over at deploy time with a validation error. However, from what I can see, this is valid based on the schema. And infact, it matches the example in the weblogic doco - http://edocs.bea.com/wl

  • Flash CS4 Problem

    1 . Everytime I open flash it always say my license had expired so im thinking 1,000 dollars for flash for 3 months I unistall it and It still show FLV videos I double click it again and it says the same message I don't get it I uninstalled it alread

  • Flash audio player script played MP3 sped-up for only one user

    Hello all, My first post here; I hope this is the right forum for a general/newbie Flash question. I'm using a Flash audio player script that I got here: http://www.1pixelout.net/code/audio-player-wordpress-plugin/ Here it is on the web page, a few l

  • System-independent (and transportable) web service

    Hello, I would like to use a web service in my Interactive Form. Therefore, I created an RFC function module and created the corresponding web service. Then I launched SOAMANAGER to get the URL of the WSDL file, copy it, changed it a bit (removed the

  • Occurs

    what does it mean occurs 0 while creating an internal table and what wil happen if we wil not give occurs clause while creating an internal table?