peptoulcer Posted May 3, 2011 Posted May 3, 2011 This request is to understand variables, related records, GetNthRecord and looping. It is not because I have a real problem. If you don’t want to help because it isn’t real problem I understand but I hope you will because I am learning and probably won’t bother with this issue if/when I ever need it if I can understand this. Short version: I am trying to understand why my start and end dates don’t increment forward when moving through the related records using GetNth. By start of third loop, it should change the start date to 4/1/11 and the end date to 4/15/11. Long version: Perspective: I want to stay on the staff table. A staff may have multiple schedules or none. One field in this schedule comes from another template file (so this might be similar to customers to line items to products?) with products being one side to line items but line items being multi to customers. Here is what I want: I want one variable line each for every staff (for virtual table). If the staff doesn’t have a schedule, the variable should say “No schedules”. But here is the twist: If the staff has schedules, I want to look at the template table and find the color. Then I want to group by color and the line for this staff should be min start and max end for the color. I do not want to create relationships or fields. I want to handle this via script to understand GetNth and looping related. If I look forward to the next related record then I can not grab the template color (it seems to always grab on the first related to the child). IIRC, staff sees template directly as if schedules wasn’t there. That probably didn’t make sense but it doesn’t work trying to pull info from third table. So I put the first related record’s values into variables and then move forward one (according to $kount and GetNth) compare the current related record back to the variables to see if the color has changed. If the color changes then I write the variables to $$line and use tilde to separate the various lines which I will turn into carriage returns (I think) later. Actually none of this is as important is understanding why it breaks … the dates don’t change in that the start and end dates don’t change according to the script using Min and Max but the color does so it isn’t like two tables away issue. It just won’t work. I want the min start for a specific color and the max end for that same color. And then place that into $$line variable as single line. If you go through script loop four times you will see where it breaks, he he data viewer sweet. When it hits $kount3, it should change the $end to 4/15/11 which is greater in value than 4/1/11. Those dates just don’t move forward but always stay on the same value and I don’t get it. I tested Min and Max and they ignore empty dates so I thought it should work. BTW, I’m playing to understand because I got Advanced and the data viewer and debugger are fascinating to watch. BTW, comment, if you happen to read this, I have not forgotten about your link. I kinda got side-tracked playing with watching stuff but you can bet I will review that next. lol I hope you all don't get mad at me for this. please ignore if I am asking too much or if I need to pay someone then I will have to ask my wife first. She justifiably handles the money. BTW again. This is made up tables to give you example. testVar.zip
comment Posted May 3, 2011 Posted May 3, 2011 If I follow this correctly (big if...) you want to work mainly in the join (schedule) table. After doing GTRR to find the related records for the current staff, sort the records by color. For each sorted group, get the min start and max end. You will need a couple of summary fields in the schedule table to make this faster. Do a search on the forums for "Fast Summaries".
bruceR Posted May 4, 2011 Posted May 4, 2011 Your script does not do what you think it does. For one thing, it cannot identify different dates for any staff record; it will only capture the first date pair. It cannot recognize the found set in the schedule table because - as you explicitly describe - it never goes to the schedule layout. You test for different colors but then never capture them. Take a closer look at Comment's advice. Modified script result: ParentID: 1 ~3/17/2011 4/1/2011 red~3/17/2011 4/1/2011 red~3/17/2011 4/1/2011 red~3/17/2011 4/1/2011 red ParentID: 2 no schedules ParentID: 3 ~3/4/2011 3/6/2011 red~3/4/2011 3/6/2011 red~3/4/2011 3/6/2011 red~3/4/2011 3/6/2011 red~3/4/2011 3/6/2011 red ParentID: 4 ~ red~ red~ red~ red ParentID: 5 ~ red~ red~ red~ red testVar.fp7.zip
peptoulcer Posted May 4, 2011 Author Posted May 4, 2011 Hello Comment and thank you for considering my request. I figured I over-did the request and file. My apology. Coming from the land of SQL, I struggle to translate the concepts to FileMaker. Relationships are WAYYYYY different than queries. I need to create a left outer join which means all records from first table and if no children it creates a NULL child as a PlaceHolder. But in FileMaker, I can’t create NULL children and I don’t want to add empty records in child table just to make left join work. If I didn’t care about the order, I could find all staff records without any schedules and write those IDs to $$schedArray. Then I could find staff with schedules and gtrr to schedule table and add those to the end of $$schedArray. But 1) that is not a clean process, 2) there are usually several arrays I am writing from the staff table and 3) I must keep in sequence for virtual table. IOW, I create the left outer in an array right from parent and then display it using a virtual table. No jumping between layouts, no opening windows or multiple finds. I discovered GetNth and I can ‘loop’ through children. BTW, it just hit me that I could probably loop through the portal that I just created in the modified sample. But again, I should not have to when GetNth does it. I have simplified the demo to point specifically at what I don’t understand. Why am I not ending up with in custom dialog with start of 3/17/2011 and end of 7/24/2011? I am comparing the start of the current related record via GetNth($kount) to a variable $start (which is start date of prior related record). And if you say the link you pointed to would have solved all of this I will feel like total fool lol. BTW, I realize I could only grab the ID in most cases and then relate that ID in the virtual table and recreate all the relationships and table occurrences on the virtual table. But why do that when I have those relationships in another table occurrence group that I am pulling the array information from? It is easier to create my multiple arrays of the field values from my originating group and leave virtual table free of duplicate relationships. I know, I know…I have a lot yet to learn. So smack me if I’m way off base here. But honestly I mainly want to know why my dates in that script don’t work. But if you know how to create left outer join please speak up. I just read response by Bruce. I checked and I see that had the demo wrong. Attached is corrected version (I had forgotten to wrap with GetNth to specify which child record I was working on in the demo script). I hope this simpler demo shows you what I mean and meanwhile I will review your demo, thank you Bruce. And in my real solution, the real script works on grouping the colors(except for the date issue). I tried to shorten it to make the example easier. GetNth loops through related. But this second example clearly shows what I need and GetNth works on looping through children but the dates STILL BREAK. Much appreciated guys. And I'm open. But I've been reading everything on every forum for filemaker on left outer and it doesn't seem possible without creating a temp table. And since I now use virtual table (idea originally from Bruce I think and it is very cool) then left outer is now possible using GetNth. testVarSINGLE.zip
bruceR Posted May 4, 2011 Posted May 4, 2011 You are not taking into account how tha max/min functions work. They do not do the calcs within the statement; you must capture the values before the test. testVarSINGLE.fp7.zip
peptoulcer Posted May 4, 2011 Author Posted May 4, 2011 You are not taking into account how tha max/min functions work. They do not do the calcs within the statement; you must capture the values before the test. Actually, Bruce, it works if I do this: Min ( $start ; GetAsDate ( GetNthRecord( schedule::datestart ; $kount)) ). My example works so Min and Max DO work with calcs within the statement. Before I wrote this process, I studied Min and Max and realized that they ignore empty dates and I know that GetNth properly moves from child to child. I started thinking that it was a type cast issue after I responded earlier and I think that may be the issue. I've been testing using Getasdate on all parts of it. I would really like to pin this down. If I wrap $start with GetASDate or even if I set $start with GetAsDate(bla) it doesn't work. But only if I wrap GetNthRecord with GetAsDate it then works. So I think that, if $start is empty and then filled with a date, it will be date (it sets the type cast) but first it is text in variable, right? Or it is GetNthRecord that doesn't identify the type of date. Am I misunderstanding again?
bruceR Posted May 4, 2011 Posted May 4, 2011 Suggest you stop this; and listen to Comment; and forget getNth, which has other context complications you have not addressed yet.
peptoulcer Posted May 4, 2011 Author Posted May 4, 2011 Suggest you stop this; and listen to Comment; and forget getNth, which has other context complications you have not addressed yet. Why would you presume that I have not listened to comment? Do not tell me to stop anything. If you don't want to answer then don't. Why is that I feel like you are treating me like a child and saying, "stop. just because I said so." Not good enough reason. Did you even read my last thread about left outer join and the issues? Or did you just not like that I realized I didn't need your script of creating an additional variable? I feel like I've been slapped right now and it doesn't feel good at all.
Vaughan Posted May 5, 2011 Posted May 5, 2011 I have no idea whet you're doing. But this... Min ( $start ; GetAsDate ( GetNthRecord( schedule::datestart ; $kount)) ) ... could probably be replaced with: Min ( $start ; GetAsDate ( GetValue( List( schedule::datestart ) ; $kount ) ) ) )
comment Posted May 5, 2011 Posted May 5, 2011 Relationships are WAYYYYY different than queries. I am not sure how much different they are, but certainly applying SQL-esque way-of-thinking to Filemaker can be horribly ineffective. For example, the notion of looping through children by using GetNthRecord() from the parent's layout, in order to avoid "jumping between layouts". In Filemaker, layouts are the gateways for addressing the data in the underlying table (there's very little you can do with a table that does not have a layout). It is far more efficient to "jump layout" and have all the data laid out before you than squinting through the narrow peephole of GetNthRecord(). I am also not sure why you "need to create a left outer join". I am quite sure Filemaker does not support a left outer join. I get the feeling that this "non-problem" of yours is not defined well enough in terms of its goal. Arrays and a virtual table are not goals. As for why your script didn't work: it as a quirk with the Min() and Max() functions when working in conjunction with GetNthRecord() - and a few other functions, IIRC. Although the result of GetNthRecord ( Datefield ; n ) is undoubtedly a date, it is not as unambiguous when it's wrapped in an aggregate function.
peptoulcer Posted May 5, 2011 Author Posted May 5, 2011 Thank you, Vaughan and Comment for helping me. I was told twice by someone else on this thread to listen to you. I did listen and I do listen and I also try everything and read everything on the subjects and study very hard. You said go to child table and I can't. I thought I was clear particularly after my explanation of the left outer join and no FM does not do left outer join and that is the problem. A) If I want detail from a table (many) which is related to a parent (one) but I also want the parent to be included if there is no detail then I can't do it from the detail table. I can not look to the parent table and say, "give me the Staff in same sequence in the staff that doesn't exist in schedules table." I cannot see what I am not related to. And I certainly can't create a report which combines them; I must create a temp table for the report. Virtual table concept overcomes this limit. I can combine two or three tables into one if I wished. C) But I MUST be sure that the arrays created are in the exact same sequence so the ID of the virtual table (serialized numbers) matches the value number of every array I create. Simply, if I stand in the parent table and write the arrays then all the arrays are in exact value sequence so that the virtual table automatically just displays the proper information in the proper sequence (matching the correct values to the correct records). It combines the ability to finally create a left outer join and the flexibility of the virtual table into one. And no, I wouldn't use it for every report but any time that I need tweaked reports with funky groupings which aren't standard; any time I need left outer or a union query (several tables) into one then I can do so using arrays and virtual. If I write the arrays then I need no relationships to the virtual table at all (or very few) because I will be using existing primary relationships. Fast Summaries does not help because it would mean standing in the child table and losing the value number match to the parents (and parents who do not have children) and their arrays in value sequence. Comment said, "but certainly applying SQL-esque way-of-thinking to Filemaker can be horribly ineffective." I am not. I am not a SQL person having trouble adjusting to FM. I am an FM person who also is a SQL (and other things) person. But the need for left outer join is universal and I plan on solving it; actually I have solved it. I was stuck on Min/Max with GetNth. I am open to other ways of solving left outer but I would rather stand in the parent and peek at the children to write the arrays and keep them in proper sequence so they match the ID in the virtual table than to jump to the children and get the entire thing out of whack or give up creating left join entirely. I have asked how you would create a left outer. You say it is not possible. I believe you, Comment but that answer is not sufficient when we still have the need and I can do it if I peek (as you say). Better to peek than not at all. And I am told to stop but it is not in my nature to stop looking at all possibilities and I do not apologize for it. I have renamed what I'm doing to 'peeking' and when peeking through 20,000 records to 55,000 child records to 500,000 virtual table is very fast. Thank you for explaining the issue with Min/Max and GetNth. I now realize I must type cast in some situations. Is there anywhere you or Vaughan can recommend where these problems are discussed? I searched for "other context complications" as Bruce mentioned and I can find little-to-no discussion on three different forums. I have found some threads but nothing related to this. Anyway, I had asked for help in identifying why the dates broke and you provided an answer. And I will not let someone else flutter me like my prior post. Nothing is worth negative energy. I know me and I know why I study and nobody can tell me to stop when I am on an exploration (which I clearly explained at the beginning). note - that first smile icon was a B with ending parenthesis.
comment Posted May 5, 2011 Posted May 5, 2011 I have asked how you would create a left outer. You say it is not possible. No, that's not the point here. I have asked why do you think you need a left outer join for this. It's quite possible I have by now lost the focus on what exactly "this" is. I thought the goal was: If the staff has schedules, I want to look at the template table and find the color. Then I want to group by color and the line for this staff should be min start and max end for the color. What does this have to do with staff that does NOT have schedules? If I want detail from a table (many) which is related to a parent (one) but I also want the parent to be included if there is no detail then I can't do it from the detail table. What's stopping you from looping on the parents AND on the children (for those parents that do have children)? My point is that going to the layout gives you many more options. For example, you can sort the records in any order you need. You are looping on the children anyway - you're just doing it from across the river. Anyway, as I said, I don't know what this is about anymore.
bruceR Posted May 5, 2011 Posted May 5, 2011 Thank you, Vaughan and Comment for helping me. I was told twice by someone else on this thread to listen to you. I did listen and I do listen and I also try everything and read everything on the subjects and study very hard. You said go to child table and I can't. You can't go to a child table? You can; it is recommended; and it is something you should be able to do successfully independent of of whether you finally choose to do so in this particular case. The advice still stands; as Comment has repeated. It would be helpful to read more precisely and interpret suggestions as suggestions; and to consider that suggesting you acquire and practice foundation scripting skills is a valid point of view. It would also be helpful to post a stripped down example of what you are trying to do.
peptoulcer Posted May 5, 2011 Author Posted May 5, 2011 And it would help if you read what I had posted if you were going to respond. It would be helpful to read more precisely and interpret suggestions as suggestions; and to consider that suggesting you acquire and practice foundation scripting skills is a valid point of view. Do not put your misinterpretations upon me. I read precisely. Practice acquiring foundation scripting skills? People can be new but that does not mean that they shouldn't post and that they should be perfect before they ever ask a question here. I do not accept nor want your judgements of me. You do not even know me. Who do you think you are anyway? I would think that you would answer more accurately about Min/Max, such as they CAN have calculations within them. So don't you judge me. Now I see why I've been told that many people leave this forum. It is because of condescending responses such as this from you Bruce. "It would also be helpful to post a stripped down example of what you are trying to do. " I DID. YOU CHOSE TO PICK IT APART and ignore the fact that I said I was LEARNING... that I had no REAL PROBLEM at the moment. You are the one who needs to listen.
peptoulcer Posted May 5, 2011 Author Posted May 5, 2011 Thank you anyway, Comment. The opening sentence of this thread clearly said what I needed. It was to answer the question about dates and I hoped by including the testing I was running (which requires left outer) that I could learn a better way as well. But I do not like the attitude of that other person who is responding in demeaning manor and I will not respond again if he responds. I would rather work this all out myself than deal with him because he is not worth ruining my day nor my excitement to learn. I needed a left outer join. I needed to solve the date issue. And it has been blown way out of whack like I am some fool for trying to do this at all. I doubt I'll be back. But that other person is not welcome to answer me if I ever do come back.
Vaughan Posted May 5, 2011 Posted May 5, 2011 My take on the poster's problem is this: If I want detail from a table (many) which is related to a parent (one) but I also want the parent to be included if there is no detail then I can't do it from the detail table. I don't think there is an easy way to do it in FMP. 1
peptoulcer Posted May 6, 2011 Author Posted May 6, 2011 Thank you for responding, Vaughan. Well, I may need to peek through to the child table but I create left outer joins easily and that was my point and it isn’t difficult at all except when I hit type cast issues relating to GetNth. The difference between normal virtual technique and how I am trying to use it is that, instead of only grabbing an ID, I write everything I need to several arrays while I am standing in the primary table occurrence group. In this way, I do not need to clutter the graph by duplicating all of the relationships and attaching again to the virtual table which takes a lot of time, resources and each report of this type requires different relationships. Why do it when I am standing in the primary table group of whatever information I want to grab anyway? And that is why I must keep the sequence of the array values in order and fill with place holders if there is no value. It is easy once you’ve done it a few times. Virtual table produces a flat file from the many side while including parents without children. The only way to do left outer is to create a temp table. But temp tables are dangerous in multiuser and since I already have virtual technique, it works perfectly for this purpose. Virtual table becomes generic and labels can be controlled; I name them in my script. If anyone would bother to check this file, this shows exactly what I mean. For two large, twisted reports pulling data from several tables into one report, it is very fast as well. I found another gotcha about GetNth. If used within List it requires specific type cast of dates or numbers also such as: List($$schedid; GetAsNumber(GetNthRecord(schedule::schedid;$kount))) I would like to make virtual table so that field data1 uses calculation of: GetValue( "$$" & RightWords(GetFieldName(Self) ; 1) ; ID) so that I could simply create my arrays as $$data1 etc and those generic fields grab those generic arrays but it will not evaluate. Anyway, I make no apology for my testing and trying these things. If it offends some people because they think I'm an idiot for trying this stuff then so be it. this is TESTING as I have said. But it is currently providing me with solutions I could not get otherwise and I DO KNOW HOW to script and use relationships in many different ways. I do not think this replaces standard relationships or other scripting methods; only that it solves one issue which is left outer or reports which mix illogically. This is what i have repeated in every post ... I needed left outer and I provided an example at first of where I might use it and where it was breaking and that I was testing and it turned into a nightmare of being told to stop by Bruce. Never. Absolutely never. I think I can make the labels even more dynamic. I think I can fine-tune much of this. But for this demo, this is all I am going to provide because nobody seems to get it except me (and maybe now you). This example file shows left outer (I want all staff) but details from schedule. And it needs to also have sales (which has nothing to do with schedule). It is not a good example but I have one report where the detail of the report is not even related to Other data pulled in but I could easily include it because I produced the arrays while in primary group. And no, this is not huge, impressive, solve-everything example. Staff 2 wouldn't be in report based upon Schedule but he is now and so are his sales from an unrelated (to schedule) table. LeftOuter.zip 1
comment Posted May 6, 2011 Posted May 6, 2011 Well it's too bad your first post, despite its considerable length, didn't mention that this is what you wanted. Because... UnionReportVirtual.zip
peptoulcer Posted May 6, 2011 Author Posted May 6, 2011 “Well it's too bad your first post, despite its considerable length, didn't mention that this is what you wanted.” Considerable length? C’mon, I gave short version for those who are reading-impaired. I wanted to understand the break in my dates. I wasn't posting about left outer join because I had that solved. But I could not provide example of where I was using it without peeking from parent to child and I thought the break had to do with peeking or maybe the grandchild colors. It is you’all who went after me like dog with stick on why I was peeking and I clearly told you in the second post that I REQUIRED left outer join and I said, “I figured I over-did the request and file. My apology.” And I meant it. Bruce kept telling me to listen to you and you were telling me I didn't need left outer. Anyway, to your file, thank you for providing a sample. Your method of peeking into the child from the parent is different but both methods are peeking. I use values in a variable array and you use repetitions in a variable array; that is only difference. I sure recognize using Get(recordnumber) for the repetition number (see another post of mine for similar discussion where I used this for repetition array). And I have no argument in using repetitions since both the max number of repetitions and max number of virtual ids must be predicted. In fact I see no real difference at all whether we are listing values or repetitions in our variables. I like your substitute calc and it is quite possible (you would know better than I) that it might cause less problems or surprises than GetNth. But it has one flaw of its own and maybe you can tell me how to get around it. Take out the value 201 on child id 3 Charlie and see what you get. Your place holder N/A is there but doesn’t display because it is a number field and it has reversed the values (N/A is on Echo and Charlie has the value belonging to Echo). I would still lean to values instead of repetitions because I believe it offers more control over the place holders. But I think using Substitution() would be better than GetNth if I can understand how to increase its flexibility here and fix this break in it. Again, we have the issue (in both methods) of clearing the variables so we need to loop. Mine would be shorter clearing process because I am only clearing the fields while yours will need to loop clear every repetition (more loops I think). I will certainly study your method thoroughly and yes, I do listen to you but neither do I take everything as gospel without working through it myself. People will ignore my file and only look at yours since you are the big wig here. I hope they have enough sense to check both methods because I am still not convinced yours is better approach. The horses haven't crossed the finish line for me yet. Thank you very much, Comment and thank you Vaughan for saying what they'all couldn't hear repeatedly from me.
comment Posted May 6, 2011 Posted May 6, 2011 you were telling me I didn't need left outer. I don't intend to beat this horse to death - but perhaps you should review this thread from the beginning. I don't think you'll find me saying you "didn't need left outer". But I have already explained this in post #10. There is no connection (that I can see) between your original post and your final file. It's all right to redefine the problem being discussed - but I would have appreciated being told about it. It is you’all who went after me like dog with stick Hello?
peptoulcer Posted May 6, 2011 Author Posted May 6, 2011 I have reviewed this thread many times. You were told. You wouldn't listen. Well you are obviously offended and I didn't mean to. By dog with stick I meant you kept suggesting different approach. But I'm not going to continue either so don't worry. It really wasn't you but that other guy. Regardless, you are not being friendly so I'll just leave. However, I am going to post my file for others who have left outer join issues. I wouldn't want them to have to deal with the tone on this thread to get the information.
comment Posted May 6, 2011 Posted May 6, 2011 You were told. You wouldn't listen. Well if I wasn't offended before, that surely oughta do it, don't you think?
peptoulcer Posted May 6, 2011 Author Posted May 6, 2011 And I would say the same from many things said throughout this thread. Comment said "It's all right to redefine the problem being discussed - but I would have appreciated being told about it." I told you several times. And I did not redefine the problem - the problem was dates. It was you two who went after the approach I was using - stop using GetNth, stop peeking. I kept saying I needed to create left outer. You are not only beating a dead horse - you are group beating one. This horse is done. I removed my 'best regards' because I don't feel them any more.
peptoulcer Posted May 6, 2011 Author Posted May 6, 2011 I removed my 'best regards' because I don't feel them any more. I do apologize for this. But I do not apologize for anything else I said. I suppose people will now get in a long line to take turns flogging me for having the nerve to disagree with the most popular person on this forum. :gang:
peptoulcer Posted May 7, 2011 Author Posted May 7, 2011 Here is a sample file which walks through the process and explains very clearly how to create left outer joins . This is not to prove a point; this is not to begin an argument; this is not to offend, demean, belittle, or make fun of anyone here. It is for those who wish to understand the technique. Left outer join or union using arrays
bruceR Posted May 7, 2011 Posted May 7, 2011 This is a very nicely done example of using a data collector script and variables to create flexible reports. However - it does not provide accurate sales totals for the schedule period, as this cannot be done with a technique based on getNth. Perhaps this is an acceptable limitation for the purpose of the example.
peptoulcer Posted May 7, 2011 Author Posted May 7, 2011 Thank you, Bruce. But I'm not sure I understand what is wrong with it. These sales amounts were pulled from the relationship of Staff::staffid=Sales::staffid and it uses a summary field in Sales. That is why it is powerful to grab the information from the primary relationships. Staff 1 has a summary of 115 and staff 2 has summary of 395 and that is what the detail sales show as well as the virtual table (Schedules). I realize that it repeats the sales values but it must because it is flatline (just as it repeats the staff name). I realize too that I could hide all but first line and only 'show' one unique of each from parent table. And I could even fake the totals to only give me one grand total. The purpose wasn't to show 'sales totals' for certain schedule periods. In fact, that is precisely why this technique is helpful; they aren't truly related but managers want to see the information together nonetheless. What else am I missing here? BTW, I did not rate or label myself 'Advanced Member' and I do not like being called that. Do you know how I can change it back to whatever it was, such as novice?
bruceR Posted May 7, 2011 Posted May 7, 2011 Regarding the "Advanced Member" thing I don't know how that gets started. I was labeled Pooh-bah for a while; and I did not give that label to myself. Some admin with a sense of humor maybe. But you can go to your profile and change it I believe. Regarding the totals, I guess there are levels of usefulness. I can see that at least having them is of value; having them specific to the period seems to be a question a manager or salesperson would like to know. But then - well - we are back to the issue of going to related layouts and collecting the information. There quite a number of ways to do this. You can create a summary report layout; or you can create a blank layout which has the right context and walk the records and capture the data to variables similar to what you are doing now. There are also ways to collect related data using the list function but you need to be careful with that. For instance, you can get a list of related sales; and a list of related dates; and a list of related amounts. Then you can loop through each list and look at the date and see which report period it falls in. But a hazard of the list function is that it collapses empty values. So if you are getting item 4 of the sales ID list; and item 4 of the sales date list; and item 4 of the sales amount list; it is possible that item 4 of the amount list does not exist or comes from sales record 5 because amount 4 was empty. Fuzzy when explained by text, I know, and better with an example but I don't have time to make one right now.
peptoulcer Posted May 7, 2011 Author Posted May 7, 2011 Regarding the totals, I guess there are levels of usefulness. I can see that at least having them is of value; having them specific to the period seems to be a question a manager or salesperson would like to know. Many times I am asked to provide information such as this "and, by the way, since we are looking at a staff's schedule can you display the staff's total sales so we can know if they are producing sufficient revenue?" It simply provides them immediate information so they don't have to look elsewhere and the fact that the information is NOT really relevant nor related but available to pull through to the report is exactly the point of it. If the information WERE relevant then it would be a relationship connected to Schedules in the primary TOG. So if you are getting item 4 of the sales ID list; and item 4 of the sales date list; and item 4 of the sales amount list; it is possible that item 4 of the amount list does not exist or comes from sales record 5 because amount 4 was empty. I thought I clearly covered the need for a PlaceHolder for empty values, both in this thread when trying to mention how I must keep the values in sequence and in my demo in explaining case() testing of field contents. ...better with an example but I don't have time to make one right now No example needed. For myself, I've already been all over the subject and know how to resolve it and complicating this example by taking the values into *grandchild territory would not do this audience or thread any justice. If discussions on the technique should continue then I suggest they continue on the thread opened for in Articles/Techniques since some people on this thread feel that it wasn't the original subject to begin with. And it wasn't. But, since I was questioned as to why I was using GetNth to peek, it flowed this direction anyway. If you would have asked me yesterday if I thought I would be posting a demo of a technique, particularly this one, I would have laughed! I am actually now tired of the subject and I'm moving to more exciting things such as sorting dynamic value lists and recursive custom functions using my new copy of Advanced. * grandchild territory is another issue I am working through elsewhere which I don't want to get into now. But I only mean that when looking at a grandchild, you won't get what you think you get.
peptoulcer Posted May 7, 2011 Author Posted May 7, 2011 This is a message to Comment: I tried to send you a private message but it said you could not receive private messages so I will post it here. Hello Comment, it is Andy, the one you spoke with on the GetNth issue. I am not sure if it is okay to contact you but I want you to know that I am sorry for our interaction. And I am mostly sorry for removing the 'best regards' from my message to you. I was offended by your last message to me when I was trying so hard to explain things. My posts kept getting longer and longer because it was clear that I was not getting through. It was my fault that you did not understand and not that you didn't listen although I still can't see how I could have said things better. I want to apologize to you about it and I hope you will accept my apology. If you wish I will do so on that thread as well. I guess I am now. I do not want to try and explain again how we were missing each other on communication but the topic of the thread didn't change. It was instead side-tracked to why I was peeking and I found myself defending my method and also asking then for alternate approaches. I have read this forum for a year or so and I have always respected you and I still do. Please let me know if there is something else I can do to amend things. I regret letting my frustration out on that thread. Andy
Recommended Posts
This topic is 4949 days old. Please don't post here. Open a new topic instead.
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