Import Multi-Value Picklists
Hello,
I believe it is not possible to import values to a multi-value picklist.
Does anyone know if this is true??
My requirement is to change an exisiting single picklist field to a new multi value field. So i've created the new field, but need to find a way to populate the data, short of doing 2000 records manually??
Any ideas?
Regards
Minesh
Hi
It is possible to import multi-select picklist values in CRM OnDemand by following these steps:
1. when creating the .csv file, make sure to separate the multiple values of the picklist by a semicolon.
For example, if we have a multi-value picklist set up with various first names and we want to import 4 names into this field, we would enter each name separated by a semicolon. Of course these values would have to exist in the field setup.
Account Name Location FirstName
Test Account New York Will;Dan;Kory;Tim
2. during the import, choose the Add New Value To Picklist option.
Hope this will help you.
Regards
Nisman
Similar Messages
-
Import Data in Multi Value Picklist
Hello,
Is there a way to import Data in Multi Values Picklist WITHOUT create the values MANUALLY before ?
Thank for your help.You need to manually create the values in a Multi Select picklist before doing your import.
-
How to import multi-value reference with Granfeldt PowerShell MA?
Hi,
I am trying to import multi-value reference into FIM (Group object).
I can import all attributes from source SQL, except Multivalue reference (into members attribute on Group object).
I have defined schema like this:
$obj = New-Object -Type PSCustomObject
$obj | Add-Member -Type NoteProperty -Name "Anchor-axs_profid|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "objectClass|String" -Value "role"
$obj | Add-Member -Type NoteProperty -Name "name|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "member|Reference[]" -Value ""
$obj
On source attribute I have members defined in one attribute, divided by ",".
Import script:
$Obj = @{}
$Obj.Add("objectClass", "role")
$Obj.Add("[DN]", "Role_"+$Object.$("axs_profid"))
$Obj.Add("axs_profid", $Object.$("axs_profid").ToString())
$Obj.Add("name", $Object.$("name").ToString())
if($Object.$("member").ToString() -ne "")
[string[]]$members = $Object.$("member").ToString().Split(',')
$Obj.Add("member", $members)
$Obj
When Full import is triggered, I get following error for roles with multiple users:
FIM Sync = staging-error
Event log =
The server encountered an unexpected error in the synchronization engine:
"BAIL: MMS(9588): d:\bt\32669\private\source\miis\shared\utils\libutils.cpp(7045): 0x8023040e (The distinguished name is invalid)
BAIL: MMS(9588): d:\bt\32669\private\source\miis\server\sqlstore\utils.cpp(229): 0x8023040e (The distinguished name is invalid)
BAIL: MMS(9588): d:\bt\32669\private\source\miis\server\sqlstore\nscsimp.cpp(5348): 0x8023040e (The distinguished name is invalid)
BAIL: MMS(9588): d:\bt\32669\private\source\miis\server\sqlstore\nscsimp.cpp(5753): 0x8023040e (The distinguished name is invalid)
BAIL: MMS(9588): d:\bt\32669\private\source\miis\server\sqlstore\nscsimp.cpp(686): 0x8023040e (The distinguished name is invalid)
BAIL: MMS(9588): d:\bt\32669\private\source\miis\server\sqlstore\csobj.cpp(12876): 0x8023040e (The distinguished name is invalid)
BAIL: MMS(9588): d:\bt\32669\private\source\miis\server\sqlstore\csobj.cpp(13976): 0x8023040e (The distinguished name is invalid)
BAIL: MMS(9588): d:\bt\32669\private\source\miis\server\sqlstore\csobj.h(1252): 0x8023040e (The distinguished name is invalid)
ERR_: MMS(9588): d:\bt\32669\private\source\miis\server\sync\syncstage.cpp(2018): ERR_: MMS(9588): d:\bt\32669\private\source\miis\server\sync\syncstage.cpp(612): ERR_: MMS(9588): d:\bt\32669\private\source\miis\server\sync\syncstage.cpp(647): Staging failed
0x8023040e: [21]ERR_: MMS(9588): d:\bt\32669\private\source\miis\server\sync\syncmonitor.cpp(2528): SE: Rollback SQL transaction for: 0x8023040e
Forefront Identity Manager 4.1.3559.0"
If I change the script to return only first member:
$Obj.Add("member", $members[0])
import is successfull and I can see referenced member in Group.
I have also tried to specify DN for both users and roles with the same outcome.
$Obj.Add("[DN]", "Role_"+$Object.$("axs_profid"))
I am using the latest version of PSMA: 5.5
Thanks for your help guys!I managed to solve this issue.
The problem was in string array (I always appended "," at the end of each value). MA then expected another value after the last comma.
The wrong approach:
[string[]]$members = $Object.$("member").ToString().Split(',')
The right approach:
[string[]]$members = $Object.$("member").ToString().TrimEnd(',').Split(',') -
Reporting on Multi Select Picklists
According to Doc ID 553362.1 Multi Value Picklists are available for Custom Reports. However, it does not appear in the list of fields in my Custom Object #2 reporting and/or analytics area. Can someone confirm they are available for reporting. Thanks
MSP is only available in Analytics subject areas and CO's are only available in Reporting Subject Areas. Contact Customer Care and create an enhancement request.
-
Importing multiple values to drop-down list
Hello is it possible to past or import multi values to a drop-down menu when creating a form?
Here's a simple demo that demonstrates populating a dropdown with items pasted in a text field: https://workspaces.acrobat.com/?d=sIJoabh12oYOY19AuTZ9yw
You are meant to copy & paste the resulting dropdown so it can be used in different form. -
MDM Import Manager - remove multiple values from a multi valued fiedl
Hi,
We have this multi-valued field and we would like to clean the values from it.
How can we do this using MDM Import Manager?
Example:
Article A
Field XPTO has values Z, T and P.
We want this field XPTO with no values. How can we do a mass actualization to clean the field for some articles?
Thanks and regards,
Maria*We have this multi-valued field and we would like to clean the values from it.
How can we do this using MDM Import Manager?
Example:
Article A
Field XPTO has values Z, T and P.
We want this field XPTO with no values. How can we do a mass actualization to clean the field for some articles?*
Hi Maria,
There can be multiple ways to achieve this -
1.After doing field mapping for XPTO you can set conversion filter for each of the values.
2.Value map with NULL.
3.Trigger a Workflow on import/record add,run assignment and make that field NULL.
4.Run mass update for conditional assignment based on that value of XPTO.
There can be more ways,whichever suits you best you can go ahead with that.
Hope it helped
Regards,
Ravi -
Using Import Man to load Data into Multi Value Fileds in a Qualified Table
Hi there,
When using the Import Manager, i can not use the "append" option to load data into my multi value field which is contained within my qualified table.
Manually it works fine on Data manager, so the field has been set up correctly. Only problem is appending the data during Import Manager Load.
Any reason why I do not have this option available during Field mapping in Import Manager. The selection options are shown but in gray.
Would appreciate any sugestions.
Chris HuggettThanks Sowseel
Its a good document but doesn't address my problem, maybe My problem isn't clear.
The structure(part of) that I have currently is as follows.
Main Table - Material
QFTable- MNF PN
LUField - MNF Name(Qualifier Single Value)
LUField - BU ID (Non Qualifier Multi Value)
TField - P/N- (Non Qualifier)
I know how to load data to the main and qualified tables, but what I can not do, using Import Manger, is updating the "LUField - BU ID (Non Qualifier Multi Value)" using the append functionality.
Thanks
Chris Huggett -
How To Import Into A Table with Multi-Value Fields
Hello:
I have a table with a multi-value field that contains states in which a company does business. It is multi-value because there can be more than one state. I tried to import a text tab-delimited file in which the data was arranged as follows:
Field1 Tab Field 2 Tab OR, WA, CA Tab
The "State field contained the multiple entries separated by a comma (like they appear in a query of the multi-value field), but it won't accept it. Does anyone know how to import into a multi-value field?
Thanks,
Rich Locus, Logicwurks, LLCJoana:
Here's the code I used to populate a multi-value field from a parsed field. The parsing routine could be greatly improved by using the Split function, but at that time, I had not used it yet. FYI... the field name of the multi-value field in
the table was "DBAInStatesMultiValue", which you can see in the example below how it is integrated into the code.
Option Compare Database
Option Explicit
Option Base 1
Dim strInputString As String
Dim intNumberOfArrayEntries As Integer
Dim strStateArray(6) As String
' Loop Through A Table With A Multi-Value Field
' And Insert Values Into the Multi-Value Field From A
' Parsed Regular Text Field
Public Function InsertIntoMultiValueField()
Dim db As DAO.Database
' Main Recordset Contains a Multi-Value Field
Dim rsBusiness As DAO.Recordset2
' Now Define the Multi-Value Fields as a RecordSet
Dim rsDBAInStatesMultiValue As DAO.Recordset2
' The Values of the Field Are Contained in a Field Object
Dim fldDBAInStatesMultiValue As DAO.Field2
Dim i As Integer
' Open the Parent File
Set db = CurrentDb()
Set rsBusiness = db.OpenRecordset("tblBusiness")
' Set The Multi-Value Field
Set fldDBAInStatesMultiValue = rsBusiness("DBAInStatesMultiValue")
' Check to Make Sure it is Multi-Value
If Not (fldDBAInStatesMultiValue.IsComplex) Then
MsgBox ("Not A Multi-Value Field")
rsBusiness.Close
Set rsBusiness = Nothing
Set fldDBAInStatesMultiValue = Nothing
Exit Function
End If
On Error Resume Next
' Loop Through
Do While Not rsBusiness.EOF
' Parse Regular Text Field into Array For Insertion into Multi-Value
strInputString = rsBusiness!DBAInStatesText
Call ParseInputString
' If Entries Are Present, Add Them To The Multi-Value Field
If intNumberOfArrayEntries > 0 Then
Set rsDBAInStatesMultiValue = fldDBAInStatesMultiValue.Value
rsBusiness.Edit
For i = 1 To intNumberOfArrayEntries
rsDBAInStatesMultiValue.AddNew
rsDBAInStatesMultiValue("Value") = strStateArray(i)
rsDBAInStatesMultiValue.Update
Next i
rsDBAInStatesMultiValue.Close
rsBusiness.Update
End If
rsBusiness.MoveNext
Loop
On Error GoTo 0
rsBusiness.Close
Set rsBusiness = Nothing
Set rsDBAInStatesMultiValue = Nothing
End Function
Public Function ParseInputString()
Dim intLength As Integer
Dim intStartSearch As Integer
Dim intNextComma As Integer
Dim intStartOfItem As Integer
Dim intLengthOfItem As Integer
Dim strComma As String
strComma = ","
intNumberOfArrayEntries = 0
strInputString = Trim(strInputString)
intLength = Len(strInputString)
' Skip Zero Length Strings
If intLength = 0 Then
Exit Function
End If
' Strip Any Leading Comma
If Mid(strInputString, 1, 1) = "," Then
Mid(strInputString, 1, 1) = " "
strInputString = Trim(strInputString)
intLength = Len(strInputString)
If intLength = 0 Then
Exit Function
End If
End If
' Strip Any Trailing Comma
If Mid(strInputString, intLength, 1) = "," Then
Mid(strInputString, intLength, 1) = " "
strInputString = Trim(strInputString)
intLength = Len(strInputString)
If intLength = 0 Then
Exit Function
End If
End If
intStartSearch = 1
' Loop Through And Parse All the Items
Do
intNextComma = InStr(intStartSearch, strInputString, strComma)
If intNextComma <> 0 Then
intNumberOfArrayEntries = intNumberOfArrayEntries + 1
intStartOfItem = intStartSearch
intLengthOfItem = intNextComma - intStartOfItem
strStateArray(intNumberOfArrayEntries) = Trim(Mid(strInputString, intStartOfItem, intLengthOfItem))
intStartSearch = intNextComma + 1
Else
intNumberOfArrayEntries = intNumberOfArrayEntries + 1
intStartOfItem = intStartSearch
intLengthOfItem = intLength - intStartSearch + 1
strStateArray(intNumberOfArrayEntries) = Trim(Mid(strInputString, intStartOfItem, intLengthOfItem))
End If
Loop Until intNextComma = 0
End Function
Regards,
Rich Locus, Logicwurks, LLC
http://www.logicwurks.com -
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! :) -
Crystal Reports For Eclipse - Multi-values not showing on page..
Tried two different ways to set params, but to no avail. Values seems to be set, but only one value appears on the report.The value is updated, so not an old value or anything.
Also if I look at the values I can see the values are set! The Field is set to multi=true and the height is big enough to display lots of date grow=true.
<%@page import="com.businessobjects.samples.JRCHelperSample" %>
<%@page import="com.crystaldecisions.report.web.viewer.CrystalReportViewer" %>
<%@page import="com.crystaldecisions.reports.sdk.ReportClientDocument" %>
<%@page import="com.crystaldecisions.sdk.occa.report.application.OpenReportOptions" %>
<%@page import="com.crystaldecisions.sdk.occa.report.lib.ReportSDKExceptionBase" %>
<%@page import="com.crystaldecisions.sdk.occa.report.reportsource.IReportSource" %>
<%@page import="com.crystaldecisions.sdk.occa.report.data.Fields" %>
<%@page import="com.crystaldecisions.sdk.occa.report.data.ParameterField" %>
<%@page import="com.crystaldecisions.sdk.occa.report.data.ParameterFieldDiscreteValue" %>
<%@page import="com.crystaldecisions.sdk.occa.report.data.Values" %>
<%@page import="com.crystaldecisions.reports.sdk.*" %>
<%@page import="com.crystaldecisions.sdk.occa.report.lib.*" %>
<%@page import="com.crystaldecisions.sdk.occa.report.data.*" %>
<%
// This sample code calls methods from the JRCHelperSample class, which
// contains examples of how to use the BusinessObjects APIs. You are free to
// modify and distribute the source code contained in the JRCHelperSample class.
try {
String reportName = "Report1.rpt";
ReportClientDocument clientDoc = (ReportClientDocument) session.getAttribute(reportName);
if (clientDoc == null) {
// Report can be opened from the relative location specified in the CRConfig.xml, or the report location
// tag can be removed to open the reports as Java resources or using an absolute path
// (absolute path not recommended for Web applications).
clientDoc = new ReportClientDocument();
// Open report
clientDoc.open(reportName, OpenReportOptions._openAsReadOnly);
// ****** BEGIN LOGON DATASOURCE SNIPPET ****************
// Database username and password
String connectString = "jdbc:oracle:thin:@localhost:1521:XE";
String driverName = "oracle.jdbc.OracleDriver";
String JNDIName = "";
String userName = "darren";
String password = "darren";
// logon to database
//JRCHelperSample.logonDataSource(clientDoc, userName, password);
// Switch all tables on the main report and sub reports
JRCHelperSample.changeDataSource(clientDoc, userName, password, connectString, driverName, JNDIName);
// ****** END LOGON DATASOURCE SNIPPET ****************
// Store the report document in session
session.setAttribute(reportName, clientDoc);
// Create the CrystalReportViewer object
CrystalReportViewer viewer = new CrystalReportViewer();
// set the reportsource property of the viewer
IReportSource reportSource = clientDoc.getReportSource();
viewer.setReportSource(reportSource);
// set viewer attributes
viewer.setOwnPage(true);
viewer.setOwnForm(true);
// MyParameter
String paramName = "MyParameter";
String theValue1 = "Hello";
String theValue2 = " World!";
// Method 2
//We will be using the ParameterFieldController quite a bit through-out the rest of this function.
ParameterFieldController paramFieldController = clientDoc.getDataDefController().getParameterFieldController();
// MULTI-VALUE DISCRETE PARAMETERS.
Object[] multiVals = {theValue1, theValue2};
// sReportName - the report that contains the specified parameter field.
// sFieldName - the parameter field name.
// newValue - the collection of values to be stored in the parameter field.
paramFieldController.setCurrentValues("", paramName, multiVals);
// Method 1
Values values = new Values();
values.add(theValue1);
values.add(theValue2);
ParameterField paramField = new ParameterField();
paramField.setName(paramName);
paramField.setAllowMultiValue(true);
paramField.setAllowCustomCurrentValues(true);
paramField.setCurrentValues(values);
Fields parameterFields = new Fields();
parameterFields.add(paramField);
viewer.setParameterFields(parameterFields);
viewer.setEnableParameterPrompt(true);
// Show parameter values to console
Fields fields = viewer.getParameterFields();
for (int i = 0; i < fields.size(); i++) {
ParameterField pf = (ParameterField)fields.get(i);
Values v = pf.getCurrentValues();
if (v.isEmpty()) {
System.out.println(pf.getName());
} else {
System.out.println("v.size(): " + v.size());
for (int j = 0; j < v.size(); j++) {
ParameterFieldDiscreteValue pfdv = (ParameterFieldDiscreteValue)v.get(j);
System.out.println(pf.getName() + " - " + pfdv.getValue());
// Apply the viewer preference attributes
viewer.refresh();
// Process the report
viewer.processHttpRequest(request, response, application, null);
Thanks in advance!This is not a support site but a community forum. For direct help purchase a case on line
-
Hey,
I created a report in Reporting Services where I added multi-value parameter
( Filter). When I run my report, and try to select more than one parameter, I get an error: Incorrect syntax near ','
then i put in parameter expression : join(Parameters!Filter.Value,",")
and add : dbo.ufnSplit before calling parameter in query :
>>> set @valwhere = 'table.field IN (select * from dbo.ufnSplit(' + @Filter + ' , '',''))'
but i still have errors : incorrect syntax near 'text' which is the second value of the picklist of the parameter,
Please Any idea ?
Thanks !!I have sometimes had to collate as default with the SQL query
currently I've just using
CompanyName in
(selectitemfromdbo.fnSplit(@function,','))
In the SSRS report text box I have Join(Parameters!Company.Value,",") -
How to pass multi-value input parameter to SQL command
I'm having trouble following the threads related to passing multi-value parameters to a SQL command.
I need more details on the work-around that exists for using a dummy main report to GET the input parameters and pass them to a subreport parameter that uses the input parameters in its sql command WHERE clause.
So far the main report prompts user to enter badge numbers into a multi-value string type parameter field called badgeNumber.
The main report getRequesters command executes the following SQL:
SELECT requester FROM lawprod.requester WHERE lawprod.requester.requester IN '{?badgeNumber}'
order by requester
The main report also contains a formula called requesterList that concatenates the input parameters and separates the values with commas: (Join ({?badgeNumber}, ", ")
So if user enters badge numbers 1 and 2 and 3 the value of requesterList is 1, 2, 3
From the main report I've used the Insert Subreport command to choose an existing report, and used the link tab to link @requesterList to ?requester; where ?requester is a multi-value parameter that is used in the subreport's SQL query as shown below:
WHERE (lawprod.ictrans.update_date <= {?endDate} AND
lawprod.ictrans.update_date >= {?startDate} AND
lawprod.ictrans.doc_type = 'IS' AND
lawprod.ictrans.system_cd = 'RQ' AND
lawprod.mmdist.posting_type = 'O1')
AND
(lawprod.ictrans.company = lawprod.mmdist.company AND
lawprod.ictrans.system_cd = lawprod.mmdist.system_cd AND
lawprod.ictrans.location = lawprod.mmdist.location AND
lawprod.ictrans.doc_type = lawprod.mmdist.doc_type AND
lawprod.ictrans.document = lawprod.mmdist.doc_number AND
lawprod.ictrans.shipment_nbr = lawprod.mmdist.doc_nbr_num AND
lawprod.ictrans.line_nbr = lawprod.mmdist.line_nbr AND
lawprod.ictrans.component_seq = lawprod.mmdist.component_seq)
AND
(lawprod.ictrans.company = lawprod.reqline.company AND
lawprod.ictrans.document = lawprod.reqline.req_number_a AND
lawprod.ictrans.line_nbr = lawprod.reqline.line_nbr AND
lawprod.reqline.company = lawprod.reqheader.company AND
lawprod.reqline.req_number = lawprod.reqheader.req_number)
AND
(lawprod.reqheader.requester in '{?requester}')
Following execution of the main report, Crystal appears to prompt for three values as expected: badge numbers for the main report, and start and end dates needed by the subreport. I can't figure out why Crystal XI returns no data. Can anyone explain what I'm missing?
Edited by: Patricia Sims on Sep 21, 2009 9:30 PMThe reason no data is returned is that the multiple values are not (properly?) passed to the main report's SQL. The main report's SQL should be (MS SQL):
select 1 as dummy
This causes exactly one record to be returned, which will basically be ignored (except the fact that it will drive the subreport; any query that returns only 1 record will suffice...).
Change the concatenation of the selected values to be (basic syntax):
formula = "|" + join({?badgeNumber}, "|") + "|"
The leading and trailing vertical bars are important (otherwise a database value of 1 might match a selection of 123).
Pass the concatenated string as the parameter value to the subreport. In your subreport, select records on (basic syntax):
formula = (instr({?sr-badgeParam}, "|"+cstr({requester},"0") + "|") > 0)
(assumes is numeric in the database, and is integer; modify or eliminate cstr() if otherwise...)
Put your subreport on the detail format of the main report, and you're all set...
HTH,
Carl -
Using "Update All Mapped Fields" with multi-value attributes
Is it possible to update a value in a multi-value attribute through the import manager? It appears that if a source value is different then it just gets added as another value to the record.
For example, a product has an attribute of speed which is measured in revolutions/minute. Some products can be rated at two speeds (i.e. 1800/3600).
I created a numeric attribute for speed and enable only nominal rating and selected multi-valued.
In import manager, I set "/" as multi delimiter for source field. This created two entries in destination attribute, 1800 and 3600.
However, if on subsequent imports the speed values changes for this record (i.e. 1200 and 1800) then I will now have 1200, 1800, and 3600 as values for this record.
Would the proper solution be to create two individual numeric attributes that are single valued (i.e. Speed1 and Speed2)?Hi Aaron,
in your example it would make sense to use two different attributes called "Speed1" and "Speed2". Using the multi value option, MDM allows you to store a list of values into a single field. This list is more or less unlimited, you can add as many values as you like. A change of an existing value is not possible. The reason is that Import Manager does not know, which value you've changed! So it simply adds the "new" record (which is the 1200 in your example) to your value list. This is the intended behaviour of the "update all mapped fields option". If you really want to replace the values, you can check if the "Replace" option is useable for you. But note, that the replace will replace the complete existing record with the incoming new one. This means if the product you want to import with the replace option is smaller than the existing one (maybe it does not contain values for all segments), you'll loose data in MDM.
BR Michael -
Problem to convert a optionset into multi selection picklist on crm 2013
Hey I meet a problème on my development see my result :
link : https://social.microsoft.com/Forums/getfile/652331
a multiple select list on my crm 2013 I do this process on this forum :
link : https://social.microsoft.com/Forums/en-US/2db47a59-165d-40c9-b995-6b3262b949eb/how-to-convert-a-optionset-into-multi-selection-picklist-in-crm-2011-using-javasacript?forum=crmdevelopment
my development :
// var_sc_optionset >> Provide schema-name for Option Set field
// var_sc_optionsetvalue >> Provide schema-name for field which will store the multi selected values for Option Set
// OS >> Provide Option Set field object
// OSV >> Provide text field object which will store the multi selected values for Option Set
//Method to convert an optionset to multi select Option Set
function ConvertToMultiSelect(var_sc_optionset, var_sc_optionsetvalue, OS, OSV)
if( OS != null && OSV != null )
OS.style.display = "none";
Xrm.Page.getControl(var_sc_optionsetvalue).setVisible(false);
// Create a DIV container
// var addDiv = document.createElement("<div style='overflow-y:auto; color:#000000; height:160px; border:1px #6699cc solid; background-color:#ffffff;' />");
var addDiv = document.createElement("div");
addDiv.style.overflowY = "auto";
addDiv.style.height = "160px";
addDiv.style.border = "1px #6699cc solid";
addDiv.style.background = "#ffffff";
addDiv.style.color = "#000000";
OS.parentNode.appendChild(addDiv);
// Initialise checkbox controls
for( var i = 1; i < OS.options.length; i++ )
var pOption = OS.options[i];
if( !IsChecked( pOption.text , OS, OSV) ){
// var addInput = document.createElement("<input type='checkbox' style='border:none; width:25px; align:left;' />" );
var addInput = document.createElement("input" );
addInput.setAttribute("type","checkbox");
addInput.setAttribute("style","border:none; width:25px; align:left;");
else {
// var addInput = document.createElement("<input type='checkbox' checked='checked' style='border:none; width:25px; align:left;' />" );
var addInput = document.createElement("input" );
addInput.setAttribute("type","checkbox");
addInput.setAttribute("checked","checked");
addInput.setAttribute("style","border:none; width:25px; align:left;");
// var addLabel = document.createElement( "<label />");
var addLabel = document.createElement( "label");
addLabel.innerText = pOption.text;
// var addBr = document.createElement( "<br />"); //it's a 'br' flag
var addBr = document.createElement( "br"); //it's a 'br' flag
OS.nextSibling.appendChild(addInput);
OS.nextSibling.appendChild(addLabel);
OS.nextSibling.appendChild(addBr);
///////Supported functions
// Check if it is selected
function IsChecked( pText , OS, OSV)
if(OSV.value != "")
var OSVT = OSV.value.split(";");
for( var i = 0; i < OSVT.length; i++ )
if( OSVT[i] == pText )
return true;
return false;
// var_sc_optionsetvalue >> Provide schema-name for field which will store the multi selected values for Option Set
// OS >> Provide Option Set field object
// Save the selected text, this field can also be used in Advanced Find
function OnSave(OS, var_sc_optionsetvalue)
var getInput = OS.nextSibling.getElementsByTagName("input");
var result = '';
for( var i = 0; i < getInput.length; i++ )
if( getInput[i].checked)
result += getInput[i].nextSibling.innerText + ";";
//save value
control = Xrm.Page.getControl(var_sc_optionsetvalue);
attribute = control.getAttribute();
attribute.setValue(result);
I have to do 2 field one is option list field and the second is textfield,
option list field : new_books
textfiled : new_picklistvalue
my js is on onload event see :
link : https://social.microsoft.com/Forums/getfile/652333
thanks you for you'r helpHey I meet a problème on my development see my result :
link : https://social.microsoft.com/Forums/getfile/652331
a multiple select list on my crm 2013 I do this process on this forum :
link : https://social.microsoft.com/Forums/en-US/2db47a59-165d-40c9-b995-6b3262b949eb/how-to-convert-a-optionset-into-multi-selection-picklist-in-crm-2011-using-javasacript?forum=crmdevelopment
my development :
// var_sc_optionset >> Provide schema-name for Option Set field
// var_sc_optionsetvalue >> Provide schema-name for field which will store the multi selected values for Option Set
// OS >> Provide Option Set field object
// OSV >> Provide text field object which will store the multi selected values for Option Set
//Method to convert an optionset to multi select Option Set
function ConvertToMultiSelect(var_sc_optionset, var_sc_optionsetvalue, OS, OSV)
if( OS != null && OSV != null )
OS.style.display = "none";
Xrm.Page.getControl(var_sc_optionsetvalue).setVisible(false);
// Create a DIV container
// var addDiv = document.createElement("<div style='overflow-y:auto; color:#000000; height:160px; border:1px #6699cc solid; background-color:#ffffff;' />");
var addDiv = document.createElement("div");
addDiv.style.overflowY = "auto";
addDiv.style.height = "160px";
addDiv.style.border = "1px #6699cc solid";
addDiv.style.background = "#ffffff";
addDiv.style.color = "#000000";
OS.parentNode.appendChild(addDiv);
// Initialise checkbox controls
for( var i = 1; i < OS.options.length; i++ )
var pOption = OS.options[i];
if( !IsChecked( pOption.text , OS, OSV) ){
// var addInput = document.createElement("<input type='checkbox' style='border:none; width:25px; align:left;' />" );
var addInput = document.createElement("input" );
addInput.setAttribute("type","checkbox");
addInput.setAttribute("style","border:none; width:25px; align:left;");
else {
// var addInput = document.createElement("<input type='checkbox' checked='checked' style='border:none; width:25px; align:left;' />" );
var addInput = document.createElement("input" );
addInput.setAttribute("type","checkbox");
addInput.setAttribute("checked","checked");
addInput.setAttribute("style","border:none; width:25px; align:left;");
// var addLabel = document.createElement( "<label />");
var addLabel = document.createElement( "label");
addLabel.innerText = pOption.text;
// var addBr = document.createElement( "<br />"); //it's a 'br' flag
var addBr = document.createElement( "br"); //it's a 'br' flag
OS.nextSibling.appendChild(addInput);
OS.nextSibling.appendChild(addLabel);
OS.nextSibling.appendChild(addBr);
///////Supported functions
// Check if it is selected
function IsChecked( pText , OS, OSV)
if(OSV.value != "")
var OSVT = OSV.value.split(";");
for( var i = 0; i < OSVT.length; i++ )
if( OSVT[i] == pText )
return true;
return false;
// var_sc_optionsetvalue >> Provide schema-name for field which will store the multi selected values for Option Set
// OS >> Provide Option Set field object
// Save the selected text, this field can also be used in Advanced Find
function OnSave(OS, var_sc_optionsetvalue)
var getInput = OS.nextSibling.getElementsByTagName("input");
var result = '';
for( var i = 0; i < getInput.length; i++ )
if( getInput[i].checked)
result += getInput[i].nextSibling.innerText + ";";
//save value
control = Xrm.Page.getControl(var_sc_optionsetvalue);
attribute = control.getAttribute();
attribute.setValue(result);
I have to do 2 field one is option list field and the second is textfield,
option list field : new_books
textfiled : new_picklistvalue
my js is on onload event see :
link : https://social.microsoft.com/Forums/getfile/652333
thanks you for you'r help -
How to convert a optionset into multi selection picklist in crm 2011 using javasacript??
hi,
where user want to select not only one but multiple value
from a pick list. I tried examples but it shows some errors.
How to do it??Hey I meet a problème on my development see my result :
link : https://social.microsoft.com/Forums/getfile/652331
a multiple select list on my crm 2013 I do this process on this forum :
link : https://social.microsoft.com/Forums/en-US/2db47a59-165d-40c9-b995-6b3262b949eb/how-to-convert-a-optionset-into-multi-selection-picklist-in-crm-2011-using-javasacript?forum=crmdevelopment
my development :
// var_sc_optionset >> Provide schema-name for Option Set field
// var_sc_optionsetvalue >> Provide schema-name for field which will store the multi selected values for Option Set
// OS >> Provide Option Set field object
// OSV >> Provide text field object which will store the multi selected values for Option Set
//Method to convert an optionset to multi select Option Set
function ConvertToMultiSelect(var_sc_optionset, var_sc_optionsetvalue, OS, OSV)
if( OS != null && OSV != null )
OS.style.display = "none";
Xrm.Page.getControl(var_sc_optionsetvalue).setVisible(false);
// Create a DIV container
// var addDiv = document.createElement("<div style='overflow-y:auto; color:#000000; height:160px; border:1px #6699cc solid; background-color:#ffffff;' />");
var addDiv = document.createElement("div");
addDiv.style.overflowY = "auto";
addDiv.style.height = "160px";
addDiv.style.border = "1px #6699cc solid";
addDiv.style.background = "#ffffff";
addDiv.style.color = "#000000";
OS.parentNode.appendChild(addDiv);
// Initialise checkbox controls
for( var i = 1; i < OS.options.length; i++ )
var pOption = OS.options[i];
if( !IsChecked( pOption.text , OS, OSV) ){
// var addInput = document.createElement("<input type='checkbox' style='border:none; width:25px; align:left;' />" );
var addInput = document.createElement("input" );
addInput.setAttribute("type","checkbox");
addInput.setAttribute("style","border:none; width:25px; align:left;");
else {
// var addInput = document.createElement("<input type='checkbox' checked='checked' style='border:none; width:25px; align:left;' />" );
var addInput = document.createElement("input" );
addInput.setAttribute("type","checkbox");
addInput.setAttribute("checked","checked");
addInput.setAttribute("style","border:none; width:25px; align:left;");
// var addLabel = document.createElement( "<label />");
var addLabel = document.createElement( "label");
addLabel.innerText = pOption.text;
// var addBr = document.createElement( "<br />"); //it's a 'br' flag
var addBr = document.createElement( "br"); //it's a 'br' flag
OS.nextSibling.appendChild(addInput);
OS.nextSibling.appendChild(addLabel);
OS.nextSibling.appendChild(addBr);
///////Supported functions
// Check if it is selected
function IsChecked( pText , OS, OSV)
if(OSV.value != "")
var OSVT = OSV.value.split(";");
for( var i = 0; i < OSVT.length; i++ )
if( OSVT[i] == pText )
return true;
return false;
// var_sc_optionsetvalue >> Provide schema-name for field which will store the multi selected values for Option Set
// OS >> Provide Option Set field object
// Save the selected text, this field can also be used in Advanced Find
function OnSave(OS, var_sc_optionsetvalue)
var getInput = OS.nextSibling.getElementsByTagName("input");
var result = '';
for( var i = 0; i < getInput.length; i++ )
if( getInput[i].checked)
result += getInput[i].nextSibling.innerText + ";";
//save value
control = Xrm.Page.getControl(var_sc_optionsetvalue);
attribute = control.getAttribute();
attribute.setValue(result);
I have to do 2 field one is option list field and the second is textfield,
option list field : new_books
textfiled : new_picklistvalue
my js is on onload event see :
link : https://social.microsoft.com/Forums/getfile/652333
thanks you for you'r help
Maybe you are looking for
-
Query help - Using Alias in column equation
Hi All, I have selected some data as an alias and would like to refer to the alias in another equation column. I cannot figure out how to do this correctly. Here is my full query below, with a NULL called '3 Mnth Average' column because I am unsure h
-
Multiple ipods, one computer: HELP!!
We have bought two ipod nanos for our family. I had used the CD to download one, and then used the 2nd CD that came with the 2nd ipod to download the 2nd nano. before installing the 2nd ipod, the computer required me to uninstall the first one. Did I
-
Hello Experts, I have some more interview questions on CC & AE please answer to these questions 1. What's the latest Support Pack for GRC 5.3? How it differs from the previous one? 2. What are the issues faced by you in ERM & CUP after golive? 3. Can
-
Cannot create virtual memory swap file
Hello, I'm getting an error message when i execute the query of a workbook. The message I receive is "Cannot create virtual memory swapfile "\EuZ"" Something to note is that my workbook opened and ran fine in the morning and started crashing in the a
-
Hello, i got Kernel Panic from time to time on my Mac Pro. I guess, as Mac-novice, that it is USB related. As you can see i am running an Elgato TV-Card on native USB and an USB Hub with several USB devices (i.e. Ipod, external drives etc..) Question