papacubby Posted July 13, 2004 Posted July 13, 2004 Working with Win XP, FMP 6.0v4 Example: 1.08, 1.08, 1.08, 1.09, 1.09, 1.11, 2.01 the aveage of these = 1.22 Peoples names in my data base, each name has 10 different fields, each with data in them from 1.00 to 16.12. (all whole numbers will be between 1-16 and all my decimals will be between .00 and .12) Question is how can create an 11th field and add up the other 10 fields finding the avage of the 10 fields with special regaurd to the decmials (Ave, the Whole numbers/and ave the decimals by themself)? Currently when I ave; I get a result of 1.22, because it ave all the numbers with no regaud of keeping the whole numbers seperate from the decimals. What I want is the mode or aveage of the number falling between 1.00 and 1.12. what I am looking for is something that would give me the results 1.08 or 1.09 Any chance FMP can do all this math and get the correct ave? Just thought i would ask before doing alot of work on my part. Thanks, and I am sorry if this is posted in the wrong forum!!
Lee Smith Posted July 13, 2004 Posted July 13, 2004 [color:"red"] NO! DO NOT DOUBLE POST. Instead, show a little patience when posting. Waiting a WHOLE half hour before complaining is ridiculous. When posting to a list, keep in mind that your priorities are not everyone else's. Here is a little file that shows how to get an average of a field. Lee AverageOfField.fp5.zip
Lee Smith Posted July 13, 2004 Posted July 13, 2004 [color:"blue"] Remove your other post by deleting it. We will continue to respond to this posts. I read your post literally as wanting the Ave of the field. After further review, I believe what you want are really wanting is the Medium of the field (i.e. half of the numbers are above and half of the numbers are below). If so, isn't the answer really 1.09? If this is correct, let me know and I'll post a second file Lee
Lee Smith Posted July 13, 2004 Posted July 13, 2004 Don't worry about it, I should have noticed that you were new to the Forum, and made allowances for it. I accept your apology, please accept mine. Lee
papacubby Posted July 13, 2004 Author Posted July 13, 2004 No Problem. deleted as asked. I would be happy with the middle most number HOWEVER, if it is possible to get the ave of the seven numbers I have as example above (NOT LETTING THE DECIMALS GO ABOVE .12) I would do a headstand for you!!
-Queue- Posted July 14, 2004 Posted July 14, 2004 1.06 is the average of 1.00 and 1.12. But the average of your six numbers in the example (ignoring 2.01) is 1.0883333333333333333333333333333 or 1.09, significantly. This wouldn't be too difficult to get, but I think we need to know how you're coming up with 1.06 first.
papacubby Posted July 14, 2004 Author Posted July 14, 2004 I am still plugging alone. I have not solved this yet. I would use help in figuring the MODE (middle most number). Like Pooh-Bah suggest. Only I do not want to forget about the 2.01. When I add the six numbers (all in the ones) it is easy to come up with 1.08 or 1.09. However when i add the 2.01 in the problem, I want the whole numbers to ave then the decmials to ave. Example: 1.08, 1.08, 1.08, 1.09, 1.09, 1.11, 2.01 If this helps it is considered feet and inches. 12 inches (.12) being the highest decmial. I will keep searching past post and reading up on calulating fields. FYI: I was wrong when i was coming up with 1.06. I was doing this by ave each whole number to get the 1 in 1.06, then I added and ave the 10ths to get the 0 in 1.06 then I added and ave the 100ths to get the 6 in 1.06. Sorry, after your post on the ave I figured out the adding of the 2.01 was what was giving me trouble with keeping my decmials with the range of .00 and .12.
-Queue- Posted July 14, 2004 Posted July 14, 2004 Well, the mode would be 1.08, since it's the most frequently occurring number. The median would be 1.09, since it's the middle number of the set. And the average would be 1.06. I'm not sure I undersand keeping the range between .00 and .12. Perhaps you could elaborate on that. The average is easy though. Just create a calculation to Average( field1, field2, field3, field4, etc. ). I don't understand how you plan on keeping an average lower than X.12, if it's result is greater than that. If you could explain its purpose, we might be of better assistance.
papacubby Posted July 14, 2004 Author Posted July 14, 2004 Well, I am building a Fantsy Football draft ranking data base and there is 12 teams. What I am doing is importing draft results from Mock drafts into the data base. the numbers imported represent the round they were picked and the pick within that round. Thus, 1.01 would be the first round and the first pick and 1.12 would be the first round and the 12th pick. However, 2.01 would be the second round and the first pick. After getting 7 and more drafts into the data base I noticed the Ave of these drafts were not telling the Ave draft spot the players were being selected at. I was getting results like 1.22 in the example I gave earlier. Thus, the importance of keeping the decmials between .01 and .12. Might be just as helpful to just have the mode and median. I new to FMP (using it about a year or more) and not even sure how to calulate Mode/median . Hope this help explain it more. FF worried you would not help a kid with that. Thanks
-Queue- Posted July 14, 2004 Posted July 14, 2004 Okay, I'm not a sports guy, but I think I sort of understand what you want. See if the attached file works for you. It uses a calculation to relate all similar Rounds and then averages all related records. DraftPicks.zip
papacubby Posted July 15, 2004 Author Posted July 15, 2004 I think this example is close. However, The attachment you gave sent would cal the draft picks within the round itself, not for the person being drafted, round by round. Instead if the record contained Fields: "draft1", "draft2", "draft3", ect. You then would see a longitudinal pattern of when the player was being draftd. I will attach a screen shot of my data and I hope that helps. On my attchment you will see team def and when they were draft in the last 9 drafts. "LOW" cals the lowest spot the team is drafted, "HIGH" cal when the highest the team was drafted. And "ADP" (Ave Draft Position) is what we are working on. Currently the field cal the ave of the numbers (with no regaurd to there just being a max possible of .12 in the decimals). Thanks for you time!! FMPDraftGuide1.zip
The Shadow Posted July 15, 2004 Posted July 15, 2004 While I have close to zero understanding of why you're trying to do this, here's a calculation that returns 1.06, by following your instructions for 7 fields (see attachment). The calculation pulls the digits out of each place for each number, it could be extended to more fields with obvious modifications. Round( Average(Int(f1), Int(f2), Int(f3), Int(f4), Int(f5), Int(f6), Int(f7) ), 0 ) + (Round( Average( Int(Mod(f1,1)*10), Int(Mod(f2,1)*10), Int(Mod(f3,1)*10), Int(Mod(f4,1)*10), Int(Mod(f5,1)*10), Int(Mod(f6,1)*10), Int(Mod(f7,1)*10) ), 0 ) / 10) + (Round( Average( Int(Mod(f1,.1)*100), Int(Mod(f2,.1)*100), Int(Mod(f3,.1)*100), Int(Mod(f4,.1)*100), Int(Mod(f5,.1)*100), Int(Mod(f6,.1)*100), Int(Mod(f7,.1)*100) ), 0 ) / 100)
papacubby Posted July 15, 2004 Author Posted July 15, 2004 Thanks Shadow. I have corrected my earlier post and was asking the wrong question, sorry. I will try to explain it: One person has ten or more different numbers (representing where that person was drafted) in ten or more different fields. I want to create an 11th field to find the middle most spot that person was drafted. Whole numbers between 1-16 and decimals between .00 and .12). How about this: (data-Example: 1.08, 1.08, 1.08, 1.09, 1.09, 1.11, 2.01) Can I create an 11th field that would say if? 1.07 then 7 1.01 then 1 1.08 then 8 1.02 then 2 1.09 then 9 1.03 then 3 1.10 then 10 1.04 then 4 1.11 then 11 1.05 then 5 1.12 then 12 1.06 then 6 2.01 then 13 .... All the way up to if 16.12 then 192 Once I have created this field (for each time data is entered; seven in this example here) that changes the data for each field to a whole number, based on these calculation, then create the 12th field that will ave and round the number off. Create the 14th field that will calculate and change the data back use the calculation below to get the results I am looking for. The middle most position the person was being drafted in a 16 round 12 team FF Draft. If 7 then 1.07 1 then 1.01 8 then 1.08 2 then 1.02 9 then 1.09 3 then 1.03 10 then 1.10 4 then 1.04 11 then 1.11 5 then 1.05 12 then 1.12 6 then 1.06 13 then 2.01 .... All the way up to if 192 then 16.12 If nothing else I hope this better explains what we are working on creating. Thus in my example I would convert my data to seven different fields to 8,8,8,9,9,11,13 then I would add and round (66/7 = 9.428 rounded to "9") then converted back (if 9 then 1.09) My result would create 1.09
stanley Posted July 15, 2004 Posted July 15, 2004 Papacubby: I haven't read all of this thread, just scanned it. It seems to me that you may be working at this backwards - if you've got 192 picks in the draft, why not use the pick number overall, rather than the pick number as decimal? If you do that (so the first pick in the third round is #25, not #3.01) you can simply use modulo12 arithmetic to calculate each player's average draft slot. Similarly, you can build a calculation using modulo12 to show where each number falls within the draft by round and draft number. -Stanley
papacubby Posted July 15, 2004 Author Posted July 15, 2004 I feel like I am working at this backwards sometime. I imported the draft results from a web page. I match up the names of each player and create a field for the new data coming in. Thus, each Draft has its own field. I have to stick with the numbers that are imported, and they come in as 1.01 through 16.12
DanBrill Posted July 15, 2004 Posted July 15, 2004 Hey, The problem here is that the notation you are using is base 10 on the left side of the decimal, and base 12 on the right side. Think of the notation for innings pitched in baseball, which uses base 10 and base 3. If on three outings a pitcher pitches 3.1 innings, 3.1 innings, and 4.1 innings, this is a total of 11 innings, not 10.3. (For the less sports-minded out there, 3.1 innings means 3 complete innings and 1 out of the 4th inning. For those of your really in the dark, an inning has 3 outs. ) So you need to rip apart the round.pick notation so that it makes sense in base 10, perform your calcs, and then put it back together into your notation. See the attached example for how to go about this. It may not be exactly what you are after, but it is close. BTW, I was surprised to see that there is no Median() function in filemaker. I hadn't needed it before this so never noticed it, but there would have been a day that this would have caused one of my projects to come to a grinding halt. So the averages I use are mean averages. Does anyone know how to get median and mode averages? Has anyone put together a custom function for these yet? Thanks, Dan Base12.zip
DanBrill Posted July 15, 2004 Posted July 15, 2004 Sorry, Just noticed you were using FP6. Try again... Base12.zip
The Shadow Posted July 15, 2004 Posted July 15, 2004 I agree with Dan - these are just (weird) base conversions. Can I create an 11th field that would say if? 1.00 then 0 1.07 then 7 1.01 then 1 1.08 then 8 <snip> .... All the way up to if 16.12 then 192 (Int(field)-1)*13 + Mod(field,1)*100 0 then 1.00 7 then 1.07 1 then 1.01 8 then 1.08 2 then 1.02 9 then 1.09 3 then 1.03 10 then 1.10 4 then 1.04 11 then 1.11 5 then 1.05 12 then 1.12 6 then 1.06 13 then 2.00 .... All the way up to if 192 then 16.12 1+ Int( num/13 ) + (Mod(num,13) / 100) These do not give 192 at 16.12, that doesn't appear consistent with the tables you provided. 16.12 goes to 207 for these expressions.
papacubby Posted July 15, 2004 Author Posted July 15, 2004 I could be wrong in my math that 192 at 16.12 I just took 12 x 16 to come up with 16.12=192 I will check The Shadows idea out. "The Shadow Knows... " Thanks
-Queue- Posted July 15, 2004 Posted July 15, 2004 What is the average that you want to see for the Philadelphia Eagles instead of 10.49?
DanBrill Posted July 15, 2004 Posted July 15, 2004 Could you just post an example so we can see what you really want?
papacubby Posted July 16, 2004 Author Posted July 16, 2004 In trying to figure out what I want to see for Philadlpia instaed of 10.49 I found out why I had 192 = 16.12 The Shadow: The .00 do not needed to be considered. I adjusted the post with a cal I think might work. This might be why I had 192 instead of 207. I got busy last night and was not able to see if the cal you suggest worked. I will do today! The .00 error I make might not effect it. Queue: I want to see for the Philadelphia Eagles 10.10 DanBrill: I attached a photo shot of the example earlier. I do not know how else to post an example here or I would. All: I thank you for your time! I am trying to explain it best I can and will get back to you on if things are working or if I need more help.
DanBrill Posted July 16, 2004 Posted July 16, 2004 Hey Papa, I came up with the 192 also, so I agree this is right. Take a look at my example as I think it is giving the results you are looking for -- an average round with the average pick within that round, based on base 12. I was going by player name, but you could just stick the team name in there just as easily. I'd also reconsider how you are bringing in the data. Instead of creating a new field with each download of new data, bring the new data into the same fields that alreay exist. Then just create 1 field that identifies which download session that a piece of data came from. Anytime you are creating new fields for what is essentially the same type of data -- just relating to a new person or a new time period, or whatever -- you are probably going about it the wrong way. To post a file, just attach it to your post before you send it. It has to be in zip or sit format. This has been interesting. Since you have 12 rounds, the calcs I came up with transfer perfectly to feet and inches, so if that ever comes up, I'll have the work done. Dan
stanley Posted July 16, 2004 Posted July 16, 2004 Papacubby: Right, there is no "0" draft pick in each round, so no "10.0". To get the Eagles' 10.10 draft number, I did the following: t_Draft_Number(text) - this is your imported number, as a text field c_Get_Integer(calculation, Int(TextToNum(t_Draft_Number)) * 12) c_Get_Remainder(calculation, TextToNum(Right(t_Draft_Number, 2)) c_Calculate_Result(calculation, c_Get_Integer+c_Get_Remainder-12) with "10.10" in t_Draft_Number, I get 118 in c_Calculate_Result. Note that the "-12" in the final calculation is to remove the integer's assumption that round 1 = 12 before a single pick has taken place. -Stanley
papacubby Posted July 16, 2004 Author Posted July 16, 2004 WOW!! This has been solved by the doing what "THE SHADOW" suggested at #114990 - 07/15/04 10:46 AM above. THANK YOU VERY MUCH, ALL!!! Great place for help! I will now do my HEADSTAND. Later
Recommended Posts
This topic is 7436 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