You have to make the number of passes as there are sorts.
You have to make the passes in the reverse order or significance.
You have to have the most significant sort (country) to be the last one; any
sorts after that would mess it up. Similarly for the next most significant
sort
To see what is going on:
!) Make up some data by hand, with several combinations of duplicates for
each category, including duplicates of combinations. You could even make up
some index card with the combinations.
2) Then shuffle them up good.
3) Lay them down, face up.
4) Pick up one at a time, and put it in sequence by order date. If there is
more than one with the same order date, put the later ones at the back of the
group with the same order date, so the ones in a group with the same date
remain in the sequence they were in.
5) When you have them sorted by order date, place the stack face up on the
table, and start picking them up and putting them in order by product.
Ignore all other fields, but make sure that when you pick up a card that has
the same product as one in your hand, you put it behind the others with that
product; that way for a group with the same product, they will be in sequence
by order date.
6)When you are finished, your cards will be in sequence by product. For
each product, they will be in sequence by order date.
By this time, you will hopefully see what is happening.
7)If not, continue the process with category, making sure to keep cards with
the same category in the order they were in.
When finished, they will be order by category/product/order date.
In the days of punched cards, we had to run them through the card sorter at
least once for each character, in reverse order. For alphanumeric data, we
had to run each column through 3 or 4 times! Not much fun sorting on
employee number followed by employee name!