Large number of dimension members

Hi All,
I have the following config :-
Facts :
Volume and Amount
Dimensions :
Account : 3 million rows
Customer : 3.5 million rows - 3 levels
Facility : 65 000 rows
Product : 558 rows - 7 levels
Business Unit : 2454 rows - 9 levels
Metric : 101 rows - 5 levels
Broker : 9521 rows
Time : 60 rows
GL Product : 3277 rows - 14 levels
My big obvious concern is creating a cube dimensioned by customer and account since these are pretty large.
Q1. What is the recommendation with these large dimensions
Q2. Is there a drill-through or hybrid OLAP option that I could use to stop the cube exploding with so many members ??
Any comments/assistance appreciated.
Regards,
Brandon

Hi,
How many fact rows are you planning to load into your cube? This is more of a concern than the number of values in each dimension although the potential size of the cube you are describing does suggest to me that you might be better loading data in OLAP at a more aggregate level
What are you using for your query tool? Delivery of a drill-through or hybrid solution will depend on this
Stuart

Similar Messages

  • Number of dimension members

    Hi! :) Can anyone advise on what are recommendations on the max number of dimension members for each HP dimension taking into account that the cube can be alone and can be partitioned? Thanx! :-)
    Edited by: user10129034 on 29.05.2009 0:24

    I will take a stab at this...just went to Essbase boot camp and the question you ask is a loaded question.
    Because of its multi-dimensional architecture and its data storage in 'blocks'...the answer is 'it depends'.
    One of the critical issue with dimensions and its members is 'Is the dimension Spare or Dense'?
    Best practices is to have minimal amount of Dense dimensions (which makes up your block size) than of Spare dimensions (which determines the amount of blocks you have)
    In my training this question was asked from a DBA used to transactional database and asked what the max is.
    The instructor indicated there really isn't a limit, clearly defined.
    I thought I saw something in the essbase admin but I am unable to find it if someone could add it would be great
    so if you have several dimensions or dimensions with several members you need to determine their density which in turn dictates the system performance and functionality.
    JTS
    Edited by: jts on May 29, 2009 7:18 AM

  • Looking for BPC user contacts with large numbers of dimension members

    I would like to make contact with other BPC users that have multiple dimensions with dimension members in excess of 10K.
    Thanks,
    Cary Schulz
    Newfield Exploration
    281-674-2004

    Hi Helene,
    With 3,000 members you should not be experiencing these problems, if your report is designed properly.
    I'm running BPC 5.1 SP8 on SQL 2005, with a dimension containing 22,000 members. Client PC's are typical (XP, Excel 2007, 1 or 2 gig RAM).
    Using EVDRE and this dimension expanding on the rows, most reports & input schedules can expand & refresh in the range of 10 to 30 seconds.
    The faster times are when I use a row expansion memberset using dimension properties, such as Active="X". The slower times are when the memberset is hierarchy-based, such as BAS.
    If you're using a dynamic template (one using EVEXP for the expansion) then you should start over using EVDRE. It will be much faster, particularly if you optimize your row expansion.
    It's often a good idea to add dimension properties specifically for the purpose of optimizing the report expansion, if the dimension has thousands of members. I sometimes go as far as to add properties which mimic the hierarchy (MyLevel2, MyLevel3, etc) just for this purpose.

  • BPC Performance with large number of dimensions's members

    Hi,
    I would like to know if there is a limitation on the number of members in one dimension. This dimension, named PROJET, is often used in expansion on our input schedule reports (to retrieve the projects which belong to the entity entered in the current view).
    With approximate 2500 members in this dimension, the report takes about 4 minutes to be expansed (or even open).
    We have 8 dimensions with few to 300 members. The PROJECT dimension is the biggest in terms of members's number.
    Thank you in advance for your feedback !
    Helene

    Hi Helene,
    With 3,000 members you should not be experiencing these problems, if your report is designed properly.
    I'm running BPC 5.1 SP8 on SQL 2005, with a dimension containing 22,000 members. Client PC's are typical (XP, Excel 2007, 1 or 2 gig RAM).
    Using EVDRE and this dimension expanding on the rows, most reports & input schedules can expand & refresh in the range of 10 to 30 seconds.
    The faster times are when I use a row expansion memberset using dimension properties, such as Active="X". The slower times are when the memberset is hierarchy-based, such as BAS.
    If you're using a dynamic template (one using EVEXP for the expansion) then you should start over using EVDRE. It will be much faster, particularly if you optimize your row expansion.
    It's often a good idea to add dimension properties specifically for the purpose of optimizing the report expansion, if the dimension has thousands of members. I sometimes go as far as to add properties which mimic the hierarchy (MyLevel2, MyLevel3, etc) just for this purpose.

  • Filtering large number of members

    Hi:
    I have a dimension (D1) which has a large number of members, currently 40K and I expect it to grow.
    I have another dimension (D2), has about 1400 members which is also a property of D1 and this is an authorization object. Each user has access to a either 2 or 3 members. When the users login and open any schedule, they are restricted to only the authorized members.
    In my Evdre, I need the users to enter data by D1 and so I filter D1 based on which D2 member is selected. This works fine, however, it takes a very long time to expand on open the schedule.
    Any idea how the filtering takes place? Where does this filtering take place - server or client?
    Is there any options to improve the performance?
    Thanks,
    Subramania

    Hi Subramania,
    While getting data from data base, bpc dosenot filter at the database level. It will retrive all the member's from the back end and will filter at the client side using excel funtionality.
    As of my knowledge, for now, bpc doesnt support filtering at data base level.
    Hope some one else can help in How to improve performance?
    Regards,
    Kranthi

  • How to check for a large cube (100K or more dimension members)

    Hi Experts,
    We have a customer with trouble returning large data sets.  How can I check for a large cube (100K or more dimension members) on BI7?
    Is there a tuning parameter in BW to increase the result buffer?
    Thanks!
    Sapna

    You can do a count of the n° of entries in the dimension tables.
    But that's a pain in the ***.
    You might consider running program SAP_INFOCUBE_DESIGNS.
    This program gives a list of all infocubes with a ratio between the dimensions and fact table.
    So you can see if a cube is well-designed or not.

  • Top 10 lowest level dimension members based on measure

    Hi,
    I'm trying to create a condition with JDeveloper to show the top 10 dimension members based on a measure for the lowest level of the hierarchy, but doesn't work.
    All other conditions are working well, including top 10 dimension members in other levels of the hierarchy (not in the lowest).
    Any suggestion??
    I think the dimension is defined ok, all other conditions are working well and the lowest level could be shown with other conditions and drills.
    Thanks in advanced....

    Hi,
    First, my BI Beans version is 9.0.3.5 and my database version is 9.2.0.2.1
    I will try to clarify my problem. I am trying to create a graph to show the top10 members of a dimension based on my measure. When I define this condition
    to show the top 10 members of a middle level (not de low level), it works fine, I mean, it shows the top 10 members of that level. But, when I define the condition
    to show the top 10 members of the low level, it displays me that there is no data to display (The data has an insufficient number of columns and rows).
    I have been testing this case, and I have seen that if I change the low level column (number type) of the dimension to a varchar type column, it works. This low level is
    the primary key of the dimension table, and it's referenced by a foreign key in the fact table.
    Which could be the problem?? Is it not possible to define a level of a dimension with a number column??
    I have a demo sample to see this problem (two simple dimensionS with three levels and a fact table). It's a bit large to post it complete, so I post here an extract of it.
    -- Dimension and fact tables
    CREATE TABLE PR_DIM_A (DIM_A_KEY NUMBER,
                   LOW_A_LEVEL_NAME VARCHAR2(50),
                   ALL_A_LEVEL_ID VARCHAR2(50), ALL_A_LEVEL_NAME VARCHAR2(50),
                   GROUP_A_LEVEL_ID VARCHAR2(50), GROUP_A_LEVEL_NAME VARCHAR2(50),
                   CONSTRAINT PK_DIM_A PRIMARY KEY (DIM_A_KEY));
    CREATE TABLE PR_DIM_B (DIM_B_KEY NUMBER,
                   LOW_B_LEVEL_NAME VARCHAR2(50),
                   ALL_B_LEVEL_ID VARCHAR2(50), ALL_B_LEVEL_NAME VARCHAR2(50),
                   GROUP_B_LEVEL_ID VARCHAR2(50), GROUP_B_LEVEL_NAME VARCHAR2(50),
                   CONSTRAINT PK_DIM_B PRIMARY KEY (DIM_B_KEY));
    CREATE TABLE PR_FACTS (FACT_KEY NUMBER, DIM_A_KEY NUMBER, DIM_B_KEY NUMBER,
                   MEASURE_1 NUMBER, MEASURE_2 NUMBER,
                   CONSTRAINT PK_FACTS PRIMARY KEY (FACT_KEY));
    ALTER TABLE PR_FACTS ADD CONSTRAINT FK_DIM_A FOREIGN KEY (DIM_A_KEY)
                   REFERENCES PR_DIM_A (DIM_A_KEY);
    ALTER TABLE PR_FACTS ADD CONSTRAINT FK_DIM_B FOREIGN KEY (DIM_B_KEY)
                   REFERENCES PR_DIM_B (DIM_B_KEY);
    -- Data inserts in the dimensions
    INSERT INTO PR_DIM_A VALUES (1,'ALL','ALL_NAMEa','GROUP1a','GROUP1_NAMEa','LOW1a','LOW_NAME1a');
    INSERT INTO PR_DIM_A VALUES (2,'ALL','ALL_NAMEa','GROUP1a','GROUP1_NAMEa','LOW2a','LOW_NAME2a');
    -- ......... dimension B is the same kind of data.
    -- OLAP dimension A creation script
    cwm2_olap_dimension.create_dimension('BI02', 'PR_A_DIM', 'DimA Diaplay name', 'DimA Plural name', 'DimA Short Description','DimA Description');
    cwm2_olap_dimension_attribute.create_dimension_attribute('BI02', 'PR_A_DIM', 'Short Description', 'Short Descriptions', 'Short Desc', 'Description', TRUE);
    cwm2_olap_hierarchy.create_hierarchy('BI02', 'PR_A_DIM', 'HIER_DIM_A', 'HIER_DIM_A Display name', 'HIER_DIM_A ShortDesc', 'HIER_DIM_A Desc','Unsolved Level-Based');
    cwm2_olap_dimension.set_default_display_hierarchy( 'BI02', 'PR_A_DIM', 'HIER_DIM_A' );
    cwm2_olap_level.create_level('BI02', 'PR_A_DIM', 'ALL_LEVEL_A', 'ALL_LEVEL_A DisplayName', 'ALL_LEVEL_A PluralName', 'ALL_LEVEL_A ShortDesc', 'ALL_LEVEL_A Desc');
    cwm2_olap_level.create_level('BI02', 'PR_A_DIM', 'GROUP_LEVEL_A', 'GROUP_LEVEL_A DisplayName', 'GROUP_LEVEL_A PluralName', 'GROUP_LEVEL_A ShortDesc', 'GROUP_LEVEL_A Desc' );
    cwm2_olap_level.create_level('BI02', 'PR_A_DIM', 'LOW_LEVEL_A', 'LOW_LEVEL_A DisplayName', 'LOW_LEVEL_A PluralName', 'LOW_LEVEL_A ShortDesc', 'LOW_LEVEL_A Desc' );
    cwm2_olap_level_attribute.create_level_attribute('BI02', 'PR_A_DIM', 'Short Description', 'ALL_LEVEL_A', 'Short Description', 'All_LEVEL_A DisplayName', 'ALL_LEVEL_A ShortDesc', 'ALL_LABEL Desc', TRUE );
    cwm2_olap_level_attribute.create_level_attribute('BI02', 'PR_A_DIM', 'Short Description', 'GROUP_LEVEL_A', 'Short Description', 'GROUP_LEVEL_A DisplayName', 'GROUP_LEVEL_A ShortDesc', 'GROUP_LEVEL_A Desc', TRUE );
    cwm2_olap_level_attribute.create_level_attribute('BI02', 'PR_A_DIM', 'Short Description', 'LOW_LEVEL_A', 'Short Description', 'LOW_LEVEL_A DisplayName', 'LOW_LEVEL_A ShortDesc', 'LOW_LEVEL_A Desc', TRUE );
    cwm2_olap_level.add_level_to_hierarchy('BI02', 'PR_A_DIM', 'HIER_DIM_A', 'LOW_LEVEL_A', 'GROUP_LEVEL_A' );
    cwm2_olap_level.add_level_to_hierarchy('BI02', 'PR_A_DIM', 'HIER_DIM_A', 'GROUP_LEVEL_A', 'ALL_LEVEL_A' );
    cwm2_olap_level.add_level_to_hierarchy('BI02', 'PR_A_DIM', 'HIER_DIM_A', 'ALL_LEVEL_A' );
    cwm2_olap_table_map.map_dimtbl_hierlevel('BI02', 'PR_A_DIM', 'HIER_DIM_A', 'ALL_LEVEL_A', 'BI02', dim_table, 'ALL_A_LEVEL_ID' );
    cwm2_olap_table_map.map_dimtbl_hierlevel('BI02', 'PR_A_DIM', 'HIER_DIM_A', 'GROUP_LEVEL_A', 'BI02', dim_table, 'GROUP_A_LEVEL_ID' );
    cwm2_olap_table_map.map_dimtbl_hierlevel('BI02', 'PR_A_DIM', 'HIER_DIM_A', 'LOW_LEVEL_A', 'BI02', dim_table, 'DIM_A_KEY' );
    cwm2_olap_table_map.map_dimtbl_hierlevelattr('BI02', 'PR_A_DIM', 'Short Description', 'HIER_DIM_A', 'ALL_LEVEL_A', 'Short Description', 'BI02', dim_table, 'ALL_A_LEVEL_NAME' );
    cwm2_olap_table_map.map_dimtbl_hierlevelattr('BI02', 'PR_A_DIM', 'Short Description', 'HIER_DIM_A', 'GROUP_LEVEL_A', 'Short Description', 'BI02', dim_table, 'GROUP_A_LEVEL_NAME' );
    cwm2_olap_table_map.map_dimtbl_hierlevelattr('BI02', 'PR_A_DIM', 'Short Description', 'HIER_DIM_A', 'LOW_LEVEL_A', 'Short Description', 'BI02', dim_table, 'LOW_A_LEVEL_NAME' );
    -- OLAP dimension B creation script is similar than A.
    -- OLAP CUBE creation script
    cwm2_olap_cube.create_cube( 'BI02', 'PR_CUBE', 'Sample Cube', 'Sample Cube', 'Sample Cube' );
    cwm2_olap_measure.create_measure('BI02', 'PR_CUBE', 'MEAS1', 'MES1 DisplayName', 'MES1 ShortDesc', 'MES1 Desc');
    cwm2_olap_measure.create_measure('BI02', 'PR_CUBE', 'MEAS2', 'MES2 DisplayName', 'MES2 ShortDesc', 'MES2 Desc');
    cwm2_olap_cube.add_dimension_to_cube( 'BI02', 'PR_CUBE', 'BI02', 'PR_A_DIM' );
    cwm2_olap_cube.add_dimension_to_cube( 'BI02', 'PR_CUBE', 'BI02', 'PR_B_DIM' );
    dimkeymap :=
         'DIM:'
    || 'BI02'
    || '.PR_A_DIM/HIER:HIER_DIM_A/LVL:LOW_LEVEL_A/COL:DIM_A_KEY;DIM:'
    || 'BI02'
    || '.PR_B_DIM/HIER:HIER_DIM_B/LVL:LOW_LEVEL_B/COL:DIM_B_KEY;';
    cwm2_olap_table_map.map_facttbl_levelkey( 'BI02', 'PR_CUBE', 'BI02', fact_t, /*'ET'*/ 'LOWESTLEVEL', dimkeymap );
    cwm2_olap_table_map.map_facttbl_measure( 'BI02', 'PR_CUBE', 'MEAS1', 'BI02', fact_t, 'MEASURE_1', dimkeymap );
    cwm2_olap_table_map.map_facttbl_measure( 'BI02', 'PR_CUBE', 'MEAS2', 'BI02', fact_t, 'MEASURE_2', dimkeymap );
    Thanks a lot for your help....

  • Automatic creation of new dimension members

    Hello all,
    Bit of a long post so please bear with me.
    I am about to embark on only my third BPC project after having spent several years implementing solutions using BusinessObjects Planning (formerly SRC software), and am still struggling to come up with an elegant solution to the fact that I cannot save data to dimension elements unless they are already explicitly defined in the dimension member list (presumably due to cube architecture).
    Those of you who have used BOP/SRC will remember this as unvalidated dimensions.
    I find having to first go to admin and pre create members before being able to use an input schedule to save data against them is very restrictive.
    I'm hoping one of you guys can help me improve on the workaround I currently use.
    For example I have a 'bid submission' input schedule that is used by the user to submit bids for increased budget, capital or revenue, capturing basic costs and commentary. The user selects a bid number from a combo box which is populated by using an EVLST formula to read in pre created dimension members. I have to save a flag to the db which I then use to exclude already used numbers when feeding the combo box on future submissions.
    Which works ok but if I have a hierarchy on bid number based on say, cost centre, how do I get around the fact that number ranges have to be pre-assigned to cost centre, Cost Centre A = 1 to 1000, Cost Centre B = 1001 to 2000 etc. What happens if I go over the 1000 on Cost centre A? I then get non contiguous ranges per cost centre.
    Is it possible for the bid number to be dictated by the user when they start to fill in the bid submission? Or give the impression that they are?
    Or if the client has a bid number format that cannot be pre created? Eg incorporating things like year or person etc. This information could be save separately but not within the bid number. Is it possible to save data to dimension property columns from an input schedule?
    Hope you guys can help
    Many thanks
    Phil

    Philip,
    few questions.
    Which versio of BPC.
    What is your data Source
    there are few post on the below link you may find helpful
    Please list your Question in short with the tings you want.
    Re: AdminTask_MakeDim.dts
    Thanks

  • Number of Child Members in a Parent

    Hi There,
    Is there a way in BPC in when building a report or input schedule in which I can return the number of child members that is below a parent?
    I want to select a member in my dimension and I want a formula to return how many members is below that parent.
    I can see when I look at the current view in brackets there is a number next to the member name on how many members lies in that parent. I want to return that number in my workbook.
    Any ideas?
    The idea that I had was to create another evdre with dynamic expansion to return the base members of that dimension, and to use an excel function to count the members and return the total amount to the sheet I want to use.
    Henry

    What version of BPC?  If you're using any version on the microsoft platform you could use something like this:
    =EVLST("finance","entity",EVSET("finance","wood","evall"),B3:B4,"hlevel")
    "Finance" is my application
    "entity" is my dimension
    my set expression is evaluating all descendents of the WOOD entity <- this is what be based on your CV
    B3:B4 is my expansion range
    "hlevel" is a numeric property value that is meaningless for this exercise, but lets me do the following:
    Using the above (easiest to do on a seperate worksheet that can then be hidden), enter excel formula COUNT(B3:B5) in cell B2 (right above the expansion range of your list).  The set list will expand giving you the hierarchy levels of all descendents of your selected member and your count will add them up.
    Other options would be to add a property where you would manually assign the count to each parent member in your dimension.  Could be very tedious and time consuming depending on how often it changed.  Could also go a seperate expansion as you noted and just have a counter running next to the expansion: 1, 2, 3, ...) and have a function that looks for the max number.
    Hope that helps...

  • Trouble loading a large number of csv files

    Hi All,
    I am having an issue loading a large number of csv files into my LabVIEW program. I have attached a png of the simplified code for the load sequence alone.
    What I want to do is load data from 5000 laser beam profiles, so 5000 csv files (68x68 elements), and then carry out some data analysis. However, the program will only ever load 2117 files, and I get no error messages. I have also tried, initially loading a single file, selecting a crop area - say 30x30 elements - and then loading the rest of the files cropped to these dimensions, but I still only get 2117 files.
    Any thoughts would be much appreciated,
    Kevin
    Kevin Conlisk
    Ph.D Student
    National Centre for Laser Applications
    National University of Ireland, Galway
    IRELAND
    Solved!
    Go to Solution.
    Attachments:
    Load csv files.PNG ‏14 KB

    How many elements are in the array of paths (your size(s) indicator) ?
    I suspect that the open file is somewhat limited to a certain number.
    You could also select a certain folder and use 'List Folder' to get a list of files and load those.
    Your data set is 170 MB, not really asthounising, however you should whatc your programming to prevent data-doublures.
    Ton
    Free Code Capture Tool! Version 2.1.3 with comments, web-upload, back-save and snippets!
    Nederlandse LabVIEW user groep www.lvug.nl
    My LabVIEW Ideas
    LabVIEW, programming like it should be!

  • Simultaneous change of properties of a large number of objects

    Hi there,
    is there a way to change the properties, especially the qualification, of a large number (>100) of objects in Universe Designer simultaneuosly?
    Or is there another effecient way to import a file that consists of only 5 dimensions and 100 measurements?
    Best regards,
    Uwe

    What exactly do you mena by Qualification ?
    Do you want to change the object definition from
    tablename.columnname
    to
    schema.tablename.columnname ?
    Regards,
    Stratos

  • Help in sharing a large number of photos?

    I am looking for a reasonably quick way of sharing a large number of photos with other members of my church as well as on other occasions family and friends.
    The photos are all loaded onto my iPad at their original resolution and are high quality .jpegs taken with a Nikon DSLR (D7000).
    I would prefer to use something "cloud" based rather than a commercial enterprise if possible but don't know how to do it.
    Can someone give me some suggestions?  I am a long time PC user and am pretty adept at Windows but a stymied by the Apple system, particularly my inability, seemingly to really delete individual photos without finding them all over again somewhere else on the iPad.  Delete "everywhere" seems not to be quite accurate to describe what happens.
    Thanks for helping me out.
    Bill Waxman

    Try sharing it via photostream. It makes a link so people with non iOS devices can view them all you do is forware it to their emails........
    heres a link for photstream.  Good luck!
    http://support.apple.com/kb/ts4379
    Follow the steps below to create a shared photo stream. Note that you cannot share all the photos in My Photo Stream at one time. However, you can select images from it to create a shared photo stream.
    On your device using iOS 6:
    From the Home screen, tap Photos.
    Tap the Photo Stream tab. (Note: You can also share images from your Camera Roll or an album in your Camera Roll. Tap the Albums tab, then tap Camera Roll or an Album. Continue with steps 4-7 below.)
    Tap My Photo Stream, then tap Edit. 
    Tap each photo you'd like to add to the shared photo stream. A check mark will appear on selected photos. Tap Share.
    Tap Photo Stream. (If this is not your first shared photo stream, you'll need to select New Photo Stream from the Add to a Photo Stream list.)
    Enter the email addresses of the people with whom you'd like to share this new photo stream. Type in a name for your photo stream. To share this photo stream on iCloud.com, move the Public Website slider to the ON position. If you will be sharing your stream with someone who does not have an iCloud account, you will need to make the stream public. People without an iCloud account can view the stream in a web browser. Tap Next.
    Optionally, you can add a comment for your new stream to introduce it. Tap Post.
    To share a Stream with someone who wishes to view it from a web browser, or to post a shared photo stream to Facebook or Twitter:
    Find the name of the shared photo stream from your list of photo streams and tap the blue arrow on your iPhone or iPod Touch. Tap Edit on your iPad, then tap the name of the shared photo stream.
    Tap Share Link.
    To share with Facebook or Twitter, Tap either Facebook or Twitter, and tap Post.
    To send the link in a message or email, tap Message or Email.
    You can also opt to tap the Copy a link URL so that you can post it elsewhere.

  • Mail - how to send to large number of recipients?

    How can I send an email to a large number of recipients that I hold addresses for in a document without a) adding them to my contacts, and b) so that they can't all see each others addresses?

    I thought about using BCC, but it seems a little messy although it would do the job.
    Messy how?  That's exactly what it's for.  In fact, there's no other way to hide addresses from other recipients of the message.  The only other way to do it would be to script automated sending of one message per address, and that would get quite messy!
    What is the maximum number of recipients that Mail can handle?
    There's no limit enforced by Mail, AFAIK.  The limits come from the SMTP server you're using.
    One of the issues I had when using Outlook on Windows for this by copying and pasting from a text document, was that if there was an invalid/non-existent address in the list, it would just return an error and I was never quite sure if the whole thing didn't send, or if it was just to the dodgy address(es).
    In Mail, you'll just get a bounce message for any addresses that don't exist.  The one exception to that is addresses on the same server that you're sending from...  often, the server will simply reject the attempt to send to an address that it knows doesn't exist.  I'm not sure what kind of message the server returns in that case, though, and suspect it depends on the server.  It's been a while since I've seen such a problem.

  • Add tcode to large number of roles

    Hi all,
    Is there a way to add a tcode to large number of roles (around 20) using pfcg? It would be great if I can do it once instead of modifying role by role.
    Thanks.

    Yes, You can actually write a ABAP program, but bottom line is that you cant edit more than one role at a time in PFCG.
    The program would also have to edit one role at a time

  • How to handle a large number of query parameters for a Browse screen

    I need to implement an advanced search functionality in a browse screen for a large table.  The table has 80+ columns and therefore will have a large number of possible query parameters.  The screen will be built on a modeled query with all
    of the parameters marked as optional.  Given the large number of parameters, I am thinking that it would be better to use a separate screen to receive the parameter input from the user, rather than a Popup.  Is it possible for example to have a search
    button on the browse screen (screen a) open a new screen (screen b) that contains all of the search parameters, have the user enter the parameters they want, then click a button to send all of the parameters back to screen a where the query is executed and
    the search results are returned to the table control?  This would effectively make screen b an advanced modal window for screen a.  In addition, if the user were to execute the query, then want to change a parameter, they would need to be able to
    re-open screen b and have all of their original parameters still set.  How would you implement this, or otherwise deal with a large number of optional query parameters in the html client?  My initial thinking is to store all of the parameters in
    an object and use beforeShown/afterClosed to pass them between the screens, but I'm not quite sure how to make that work.  TIA

    Wow Josh, thanks.  I have a lot of reading to do.  What I ultimately plan to do with this (my other posts relate to this too), is have a separate screen for advanced filtering that also allows the user to save their queries if desired. 
    There is an excellent way to get at all of the query information in the Query_Executed() method.  I just put an extra Boolean parameter in the query called "SaveQuery" and when true, the Query_Executed event triggers an entry into a table with
    the query name, user name, and parameter value pairs that the user entered.  Upon revisiting the screen, I want the user to be able to select from their saved queries and load all the screen parameters (screen properties) from their selected query. 
    I almost have it working.  It may be as easy as marking all of the screen properties that are query parameters as screen parameters (not required), then passing them in from the saved query data (filtered by username, queryname, and selected
    item).  I'll post an update once I get it.  Probably will have some more questions as I go through it.  Thanks again! 

Maybe you are looking for