我有几张表(10-15),有几百万行。我希望通过RShiny中的DT功能公开它们,并能够实时过滤。但是,因为过滤一个足够大的表可能需要很长时间,所以我想使用我自己的函数可以应用于过滤器来检索结果(而不是使数据表过程相同)。
1)使用自定义过滤功能
作为一个简单的例子,如果数据来自sql表,则如下所示:
a b c
1 2 3
4 5 6
1 2 3
如果我必须找到a == 1的所有值,我可以使用DataTable过滤器或者代之以发送查询 - 例如。select * from t where a==1
。同样地,select * from t where a==1, b==2, ...
等。后一种方法(从...中选择)是我想要使用的。我正在使用HPC Timeseries数据库,它可以比使用内置功能更快地处理这些查询。
2)我还希望能够与页码进行交互,以便仅检索当前显示所需的那些行。以上表为例,如果用户在第1页上,我只检索前x行(例如,10行是选择显示10个条目),当用户点击第2页时,我将检索下一组10行。
有一点需要注意的是,分页会自动发生,但我能够提供行数,以便分页可以准确(例如,根据用户过滤条件,分数计数table是x行,因此显示x / 10分页按钮)
我不确定是否可以这样做 - 无论是通过数据表还是通过任何其他方式。如果有人可以就此进一步提出建议,将不胜感激。谢谢,Raj。