Компонент веб-сводной таблицы, отображающий текст в области данных сводной таблицы
Я нашел эти отличные компоненты сводной таблицы в Интернете
Моя проблема (или вопрос) заключается в том, что сводные таблицы по своей сути "сводят" данные вокруг числового набора данных; то есть пересечения ячеек обычно могут быть только числовыми (SUM/COUNT/FIRST...)
Есть ли что-нибудь там (или, если вы знаете, как изменить текущий компонент), которое будет показывать нечисловые данные в пределах оси "Значение" или пересечения.
мой вопрос проиллюстрирован ниже.
как можно видеть, данные взаимодействия на самом деле представляют собой отчеты, к которым имеет доступ каждая роль (сгруппированные по классу отчетов)... Я знаю, что есть другие способы представления этих данных, однако мне действительно нравится способ, которым вышеупомянутые средства просмотра сводных данных могут поменяйте местами фильтры данных (столбцы)
заранее спасибо.
1 ответ
Я не могу говорить о всех различных реализациях сводных таблиц, некоторые могут иметь встроенный "агрегатор", который позволит вам объединять строковые значения с форматированием (например, для добавления cr/lf), но быстрый взгляд В Nicolaskruchten/ сводный источник позволяет мне думать, что вы могли бы легко добавить свой собственный агрегатор.
Просто посмотрите на файл pivot.coffee, начиная со строки 22. Вы увидите различные шаблоны агрегатора, так что вы, возможно, можете добавить свой собственный прямо здесь.
РЕДАКТИРОВАТЬ
Я просто посмотрел на реализацию rjackson/pivot.js и, судя по всему, если вы добавите свою собственную функцию defaultSummarizeFunction в строку 586+ pivot.js, а затем добавите ее в select в строках 651+, вы можете создать собственный "конкат" SummarizeFunction
РЕДАКТИРОВАТЬ 2
Ну, оказывается, даже проще, чем я думал. Используя файл rjackson/pivot.js, все, что вам нужно сделать, это предоставить свою собственную функцию summaze, когда вы определяете свое объединяемое поле:
{name: 'billed_amount', type: 'string', rowLabelable: false, summarizable: 'string', summarizeFunction: function(rows, field){
var result = '',
i = -1;
m = rows.length;
while (++i < m) {
result = result + rows[i][field.dataSource] + '<br>';
}
return result;
}}
В этом примере я превратил поле, которое обычно суммируется, и превратил его в сцепленное, просто предоставив свою собственную функцию summazeFunction.
Посмотрите на пример здесь: http://mrlucmorin.github.io/pivot.js/
ура