Макет Excel для иерархических данных - PullRequest
0 голосов
/ 25 мая 2010

Я работаю над функцией массовой загрузки Excel, которую необходимо проанализировать с помощью Java API.
Моя проблема заключается в разработке его макета. Данные являются иерархическими с 4 уровнями и отношениями один-ко-многим на каждом уровне.

1-other data for node 1
  -2-other data for node 2
   -3-other data for node 3
    -4-other data for node 4

И это повторяется

например. -

Organisation id - Organisation name - Address etc...
 - Department id - Department name - etc...(multiple departments for each organisation)
   - Manager id - Manager name - etc...(multiple managers for each department)
     - Employee id - Employee name - etc...(multiple employees for each manager)

Как это может быть спроектировано в макете Excel, чтобы неопытному пользователю было легко вводить данные, а программе анализировать и устанавливать родительские и дочерние отношения?

1 Ответ

1 голос
/ 25 мая 2010

Фокус на поддержке нетехнических пользователей. С Java у вас есть мощный инструмент для анализа даже самых странных источников данных;)

Предполагая, что отношения строгие один ко многим, я предлагаю следующий подход:

(1) создать четыре таблицы для ориганизации, отдела, менеджера и сотрудника. Эти таблицы отражают таблицы базы данных

(2) создайте пятую электронную таблицу для представления отношений, например:

 |A    |B    |C    |D    |
-+-----+-----+-----+-----+    
1| emp | mgr | dep | org |
-+-----+-----+-----+-----+
2|    v|    v|    v|    v|
-+-----+-----+-----+-----+
3|    v|    v|    v|    v|
-+-----+-----+-----+-----+

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

Редактировать

Для пояснения - каждая строка представляет набор данных для сотрудника. Я изменил порядок столбцов, чтобы сделать его более понятным. Сначала введите все объекты (организации, отделы, ...) на четырех листах, затем используйте поля со списком, чтобы выбрать сотрудника, его руководителя, отдел и организацию. Для меня это довольно интуитивно и просто.

excel поддерживает те типы полей со списком, где значения берутся из электронной таблицы.

...