What methods do we have to get a shuffle of a list of items?

This definitely makes a difference!

1 Like

:smile: New Rankings

Milliseconds Seconds Iterations Script Name Host
170492 .170492 300 shuffleJW_WriteToExistingRecords_No_JSON Local
264597 .264597 300 shuffleJW_WriteToNewRecords_No_JSON Local
348340 .34834 300 shuffleJW_WriteToExistingRecords Local
367626 .367626 300 shuffle_WriteToExistingRecords_SSH Local
409174 .409174 300 shuffleJW_WriteToNewRecords Local
488779 .488779 300 shuffle_WriteToNewRecords_SSH Local
510605 .510605 300 shuffle_WriteToExistingRecords_MF Local
595517 .595517 300 shuffle_WriteToNewRecords_MF Local
3 Likes

Ah the classic benchmarking problem of comparing apples to 300 apples. :rofl:

image

4 Likes

I'll add you guys a List.Shuffle and QuickList.Shuffle function to MBS FileMaker Plugin for next version.

QuickList works then for multi line texts, too.

2 Likes

Lots of creative solutions here! I'll throw one more into the mix.

  1. Add a randomInt calculation field: Truncate ( (Random * 10); 0)
  2. Set the storage to: Do not store, recalculate when needed
  3. Use ExecuteSQL() to get the records, ordered by this field
ExecuteSQL ( 
"SELECT * FROM Contacts ORDER BY randomInt" ;
 "" ; ""  
)
2 Likes

I’ll add it to the mix. I’ll add a UNIQUE clause.