C# Nreco立方体加工

C# Nreco立方体加工,c#,cube,in-memory,nreco,C#,Cube,In Memory,Nreco,NReco数据透视立方体处理 这个组件对我来说是新的,我很好奇它是否支持频繁更新数据源?数据的正常大小为1000行,包含60个事实和6个维度。是否可以更新单行数据?这会触发完全重新处理吗?需要多长时间?NReco.PivotData library实现内存中的多维数据结构,该结构保存您要在报表中使用的维度的预聚合度量。有两种不同的使用方法: ROLAP风格的方式(主要使用):PivotData类实例很短,它是在需要呈现pivot表或为图表准备JSON数据时“动态”创建和填充的。数据源并不重要:

NReco数据透视立方体处理


这个组件对我来说是新的,我很好奇它是否支持频繁更新数据源?数据的正常大小为1000行,包含60个事实和6个维度。是否可以更新单行数据?这会触发完全重新处理吗?需要多长时间?

NReco.PivotData library实现内存中的多维数据结构,该结构保存您要在报表中使用的维度的预聚合度量。有两种不同的使用方法:

  • ROLAP风格的方式(主要使用):PivotData类实例很短,它是在需要呈现pivot表或为图表准备JSON数据时“动态”创建和填充的。数据源并不重要:它可以在内存中的模型列表中
  • 对于仅附加数据集上的实时报表,可以在应用程序启动时加载一次数据透视类实例,然后使用新记录“更新”它。根据您的需要,PivotData可能会保留和预计算总计/总计,或者只有在访问总计值时才能执行“惰性”汇总(这由标志控制)
关于

数据的正常大小为1000行,其中包含60个事实和6个 尺寸


这是一个非常小的数据,ProcessData方法可以非常快速地处理1k行数据(仅计算具体报告所需的维度/度量)。若您使用数据库作为数据源,它应该能够足够快地执行聚合(GROUPBY)查询;专门的分析数据库可以在几秒钟内完成这项工作,甚至可以处理数十亿行

你试的时候发生了什么?啊。ProcessData方法还用于附加数据。现在我明白了!测试了10000行,9个维度,但只有两个事实。以23ms的时间处理数据,但也可以在出现一行后23ms。您知道是否可以通过将数据行的字段指定为键来替换一行吗?@kenander您只能将新事实附加到现有的数据透视实例。如果在已经处理的行中更改了某些内容,则需要重新处理所有输入事实(对于10k行而言,这不是问题)。对于大型数据集,应在数据库级别执行初始数据聚合。