gpt4 book ai didi

wpf - 用于预聚合数据的高性能枢轴网格

转载 作者:行者123 更新时间:2023-12-03 16:55:28 25 4
gpt4 key购买 nike

我的任务是为实时 ActivePivot 后端设计一个高性能前端。我已经有一个客户端服务层,它提供预聚合、预格式化数据的连续流 ( IObservable<T> ),以及详细说明维度和报告中的内容的元数据。我的要求可以概括为:

  • 根据流中的元数据动态设置行和列标题。
  • 将实时数据动态传递到控件的相应行/列。
  • 突出显示数据更改。例如。增加的值可能会暂时以绿色突出显示,减少的值可能会以红色突出显示。
  • 拦截用户对行/列标题的操作(即向下钻取),以便我可以在底层 MDX 查询中发起更改。
  • 拦截用户对数据值的操作(可能是双击),以便我可以发起钻取查询(其结果将显示在单独的数据网格中)。

  • 所有第三方组件似乎都围绕着切片和切块断开(或很少更新)的数据集。他们牺牲了性能来实现我根本不需要的更高程度的灵活性,而性能对于我的场景来说是最重要的。

    有谁知道 WPF 控件以性能为中心并且更适合查看预先聚合的、预先格式化的数据?

    最佳答案

    允许切片和切块数据探索的类似数据透视表的前端通常与 OLAP 技术相关联。其中一些前端使用专有数据模型针对一个特定服务器,而另一些前端则实现了标准:通过 XMLA 传输的 MDX 查询。

    但是,当 20 年前设计 OLAP 技术时,实时实现它似乎是不可想象的。一个后果是 XMLA 标准不支持单元集中的更新。实际上,由于单元集和单元集轴的静态表示,它实际上是禁止的。

    ActivePivot 可以将实时更新推送到 OLAP 结果集中,并公开一个(专有)流 API 以订阅这些更新。 ActivePivot Live 前端首先是为了利用这些实时更新而编写的,将它们呈现在熟悉的数据透视表控件中。但在 2013 年,ActivePivot 仍然是唯一具有实时支持的 OLAP 服务器。这就解释了为什么还没有订阅 OLAP 实时更新的标准。这也意味着从 2013 年开始,在 ActivePivot Live 之外,您将找不到一个工具包(WPF 与否)已经完成了通过实时更新丰富其数据透视表控件的全部工作。我们所知道的库实际上已经在它们的数据透视表设计中转换了 XMLA 的静态数据表示,这使得更新单元格变得很麻烦或不可能(例如 Microsoft Excel 数据透视表)。

    在像WPF这样的特定技术的约束下,我会选择一个通用的UI工具包,它可以很容易地安排和组合表格。从那里开始,这是一个 D.I.Y.工作。

    关于wpf - 用于预聚合数据的高性能枢轴网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17829148/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com