June 15, 201312 yr I'm still learning as far as calculations go, particularly calculations within calculations. The other day I wanted to get a list of people from a contacts file that don't have an email address. I could get a list of everybody but I couldn't filter out the ones without email addresses. Would you wrap a FilterValues calculation around the List function or vice versa or do something completely different? I managed to do it by establishing another relationship that did the filtering for me and then used the List function. Nothing wrong with this solution I feel other than having another table occurrence on the relationship graph just to accomplish this one thing. In this instance I would have preferred to have been able to create a calculation field that filters the List function. Could somebody give me an example of a calculation that would work please?
June 16, 201312 yr The easiest thing is to do a basic find for contacts with no email. Show all records, Enter find mode, set field email "=", perform find. Then you can list the id's or whatever else you may want to do with the found set. Or am I missing your question entirely?
June 17, 201312 yr I managed to do it by establishing another relationship that did the filtering for me and then used the List function. Nothing wrong with this solution I feel other than having another table occurrence on the relationship graph just to accomplish this one thing. It is better to add another table occurrence to the graph than the overhead of a filtering calculation. With version 12, you can also use *ExecuteSQL() to pull the proper values but as Brooks indicates, performing a find behind a Freeze Window would leave the smallest footprint overall. Good on you for asking the questions. *ExecuteSQL() is a powerful tool but it too can become slow in large record sets unless the SQL statement is fairly simple.
June 17, 201312 yr Author The easiest thing is to do a basic find for contacts with no email. Show all records, Enter find mode, set field email "=", perform find. Then you can list the id's or whatever else you may want to do with the found set. Or am I missing your question entirely? Sorry, it's a little more complicated than just a basic find I think. I was looking to pull contacts with no email address into a related memorandums file. As they have no email address they won't receive memos via email and will require the information by another means. It just act as a prompt for me to do this.
June 17, 201312 yr Author It is better to add another table occurrence to the graph than the overhead of a filtering calculation. With version 12, you can also use *ExecuteSQL() to pull the proper values but as Brooks indicates, performing a find behind a Freeze Window would leave the smallest footprint overall. Good on you for asking the questions. *ExecuteSQL() is a powerful tool but it too can become slow in large record sets unless the SQL statement is fairly simple. Thanks Laretta, I've no real issue by solving the problem with another table occurrence. I just fancied the idea of doing it by filtering the contents of the List function. A little personal challenge and adding another string to my bow so to speak. The more I use FM the more I realise there are multiple ways of doing things, although I don't suppose it's necessarily a good thing to get all fancy when something simpler and cleaner would suffice.
Create an account or sign in to comment