Как представить сложные и гибридные данные

У меня довольно сложный вопрос.

Я ищу javascript или PHP script, которые могут принимать любые данные (массивы, запросы mysql...) и создавать таблицу/сводную таблицу/диаграмму.

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

Например, оценивайте контент, оцененный пользователем.

Я хочу иметь возможность составить график числа человек, который оценил 1,2,3,4 или 5. Я хочу создать таблицу с количеством пользователей, которые оценивались в июле и августе. Я хочу получить содержание, которое было самым рейтинговым. Я хочу, чтобы пользователи, которые голосовали больше всего.

Я знаю, что мог бы кодировать каждый из этих графиков, но я хочу сделать то, что может использовать любой пользователь. и сделать свои собственные представления.

Есть ли что-то подобное?

Если не в php/javascript, может быть, на другом языке на другой платформе?

Заранее спасибо

Ответ 1

Я ничего не знаю из коробки, но по крайней мере некоторые из ваших работ были сделаны для вас:

Например, вы могли бы создать простую функцию PHP, которая выгрузила данный вход в виде таблицы HTML. Затем, используя эту таблицу HTML, разверните пару плагинов jQuery, чтобы отсортировать таблицу (DataTables) и создать графики из табличных данных (graphTable).

Очевидно, чем более надежной вы хотите, чтобы ваша система была, тем больше усилий она приложила.

Ответ 2

Я не думаю, что можно автоматически интерпретировать любой формат данных без явного определения того, как этот формат следует интерпретировать. Что делать, если вы проходите в формате CSV? как ваше приложение будет знать значение CSV-данных? как он мог знать, что столбцы разделены запятыми? Как он мог знать, что означает колонка? Что, если вы пройдете в JSON? Как он будет знать, как интерпретировать эти данные? Как он будет знать, чтобы рассматривать его иначе, чем данные CSV? Вам нужно будет явно определить способы интерпретации интересующих вас форматов. Для этого вы можете использовать существующие синтаксические анализаторы.

Вы можете хранить интерпретированные данные в реляционной структуре, как только вы ее интерпретируете. Это позволит вам запрашивать один тип источника данных для получения данных из разных форматов. Например, если вы хотите представить любые данные в табличной форме, вы можете определить реляционную структуру, такую ​​как:

Table
-----
id (PK)
name


Column
-------
id (PK)
table (FK to Table id)
title


Row
---
id (PK)
table (FK to Table id)


DataPoint
---------
id (PK)
row (FK to Row id)
column (FK to Column’s id)
value

С помощью этой структуры вы можете представить любую таблицу данных. Это, возможно, довольно ужасный дизайн. Но для ваших целей он может удовлетворить ваши требования. Здесь статья о возможных возражениях на этот вид дизайна. Если вы можете реализовать что-то в этих строках в 6NF, это может быть потрясающе.

Вы можете расширить это, чтобы справиться с сводными таблицами и диаграммами.

Я не знаю ничего, что существует, что делает это для вас.

Ответ 3

Вы можете изучить ExtJS в сочетании с их инструментом проектирования. Если вы можете предоставить свои данные в качестве объекта JSON, вы сможете достаточно легко создать приложение, которое позволит пользователю манипулировать данными по своему усмотрению.

Смотрите демо-версии ExtJS.