I agree with most of this article, except that - for me - grouping by table columns is a more intuitive and flexible way to control subset application than 'rank'.
k9 is in development, but blending k7 and k9 we'd get something like:
t: [[]sensor: 1 2 1 2 1 2
day: 1 1 2 2 1 1
reading: 1 2 3 4 5 6]
0 1 1 0 * select by sensor, day from t
sensor day|
------ ---|----------------
1 1 |[[]reading: 0 0]
1 2 |[[]reading: ,3]
2 1 |[[]reading: 2 6]
2 2 |[[]reading: ,0]