Multi-Valued Complex Value

I'm working on a custom resource adapter that will connect to a resource with the following structure.
user1
firstname:string
lastname:string
middlename:string
aliases
alias1
firstname:string
lastname:string
middlename:string
alias2
firstname:string
lastname:string
middlename:string
aliasN
firstname:string
lastname:string
middlename:string
What is the proper way to implement this in the adapter? I'm especially interested in setting up the prototypeXML properly. My thought is to use a multivalued attribute for aliases and then combine the firstname, lastname, and middlename of each alias into a single delimited value string to be parsed by the IDM forms. Is there a better way?
Thanks

If you're using IDM 8.0 or up I'd really suggest you use resource connectors. The connector programming interface is significantly easier to use than the resource adapter interface.
If you're stuck in the resource adapter framework then you're pretty much limited to the basic data types an adapter supports, integers, strings and lists (arraylists to be exact). It's not really possible to add complex data types without hacking in your own technique, like you suggested as comma delimiting the data.

Similar Messages

  • [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!  :)

  • Reporting Services Multi Value Parameter

    I have an SSRS 2005 report that I want to enable for multi value. However, I always run into the issue with the way it passes multiple values. How exactly do I get a multi-value parameter setup and working on both the report AND SQL side?
    I used the MS example of checking the multi checkbox for the parameter and then using a WHERE Column IN (@MultiParam), but this doesn't work. When you select one item, or is it multiple I can't remember, it fails. I really appreciate the help!
    Nathon Dalton
    Software Developer
    Systems Administrator
    Network Administrator
    Blog: http://nathondalton.wordpress.com

    Here's a sample of the SQL stored procedure that I use to get the dataset:
    Create
     proc [dbo].[spStoredProcName]
    @supervisor
    varchar(max) 
    as
    begin
    create
    table #tempSups
    Supervisor
    varchar(62)
    declare
    @i
    int
    select
    @i = 0
    select
    @i =
    charindex(',',@supervisor
    begin
    if @i
    <> 0
    while @i
    >0
    begin 
    insert
    into #tempSups
    values
    (ltrim(rtrim(left(@supervisor,
    @i-1))))
    select @supervisor
    =
    right(@supervisor,
    len(@supervisor)
    - @i)
    select @i
    =
    charindex(',',
    @supervisor)
    end
    end
    insert
    into #tempSups
    values
    (ltrim(rtrim(@supervisor)))
    From there, simply join your query to the temp table

  • CASE Statement in Where Condition with Multi Valued parameter in SSRS

    Hi All,
    I am little confused while using CASE statement in Where condition in SSRS. Below is my scenario:
    SELECT
    Logic here
    WHERE
    Date IN (@Date)AND
    (CASE
    WHEN NAME LIKE 'ABC%' THEN 'GROUP1'
    WHEN ID IN ('123456', '823423','74233784') THEN 'GROUP2'
    WHEN ABC_ID IS NULL THEN 'GROUP3'
    ELSE 'GROUP4'
    END ) IN (@GROUP)
    So above query uses WHERE condition with CASE statement from @GROUP parameter. I want to pass this parameter as multi- valued parameter and hence I have used CASE statement IN (@GROUP).
    For @Date one dataset will pass the available and default values and
    for @GROUP parameters, another dataset will pass the available and default values.
    But this is not working as expected. Please suggest me where I am making mistake in the query.
    Maruthu | http://sharepoint-works.blogspot.com

    Hi Maruthu,
    According to your description, I create a sample report in my local environment. It works as I expected. In your scenario, if the selected values from the Date parameter contains some of the Date field values, the selected values from the GROUP parameter
    contains some of GROUPS (‘GROUP1’,’GROUP2’,’GROUP3’,’GROUP4’) and the corresponding when statement is executed , then the dataset returns the corresponding values.
    In order to trouble shoot this issue, could you tell us what results are you get and what’s your desired results? If possible, you can post the sample data with sample dataset, then we can make further analysis and help you out.
    Thanks,
    Katherine Xiong
    Katherine Xiong
    TechNet Community Support

  • SSRS : Reporting Services - Multi-Value Parameter Issue

    Hi,
    This problem is been around the blogs and forums for while now but may be it's not answered to the fullest. I couldn't get any satisfactory or completed solution on the issue so far, any clues/help will be highly appreciated.
    My scenario is very simple :-
    I am using SQL Server 2005 and SSRS. I need to develop a report which has a parameter value called Customer Name. The users should be able to select multiple customers from the list and sometimes Select All also.  I tried the following :-
    Created two data sets : Second dataset is just to populate the Customer Name
    Created a Report Parameter and mapped with the query parameter where it says  "Where CName in (@Parameter1)"
    Nothing seems to be working although I tried to apply all the existing half-way solutions currently available in the forums. May be I am not getting to the right solution.
    Here is what's happening :-
    When used '?' like "where CName = ?" then it's working fine for the single value. {Multi value query cannot be used with ?}
    But for multiple values when used @Parameter1 like "where CName in (@Parameter1)" it's giving the following error
    Cannot add multi value query parameter '@Parameter1' for data set 'Dataset1' because it is not supported by the data extension.
    However if commented this line it's pulling all the values whether or not selected from the parameter list.
    This is the basic thing which I was not able to get the desired result, in addition I was looking to get the Customer Name parameter selected with a partial entry as we use LIKE. Example :- If the user enters 'St' in the text box the list should show all the names starting from those two letters
    Starter
    Steve
    Steven
    Stevenson etc.
    I am not sure whether I'll will be able to get to this extent or not but until the multi value parameter, I am desperate to get the solution. So any sort of help/advise is highly appreciated.
    Regards,

    Hi,
    This problem is been around the blogs and forums for while now but may be it's not answered to the fullest. I couldn't get any satisfactory or completed solution on the issue so far, any clues/help will be highly appreciated.
    My scenario is very simple :-
    I am using SQL Server 2005 and SSRS. I need to develop a report which has a parameter value called Customer Name. The users should be able to select multiple customers from the list and sometimes Select All also.  I tried the following :-
    Created two data sets : Second dataset is just to populate the Customer Name
    Created a Report Parameter and mapped with the query parameter where it says  "Where CName in (@Parameter1)"
    Nothing seems to be working although I tried to apply all the existing half-way solutions currently available in the forums. May be I am not getting to the right solution.
    Here is what's happening :-
    When used '?' like "where CName = ?" then it's working fine for the single value. {Multi value query cannot be used with ?}
    But for multiple values when used @Parameter1 like "where CName in (@Parameter1)" it's giving the following error
    Cannot add multi value query parameter '@Parameter1' for data set 'Dataset1' because it is not supported by the data extension.
    However if commented this line it's pulling all the values whether or not selected from the parameter list.
    This is the basic thing which I was not able to get the desired result, in addition I was looking to get the Customer Name parameter selected with a partial entry as we use LIKE. Example :- If the user enters 'St' in the text box the list should show all the names starting from those two letters
    Starter
    Steve
    Steven
    Stevenson etc.
    I am not sure whether I'll will be able to get to this extent or not but until the multi value parameter, I am desperate to get the solution. So any sort of help/advise is highly appreciated.
    Regards,
    you speak spanish

  • 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

  • Retrieving empty values from multi value string in user profile custom properties

    Hi,
    I created a webpart to save and retrieve data from custom properties. I use the code below to get the stored data:
    for (int i = 0; i < profile[property].Count; i++)
    Item = profile[property][i] == null ? string.Empty : profile[property][i].ToString();
    list.Add(Regex.Split(Item, @"\,\#"));
    Nothinig special about it.
    In my development environment, it works fine. The problem is  in my UAT environment. I'm facing an issue that i hope someone has been through. When the custom property is a multi value string type, it returns a empty string. I tested with HTML and single
    value fields and it works fine.
    Independently of the field type, it saves the data all right.
    Can anyone help me?
    Thanks!!

    Thanks, Chitvan Jain.
    I did as you suggested, but nothing changed. The problem is that profile[propname] comes already blank when using multi value property, even if there is data  to be retrieved.
    One funny thing is that, somehow the code manages to count the number of values there is in the property. Only the data is missing. We can see the exact number of column, cause i check if there's the right number of data, if there isn't, i add up  a empty
    string on the grid cell, but only for viewing. The empty string is not stored in the property.

  • SSAS report action to pass multi-value list of dimention key values to a SSRS report parameter

    This was originally posted on StackOverflow and suggested I try here as well.
    I want to create a report action in an SSAS OLAP cube that generates a list of formatted values to pass into an SSRS report parameter that accepts a multi-valued parameter list.  This would be applied at the
    cell level in the SSAS action.  I have found a solution that gets me most of the way:
    How to Pass Multiple Values from an SSAS Report Drill Through Action to an SSRS Multi-Value Parameter, but not quite.  The action does appear in Excel and works
    if I run the action from a cell that is at or below the dimension attribute I am generating the list for, in this case,
    Account Key.
    Below is a link to a screen capture (unable to embed it due to lack of reputation) showing the action and dimension structure in Excel.  The action works as long as I run it at the
    Account Key level or below.  I want to be able to run it at higher levels, such as
    Account Major and still have it generate all then related Account Key values for the SSRS report parameter.  Running it at the higher
    Account Major level does not trigger the report to run.
    Excel Action Screen Shot:
    http://i.stack.imgur.com/QCGSp.png
    Below is the MDX I am using to generate the value for the report parameter:
    UrlEscapeFragment(
    GENERATE(
    DESCENDANTS(
    [Account].[Account Key].CurrentMember,
    [Account].[Account Key].[Account Key]
    [Account].[Account Key].CURRENTMEMBER.Name,
    "&rp:Account="
    I am hoping that I can somehow modify the MDX above to make it return all the
    Account Keys for any attribute of the Account dimension when ran from any measure cell, not just when ran at self and children of
    Account Key in the pivot table.
    Also, if it helps, I can execute the following MDX query on the cube and get the results I am looking for.
    WITH MEMBER [Measures].[Account Key List] as
    GENERATE(
    DESCENDANTS([Account].[Account].CurrentMember, [Account].[Account].[Account]),
    [Account].[Account].CURRENTMEMBER.NAME,
    "&rp:Account=")
    SELECT {[Measures].[Account Key List]} on 0,
    ([Account].[Account Company Number].[Account Company Number],[Account].[Account Major].[Account Major]
    ) on 1
    FROM [Company 10 Action Demo]
    Below are partial results:
    10.116&rp:Account=10.116.010
    10.117&rp:Account=10.117.010&rp:Account=10.117.020
    10.120&rp:Account=10.120.005&rp:Account=10.120.006&rp:Account=10.120.010&rp:Account=10.120.020&rp:Account=10.120.030&rp:Account=10.120.040&rp:Account=10.120.050&rp:Account=10.120.060&rp:Account=10.120.380&rp:Account=10.120.999
    10.123
    Questions
    Any ideas what I might need to do to get Account Key to be returned for any attribute of the
    Account dimension?
    Would I possibly have to alter my Account dimension in the cube to get this to work?
    Thanks in advance.
    Edit 1 - Adventure Works Cube Version
    I was unable to get the suggested answer with the "Exists" function to work.  To better demonstrate this issue, I have recreated it using the Adventure Works Cube.
    I will focus on the Customer dimension, specifically the Customer and
    Education attributes.  I created a report action called Test Report Action.  Below is the XML created for it in the cube.
    <Action xsi:type="ReportAction" dwd:design-time-name="f35ad5ee-5167-4fb8-a0e0-0a74cc6e81c6">
    <ID>Report Action 1</ID>
    <Name>Test Report Action</Name>
    <TargetType>Cells</TargetType>
    <Target></Target>
    <Type>Report</Type>
    <ReportServer>SQLSERVER</ReportServer>
    <Path>ReportServer?/Test Report</Path>
    <ReportParameters>
    <ReportParameter>
    <Name>Test Customer Existing</Name>
    <Value>UrlEscapeFragment(
    GENERATE(
    EXISTING DESCENDANTS(
    [Customer].[Customer].CurrentMember,
    [Customer].[Customer].[Customer]
    [Customer].[Customer].CURRENTMEMBER.Name,
    "&amp;rp:Customer="
    )</Value>
    </ReportParameter>
    </ReportParameters>
    <ReportFormatParameters>
    <ReportFormatParameter>
    <Name>rs:Command</Name>
    <Value>Render</Value>
    </ReportFormatParameter>
    <ReportFormatParameter>
    <Name>rs:Renderer</Name>
    <Value>HTML5</Value>
    </ReportFormatParameter>
    </ReportFormatParameters>
    </Action>
    Below are the steps to re-create the issue.
    Connect to the cube in Excel
    Add dimension Customer -> More Fields -> Customer
    Add measure Internet Sales -> Internet Sales Amount
    Right-click Internet Sales Amount cell, select "Additional Actions" -> "Test Report Action" and see customer values created for URL 
    When the action is ran at this point with Customer, I see the values created in the URL shown message box (since there is no SSRS report server at location specified).
    Now the part I'm unable to resolve
    Remove the Customer dimension and add Customer -> Demographic -> Education
    Right-click Internet Sales Amount cell, select "Additional Actions" -> "Test Report Action"
    Nothing happens. If I ran the action on the cell next to "Bachelors", I would want it to build up all the list of all the "Customers"  that make up the "Bachelors" in the
    Customer dimension as part of the report parameter.  If no attributes where used in the cube from the
    Customer dimension for that cell, then I would like it to return "All Customers", or something similar to show that all customers are included in the aggregations.
    I am not too MDX savvy, thus far.  I think I need to somehow join the
    Customers to Internet Sales Amount in the Generate function portion.  I have tried several different combinations of the
    Customer dimension and Internet Sales Amount, along with various functions to see if I could get this to work with no success.  I am hoping that someone more knowledgeable the me will have a solution.   If you need more details,
    please ask and I will provide them.

    Simon,
    Thanks for you help with this.  This morning I found a workaround.  Below describes what that is.
    What I ended up doing was getting a list of values from a degenerate dimension that I could use to pass to SSRS to get a list of transactions for a report.  Below is how I did this, in relation to the Adventure Works cube using the degenerate dimension
    Internet Order Details.
    WITH MEMBER [Measures].[Order Param List] AS
    GENERATE(
    EXISTS([Internet Sales Order Details].[Sales Order Number].[Sales Order Number].Members, ,
    "Internet Sales"),
    [Internet Sales Order Details].[Sales Order Number].CurrentMember.Name,
    "&rp:OrderNum=")
    SELECT {[Measures].[Order Param List], [Measures].[Internet Sales Amount]} ON 0
    ,([Date].[Calendar].[Date]) ON 1
    FROM [Adventure Works]
    This will get a list of Sales Order Number in a text string, separated by "&rp:OrderNum=" for each measure of
    Internet Sales. This would allow me to create an SSRS report to bring back detail information for each
    Sales Order Number. Below are some sample results.
    May 16, 2007 SO50493&rp:OrderNum=SO50494&rp:OrderNum=SO50495&rp:OrderNum=SO50496&rp:OrderNum=SO50497&rp:OrderNum=SO50498&rp:OrderNum=SO50499&rp:OrderNum=SO50500 $12,157.80
    May 17, 2007 SO50501&rp:OrderNum=SO50502&rp:OrderNum=SO50503&rp:OrderNum=SO50504&rp:OrderNum=SO50505&rp:OrderNum=SO50506&rp:OrderNum=SO50507&rp:OrderNum=SO50508 $13,231.62
    May 18, 2007 SO50509&rp:OrderNum=SO50510 $4,624.91
    With this, I can then create a Report Action in SSRS with a Parameter Value of
    UrlEscapeFragment(
    GENERATE(
    EXISTS([Internet Sales Order Details].[Sales Order Number].[Sales Order Number].Members, ,
    "Internet Sales"),
    [Internet Sales Order Details].[Sales Order Number].CurrentMember.Name,
    "&rp:OrderNum=")
    The way I was going about it before was flawed, as I was trying to get a list of the granular values from each dimension used to build the measure value and pass each one of those as separate parameters. I just needed to set something unique for each fact
    measure transaction that represents the value and uses that in a query parameter for the SSRS report.

  • Not able to pass multi values from prompts to Bi Publisher 11g

    I am using a choice list in dashboard prompt with default value:"All Column values" and set to a presentation variable:"presvar
    In BIP 11G data model,in where clause i am writing it as:
    where tablename.colname in (:presvar)
    This is working only when i select single value in prompt ,if i select multi values in dashboard prompt it is not fetching me exact results.It is throwing error:"Invalid parameters"
    Kindly help if someone has faced the situation
    Version:11.1.6.2

    This is a bug:
    Bug 11793832 : MULTIPLE VALUES IN A DASHBOARD PROMPT DOESN'T WORK WITH BI PUBLISHER INTEGRATED
    I have been told that a fix is due in next patch set 11.1.1.7.2

  • [Forum FAQ] How to configure a Data Driven Subscription which get multi-value parameters from one column of a database table?

    Introduction
    In SQL Server Reporting Services, we can define a mapping between the fields that are returned in the query to specific delivery options and to report parameters in a data-driven subscription.
    For a report with a parameter (such as YEAR) that allow multiple values, when creating a data-driven subscription, how can we pass a record like below to show correct data (data for year 2012, 2013 and 2014).
    EmailAddress                             Parameter                      
    Comment
    [email protected]              2012,2013,2014               NULL
    In this article, I will demonstrate how to configure a Data Driven Subscription which get multi-value parameters from one column of a database table
    Workaround
    Generally, if we pass the “Parameter” column to report directly in the step 5 when creating data-driven subscription.
    The value “2012,2013,2014” will be regarded as a single value, Reporting Services will use “2012,2013,2014” to filter data. However, there are no any records that YEAR filed equal to “2012,2013,2014”, and we will get an error when the subscription executed
    on the log. (C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\LogFiles)
    Microsoft.ReportingServices.Diagnostics.Utilities.InvalidReportParameterException: Default value or value provided for the report parameter 'Name' is not a valid value.
    This means that there is no such a value on parameter’s available value list, this is an invalid parameter value. If we change the parameter records like below.
    EmailAddress                        Parameter             Comment
    [email protected]         2012                     NULL
    [email protected]         2013                     NULL
    [email protected]         2014                     NULL
    In this case, Reporting Services will generate 3 reports for one data-driven subscription. Each report for only one year which cannot fit the requirement obviously.
    Currently, there is no a solution to solve this issue. The workaround for it is that create two report, one is used for view report for end users, another one is used for create data-driven subscription.
    On the report that used create data-driven subscription, uncheck “Allow multiple values” option for the parameter, do not specify and available values and default values for this parameter. Then change the Filter
    From
    Expression:[ParameterName]
    Operator   :In
    Value         :[@ParameterName]
    To
    Expression:[ParameterName]
    Operator   :In
    Value         :Split(Parameters!ParameterName.Value,",")
    In this case, we can specify a value like "2012,2013,2014" from database to the data-driven subscription.
    Applies to
    Microsoft SQL Server 2005
    Microsoft SQL Server 2008
    Microsoft SQL Server 2008 R2
    Microsoft SQL Server 2012
    Please click to vote if the post helps you. This can be beneficial to other community members reading the thread.

    For every Auftrag, there are multiple Position entries.
    Rest of the blocks don't seems to have any relation.
    So you can check this code to see how internal table lt_str is built whose first 3 fields have data contained in Auftrag, and next 3 fields have Position data. The structure is flat, assuming that every Position record is related to preceding Auftrag.
    Try out this snippet.
    DATA lt_data TYPE TABLE OF string.
    DATA lv_data TYPE string.
    CALL METHOD cl_gui_frontend_services=>gui_upload
      EXPORTING
        filename = 'C:\temp\test.txt'
      CHANGING
        data_tab = lt_data
      EXCEPTIONS
        OTHERS   = 19.
    CHECK sy-subrc EQ 0.
    TYPES:
    BEGIN OF ty_str,
      a1 TYPE string,
      a2 TYPE string,
      a3 TYPE string,
      p1 TYPE string,
      p2 TYPE string,
      p3 TYPE string,
    END OF ty_str.
    DATA: lt_str TYPE TABLE OF ty_str,
          ls_str TYPE ty_str,
          lv_block TYPE string,
          lv_flag TYPE boolean.
    LOOP AT lt_data INTO lv_data.
      CASE lv_data.
        WHEN '[Version]' OR '[StdSatz]' OR '[Arbeitstag]' OR '[Pecunia]'
             OR '[Mita]' OR '[Kunde]' OR '[Auftrag]' OR '[Position]'.
          lv_block = lv_data.
          lv_flag = abap_false.
        WHEN OTHERS.
          lv_flag = abap_true.
      ENDCASE.
      CHECK lv_flag EQ abap_true.
      CASE lv_block.
        WHEN '[Auftrag]'.
          SPLIT lv_data AT ';' INTO ls_str-a1 ls_str-a2 ls_str-a3.
        WHEN '[Position]'.
          SPLIT lv_data AT ';' INTO ls_str-p1 ls_str-p2 ls_str-p3.
          APPEND ls_str TO lt_str.
      ENDCASE.
    ENDLOOP.

  • How to design SSRS report to filter multi-value parameter?

    I developed an RDL which takes a multivalue parameter and I want to set a visibility expression or filter based on this parameter. This parameter uses an "All" value equal to '660E4583-7F29-4D37-8038-5096AE6A1A7F'.
    I want to make the main tablix visible if this parameter is set to this uniqueidentifier and invisible otherwise. How can I achieve this either in the tsql dataset or on the report side? I have tried numerous workarounds, but none have worked so far! I've tried
    different expressions and datatypes.
    Before I tried If/Else statements in the tsql dataset, but most recently I instead added flags to the tsql dataset for each condition and am trying to make this tablix only include the records with the flag matching the parameters chosen. But even this is not
    working for me.
    Here is sample data:
    create table #dummydata
    parameter varchar(max),
    b varchar(max)
    insert #dummydata values('660E4583-7F29-4D37-8038-5096AE6A1A7F','record 1'),('660E4583-7F29-4D37-8038-5096AE6A1vcd','record 2'),('660E4583-7F29-4D37-8038-5096AE6A1v52','record 3')
    select * from #dummydata
    And my filter expression in the RDL for this tablix is:
    =iif(Parameters!Modifier.Value(0)="660E4583-7F29-4D37-8038-5096AE6A1A7F",1,0)
    With datatype = integer and value = 1 However, this tablix is invisible with the above even when I choose "All" for the parameter value = default value. How can I make this tablix visible?
    Ryan D

    Hi Ryan D,
    After testing the scenario in my local environment, everything goes well. As per my understanding, I think this issue can be caused by the Available values in the Modifier parameter. Could you tell us the Available values of Modifier parameter in your scenario?
    The following scenario in my test is for your reference:
    I create a dataset with the sample data you posted.
    Add a multi-value parameter named Modifier in the report.
    Specify the following values in the Available Values of the parameter (please note that the value “All” should be located in the first place, because we use Parameters!Modifier.Value(0) in the filter):
    Label: All                 Value: ="660E4583-7F29-4D37-8038-5096AE6A1A7F"
    Label: A                   Value: ="1"
    Label: B                   Value: ="2"
    Label: C                   Value: ="3"
    Drag a table to the design surface, insert parameter and b fields in the table.
    Use the same expression as you said to add a filter in the tablix.
    We can refer to the following screenshot:
    If there are any other questions, please feel free to ask.
    Thanks,
    Katherine Xiong
    Katherine Xiong
    TechNet Community Support

  • Display Blank Tablix when using multi value parameter in SSRS 2008 R2

    I have a main report which contains tablix1 and tablix2. Tablix1 is using DataSet1 and Tablix2 is using DataSet2. I have a multi value parameter set up with 71 items to choose from. My company owns 71 convenience stores and what I am doing is comparing sales
    for a hard coded date in DataSet1 versus a hard coded date in DataSet2, sales for the same date 1 year ago. Pretty simple, works great when both datasets return data. However, we have a store that we opened up about 4 months ago. The data is displayed
    in Tablix1, but since the store did not exist 1 year ago, there is no data for Tablix2. I have tried the "No Row Message" and Repeating Column and Row Headers, etc. When I choose all stores that existed last year, the report runs great. When I choose
    a store that existed last year and our new store (#39) that did not, the report messes up. The below image, you can see Tablix1 is good, but Tablix2 should be blank and only show the column headers. Instead it moved Store #40's Tablix1 beside it. If I
    run the report and just select store #39, Tablix1 runs as it should and Tablix2 shows The column headers and a blank row. It disappears as soon as I select multiple values.
    When you click the next page button, you will see Store 40's Tablix2 where it's Tablix1 should be and then a blank space where Tablix2 should be.

    Hi BassMan75,
    According to your description, there is a main report with subreport, since the store did not exist one year ago, there is no data for the subreport. You want to show tablix grid even through there is no data in subreport, right?
    Report data comes from datasets, if there is no corresponding value in the dataset, only column headers will be displayed in the report, we could not set the rows to blank, so we can’t achieve your goal directly. As a workaround, we can put one text box
    in the report with the message: No data for the store. In this way, if there is no data meets search condition, the message will be displayed in the report. Please refer to the following steps:
    Click and select the tablix.
    In Properties window, in No Rows section, in NoRowsMessage text box, type No data for the store.
    If you have any more questions, please feel free to ask.
    Thanks,
    Wendy Fu
    Wendy Fu
    TechNet Community Support

  • How to create a multi value property

    Hello,
    I've defined a new property to use with the FAQ form, and set it to a multi value enabled (Multi-Valued checkbox on, Property Renderer set to multivalued).
    I've added a new Combo Box object to the form using Form Builder, and assign the property to it.
    However, I'm able to choose only one value while creating a new FAQ.
    What should I do in order to make it a multi value selection box (without programming) ?
    Thanks
    Eli

    Hi,
    You have to use the PortalApp.xml file
    In that file you have to create the properties and can have n options, it will not require programming.
    <?xml version="1.0" encoding="utf-8"?>
    <application>
      <application-config/>
      <components>
        <component name="Welcome">
          <component-config>
            <property name="ClassName" value="com.sap.tutorial.Welcome.Welcome"/>
          </component-config>
          <component-profile>
            <property name="colorName" value="Blue">
              <property name="personalization" value="dialog"/>
              <property name="type" value="select[Red,Orange,Green,Blue,Yellow,Purple,Violet]"/>
              <property name="plainDescription" value="Favorite Color"/>
            </property>
            <property name="location" value="Pune">
              <property name="personalization" value="dialog"/>
              <property name="plainDescription" value="Country of Residence"/>
            </property>
            <property name="petsName" value="Tommy">
              <property name="personalization" value="dialog"/>
              <property name="plainDescription" value="Pets Name"/>
            </property>
          </component-profile>
        </component>
      </components>
      <services/>
    </application>
    Regards,
    Dhruv Shah

  • 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

  • Mass updating a multi-valued field- to append the new value

    I have a question on multi-valued fields:
    I have store table with 5 multi-valued fields, say MLB, soccer, college FTBL, college Basketball, etc. 
    A store can have 4 MLBs, 2 soccer teams, and so on. 
    Say, there is a new MLB that came out called Mexico MLB team. 
    A user wanted to add this to 30 stores using a mass update.  But remember the 30 stores can have totally different sets of values in the multi-valued fields.
    How can I add this new value while still preserving the MLB team’s values of each store record?
    Does MDM not support this feature?
    I am using SAP MDM SP6
    An answer would be highly appreciated.
    Thanks
    Savi

    Savi,
    I assume you are defined these fields as multi-value lookup and linked to main table. In general, you can not because it will mess up and overwrite your multi-value entries for all of your 30 store records.
    Here is something in MDM come in handy. It is following the same concept but design your model a little differently. If you model your multi-value fields into qualified lookup table, it will be easier and optimized to handle.
    You can select all 30 records and mass-update with adding the new MLB entry into your Q-lookup table. Once you save, this mass-update action will respect all your diversity of each individual records with the new value added.
    Hope this helps
    If this answers your question, please kindly reward the points.
    Regards
    Dawei

  • How to include NULL in multi value parameters

    Good Morning,
    I'm posting this question after i tried other links and was not successful. I'm using a report builder to create a report. SSRS2008R2.
    I have a sql to get the data into the data set. Source is ORACLE DB. The query is pulling lastname,firstname,dob,joindt,divname. I created a parameter in the SQL :
    WHERE DIVNAME IN (:divname).
    I created another dataset (select distinct divname from table2) and selected the paramter properties to get the values from the second dataset and selected it to be multivalued. However the user wants to see the NULL's or BLANKS that are in the DIVNAME.
    Can some one please tell me as how i can acheive this?
    When i run the query in the sql plus i get (null) values as well, but when in the second dataset i run the query i just get the DISTINCT divnames and a  "BLANK" field (in SSRS)
    Thanks

    Hi thinkingeye,
    According to your description, you want to include the null values in your multiple values parameter. Right?
    In Reporting Services, we can't allow both null values and multiple values in a parameter. In this scenario, since you have created a dataset for getting distinct divname, we suggest you try "select distinct isnull(divname,-1) from [table]" in this
    dataset so that all the null values will return -1. Also using isnull() function to replace divname in other query. This might be the most effective work around.
    Reference:
    Null and Multi-value parameter possible
    Include Null Value Multi-Value Parameter list
    If you have any question, please feel free to ask.
    Best Regards,
    Simon Hou

Maybe you are looking for

  • How to create a report  based on selected item from Select list?

    Hi, I have created a tables_LOV based on: select table_name d, table_name r from user_tab_cols where column_name like '%_type%' Then I created a page item ListOfTables,  Display as select list and pointing to tables_LOV. I run the page, and i can sel

  • Re: Anyone know how I can convert a 1D array of 0's and 1's to a hex value?

    On Wed, 18 Jul 2001 12:27:33 -0700 (PDT), in comp.lang.labview you wrote: > Sergey, > Wire your Byte Array of 1/0's to a 'Byte Array to String' VI > [Functions > String > String/Array/Path Conversion palette], and > finally send to a String indicator

  • Acrobat 7.0 activation problems

    I just found my old version of Acrobat 7.0, and went ahead and installed it on my new Win7 system.  The install actually went OK, but when I try to use the program, I get this pop up error message that says:   "Activation requires that you have admin

  • How do i get my ringtones on my new iphone

    i recently purchesed a iphone 4s and downloaded ringtones and music and had to get a new iphone 4s today and my music and contacts transferred but my ringtones did not how do i get my ringtones back

  • How to create an infinite loop that cannot be cancelled?

    Hi , im new around java and i need a program that keeps on repeating after each each input/uses(generally meant for different user) and cannot either stop using "Cancel" or "x" while stopping only using the "stop" button I got a few lines of codes th