Рендеринг ActivePivot на веб-странице

Я хотел бы получить данные из куба activePivot, отправив MDX с запросом Rest. Я попытался сделать это, и я получил объект json, а затем проанализировал этот объект json, чтобы получить только конкретную информацию (см. Рисунок).

Я посмотрел на этот вопрос: могу ли я подключить ActivePivot к программному обеспечению таблицы?, но это не завершено.

Теперь я хотел бы отобразить информацию, какой бы ни был запрос, в динамической таблице на веб-странице. Как мне это сделать?

1 ответ

Вы пытаетесь выполнить то, что мы называем рендерингом сводной таблицы из CellSet. CellSet (и, возможно, соответствующая информация об обнаружении куба) достаточны для выполнения этой задачи, и вы можете написать ее самостоятельно, просто выполняя итерации по осям и ячейкам CellSet. Насколько мне известно, нет библиотеки с открытым исходным кодом, которая поможет вам сделать это (используется REST Api, который вы используете недавно).

Поскольку вы используете ActivePivot, вы можете знать о ActivePivot Live 4, который является интерфейсом пользовательского интерфейса для ActivePivot, который использует тот же API, который вы используете, и содержит компонент TabularView, который выполняет то, что вы пытаетесь сделать, с множеством дополнительных функций. это может быть интересно для вас, по имени:

  • Ленивый рендеринг (он может быстро рендерить очень большие CellSets с низким объемом памяти)
  • Поддержка обновлений в реальном времени на CellSet через запрос WebSocket
  • Настраиваемая таблица (вы можете настроить стиль каждого элемента, программно или через пользовательский интерфейс)
  • Столбцы можно переупорядочить / закрепить / изменить размер
  • Возможность сложной визуализации столбца или группы столбцов (например, спарклайны, деревья иерархии)
  • Компоненты доступны в виде библиотеки, поэтому вы можете включить их в приложение Angular, если хотите

Этот продукт содержит гораздо больше функций, которые вы можете увидеть, например, в этих двух видео (каждый раз, когда вы видите таблицу с данными, это TabularView): https://www.youtube.com/watch?v=-B07d4meYbQ и https://www.youtube.com/watch?v=QMTVAtdpuRs.

Так что если вы используете ActivePivot Live, вы можете отобразить любой MDX в виде таблицы в div с идентификатором table со следующим кодом:

const servers = ActivePivotLive.api.queries.serversPool;
const server = servers.addActivePivotServer({url: 'http://localhost:9090'});
conat tabularView = ActivePivotLive.api.widgets.createTabularView()
  .withMdx(yourMdx)
  .within('table');

Затем вы можете изменить MDX с

tabularView.getQuery().setMdx(newMdx)

Так что вы можете обернуть это, например, в угловую директиву.

В противном случае вам придется реализовать его самостоятельно, но, конечно, вы можете обратиться за помощью, если у вас возникнут конкретные проблемы или ошибки, с которыми вы столкнетесь при попытке его реализовать.

Другие вопросы по тегам