COGNOiSe.com - The IBM Cognos Community

IBM Cognos 10 Platform => Cognos 10 BI => Report Studio => Topic started by: Patrick77 on 11 Oct 2016 09:35:17 AM

Title: Subset values from a string prompt to overcome list size limit
Post by: Patrick77 on 11 Oct 2016 09:35:17 AM
(//)Hello,
I am using Report Studio 10.2.2 and have report author access (only).
I need to essentially flag 7000 IDs in a report I am trying to author where the information to flag them is not in the database. I have an external list, but have given up on trying to use the external data features. Since there is a max limit of 1000 in a list, I am curious if there is a way to do the following.

If I have a multi prompt, and add more than 2999 IDs to the prompt, is there a way to index those, so that I can basically say:

Case
When myTable.IDs IN (?PROMPT?)[1:999] THEN "FLAG"
When myTable.IDs IN (?PROMPT?)[1000:1999] THEN "FLAG"
When myTable.IDs IN (?PROMPT?)[2000:2999] THEN "FLAG"
ELSE "NO FLAG"
END


_________________________________

I've tried to use this, but it throws an error

myTable.IDs IN ( subset(members(?PROMPT?), 1, 100)) )

Invalid coercion from 'memberSet' to 'string' for 'subset(set(?PROMPT?),1,100))'



Title: Re: Subset values from a string prompt to overcome list size limit
Post by: Patrick77 on 11 Oct 2016 01:58:49 PM
I suppose what I really want to know is how can I convert a string list to a member set that I can subset.
If I had a list of values ('1', '2', '3', '4'), I would like to subset to get any of the individual elements.

Both of these return the same basic error:

subset(set( '1', '2', '3', '4' ), 1, 1)
error:  QE-DEF-0478 Invalid coercion from 'string' to 'member, measure' for ''1'' in...

subset(members( '1', '2', '3', '4' ), 1, 1)
or   subset(rolevalue('_memberCaption',members('1','2','3', '4')),1,1)
errors: QE-DEF-0478 Invalid coercion from 'string' to 'hierarchy, level' for ''1'' in...