Jump to content
Claris Engage 2025 - March 25-26 Austin Texas ×

This topic is 7837 days old. Please don't post here. Open a new topic instead.

Recommended Posts

Posted

I have a list of users that attend classes. Each class (record) has a date. Of all the users I would like to see which ones are active users.

My first approach would be to look at the last three classes and add the difference between the dates. The lower the number, the more active the user is.

Is this a good approach? Am I overlooking a function that is already built-in FMP?

Posted

first, rank the date descending by date (sort ascending, then replace field "rank" with auto-serial number, step 10, for example) .

now add up the score for each user. The last couse scores 1000, the one before 990 and so on. you may relate this as an percentage to max possible points.

Students last seen 3 years ago score below 100, recent participants should be in the 10000nds. You may choose to use a logarythmic function for the rank or just look at the last 10 classes, or make rank serialnumer ^2 - whatever suits your needs.

Posted

Hi Rivet,

IMHO, this case is finally a good exercice for the use of StDev and StDevP.

I'm not a Mathematician though, but here are my thoughts...

It might be interresting to calculate the frequency using FileMaker Aggregate functions within relationships. At least, I'd test it.

I like your method of substracting the days between two classes.

- Adding up all these substractions would give you a "Total days"

- Divided by the Total Courses attended (Count(SelfjoinonStudent_ID)) would give you an "Average Days".

- Using StDev function with this latest number could give you the Standard deviation (average difference from average) for each Student_ID (SelfjoinOnStudent_ID)

- Using StDevP function with this latest number could give you the Standard deviation (average difference from average) for the Population using a Selfjoin On Classes.

You could then rank your students based on the difference from the results of StDev compared to StdevP.

As I say, I'm just guessing, but I would like someone experienced to extend on this....or to contrary me...

crazy.gif

Posted

A simplier approach of the case would be to use some selfjoin sums.

Nb Classes attended= Count(SelfjoinOnStudent_ID::Class_ID) = Nb of classes attended

Nb Days = Sum(SelfjoinOnStudent_ID::Substracted days) = Total nb of days between classed

c_AveragePerStudent = Nb Days / Nb Classes attended

Reliable Average = Case(Nb Classes attended>=3, c_AveragePerStudent , 1000)

Then sort and rank by Reliable Average

If you'd like these ranks to be established for each class, then you'd have another set of calculation based on a concanation Student_ID&"-"&Class_ID.

This topic is 7837 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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.