I believe more information here. However, have you looked at the Max () function to get you started?
It sounds like a Top40 music chart-type-thing.
Mr. vodka is correct...more info is needed about your structure, but let me make some assumptions:
Parent = Person/Company table
Child = Chart status table (portal into Parent layout)
If every week, you enter a new line in the portal for all of the 'Top 40' people, then what you're after is fairly direct. Assuming that #1 is best and #40 is worst, the "Peak" would be a calculation field on the Parent table of Min(Child::Rating). The date would be the corresponding date of that child record. How many weeks it was on the 'Top40 chart' would be Count(Child::Rating), since the weeks that it wasn't on the chart would not have a child entry.
I haven't worked with conditional formatting (I'm on FMP8 usually) but perhaps there is a text format condition that could be applied to the "Rating" field within the portal? Not sure here...just guessing and assuming...and willing to be corrected.