cat traveller Posted February 13, 2012 Posted February 13, 2012 Hello, for days I am trying to figure out how to do this- maybe it is easier then I think: on a multiuser enviroment all on fm pro 11, I would like to use a mix of the virtual list technique (bruce robertson?) with displaying related data for input through a portal. Anyhow what I would like to do is this: create a multiline key to display data that is filtered dynamically. the approach: parent connected to child via x cartesian list (fieldfromchildindexed) the field I am listing displays two fields in one line like so: categorykey||keychild The list will retrieve no more then 6k records max. Now what I would like to do is remove all the lines from the list that don't have a "selected" category in them then I would like to remove all the left (list (Position (list ; "||"; 1;1)-1 from the list, giving me a clean multiline key to set as the starting point for my portal to display. I read something like this but I cannot manipulate it properly. Can anybody please help? I am not good at recursive functions... The reason for doing this instead of a search and omit and getnthrecord values is my worry about speed for the users over wan. Thank you.
imoree Posted February 18, 2012 Posted February 18, 2012 Now what I would like to do is remove all the lines from the list that don't have a "selected" category in them then I would like to remove all the left (list (Position (list ; "||"; 1;1)-1 from the list, giving me a clean multiline key to set as the starting point for my portal to display. so - within your loop script that builds the Virtual List, make sure that category == "selected" if found perform your left ( list ( Position ( list ; "||"; 1 ; 1) -1 -i
comment Posted February 18, 2012 Posted February 18, 2012 Now what I would like to do is remove all the lines from the list that don't have a "selected" category in them Is there a reason to suppose this will be faster than a relationship based on inequality?
cat traveller Posted February 21, 2012 Author Posted February 21, 2012 so - within your loop script that builds the Virtual List, make sure that category == "selected" if found perform your left ( list ( Position ( list ; "||"; 1 ; 1) -1 -i Well, the point is that there is no loop script to build the virtual list. The starting list that I would like to filter is created via the list ( childfieldindexed). I am stuck on making the function recursive to loop through the records that are in the listfield ....
cat traveller Posted February 21, 2012 Author Posted February 21, 2012 Is there a reason to suppose this will be faster than a relationship based on inequality? I am just supposing. This is a WAN issue. I dont want the full records to be transferred from child. My idea is - based on the idea of fast aggregates by weetbicks http://www.teamdf.com/weetbicks/the-search-for-fast-aggregates-implementation-results/100/ that I could get a list of ids from a big list via the list (indexedfield) from a field that actually contains two fields as a stored, indexed calculation. Instead of getting the full records, I would like to get just that field index (no full records are calculated) of all records (say 15K) and then recursively run through those records in a recursive function in order to filter down the foundset. When that list is done and complete, I would then just get the found set (and records would be downloaded). Am I making sense?
comment Posted February 22, 2012 Posted February 22, 2012 My idea is - based on the idea of fast aggregates by weetbicks http://www.teamdf.co...on-results/100/ Perhaps I am not reading it correctly, but it seems that the "big list" is being obtained from a value list, not through the List() function?
cat traveller Posted February 23, 2012 Author Posted February 23, 2012 Perhaps I am not reading it correctly, but it seems that the "big list" is being obtained from a value list, not through the List() function? That is correct. I was still assuming that if I get the list with list (childrecords) it would do the same thing. It is a concept thought that if a list of records does not have to be sorted, do not have do any calculations and are indexed it will not download all the records but just the index. Anyhow: I could do the getvaluelistitems as well, that does not matter IMO (since I will be filtering anyhow). Its the recursion of the function I am stuck with. I could - in any case- sort the "found set list" if I am done....
comment Posted February 23, 2012 Posted February 23, 2012 It is a concept thought that if a list of records does not have to be sorted, do not have do any calculations and are indexed it will not download all the records but just the index. If that is true, why can't you get that list through a relationship based on: SelectedCategory ≠ Child::Category
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now