Как помочь человеку, которому нужны данные реляционной базы данных в формате CSV? - PullRequest
16 голосов
/ 01 октября 2010

Нетехнический человек, который спрашивает: «Вы можете просто поместить базу данных в электронную таблицу Excel для меня?»так часто это почти тропа.(Я мог бы поклясться, что об этом было xkcd, но я не могу его найти.) Мы регулярно заставляем клиентов запрашивать все свои данные в CSV.

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

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

РЕДАКТИРОВАТЬ: Кажется, что большинствоответы склоняются к сомнению намерений запрашивающего.Само по себе это сложно сделать красиво.Некоторые из ответов нацелены на то, чтобы просто бросить данные человеку и сказать ему, чтобы он ушел.Это не то, что я собираюсь здесь.Я хочу помочь этому человеку, а не заставить его уйти.Вот к чему я пытаюсь добраться.

Итак, вопрос, состоящий из двух частей: что мне сказать клиенту (т.е. человеку, чьи потребности я хочу удовлетворить), который запрашивает CSV своих данных для a.б) резервное копирование или б) получение информации из системы.

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

Ответы [ 9 ]

31 голосов
/ 01 октября 2010

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

Когда появится пустая электронная таблица, одна из двух вещей будет истинной:

  1. Вы довольно легко сможете выполнить требования проекта (например, не задумываясь, как определить, какой из 5 телефонных номеров является Phone1 и Phone2).

  2. У вас возникнут вопросы (например, «У меня есть от 0 до 25 телефонных номеров на человека. Как вы хотите, чтобы я выбрал, какой Phone1, а какой Phone2? И что вы хотите, чтобы я сделал скакие-либо дополнения?).

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

12 голосов
/ 01 октября 2010

Менеджеры могут позволить себе быть расплывчатыми, когда им что-то нужно, я подозреваю, что вместо «всего, что есть в Salesforce», он / она просто хочет получить конкретный взгляд из этого. Вам нужно уточнить, для чего нужны эти данные, и дать им то, что им нужно, а не то, что они просили.

9 голосов
/ 01 октября 2010

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

Я рекомендую поговорить с парнями и спросить их, какую проблему они хотят решить, делая это. Очевидно, что они хотят создать несколько электронных таблиц, но не понимают, что, пройдя маршрут CSV, они не смогут обрабатывать последующие изменения схемы и т. Д. После разговора с вашим «клиентом» вы, вероятно, сможете договориться о правильном пути. , И это может быть просто создание CSV-файла для разовой сделки.

Я лично работал с парнями, не являющимися техническими специалистами, которые были великолепны с Excel.

4 голосов
/ 01 октября 2010

Если у меня есть время, я обычно спрашиваю их подробно, чего они хотят.Если я не вижу большой проблемы, я делаю это.В конце концов, я не хочу их угадывать.Как говорится в этом посте

Если вы посмотрите на какую-либо деятельность, процесс или дисциплину достаточно далеко, это выглядит просто.Менеджеры без опыта разработки думают, что программисты делают просто , а программисты без опыта управления думают так же, как менеджеры.

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

3 голосов
/ 01 октября 2010

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

2 голосов
/ 22 января 2014

Это довольно старый вопрос, поэтому я считаю уместным добавить еще один ответ, который отражает варианты, которые были недоступны, когда был задан вопрос.Вот подход к экспорту в Excel с полным выражением реляционного характера экспортируемых данных:

  • Начните с экспорта реляционных данных в Excel, где каждая таблица вашей базы данных соответствует листу в вашей рабочей книге,включая заголовки столбцов в первой строке.
  • Преобразуйте каждый из этих листов данных в именованные таблицы в Excel (проще всего просто выбрать Формат в виде таблицы).
  • Используйте Редактор имен для редактирования вашегоимена таблиц, которые вы хотите назвать их
  • Для каждого имени «Таблица» выберите «Добавить в модель данных» на ленте PowerPivot
  • Выберите «Управление» на ленте PowerPivot, а затем выберите «Представление схемы»просмотр таблиц в модели данных
  • Соедините таблицы, чтобы установить их взаимосвязи, аналогично тому, как это было бы на диаграмме базы данных SQL Server
  • Если у вас есть составные ключи, вы можете создать вычисляемые столбцы для действияв качестве суррогатных ключей, поскольку модель данных PowerPivot не поддерживает ключи, использующие несколькоВсе столбцы

На этом этапе реляционная модель полностью представлена ​​в Excel, и можно создавать сводные таблицы или даже отчеты PowerView в виде панели мониторинга, которые используют как данные, так и связи.Хотя я согласен с принятым ответом с точки зрения удовлетворения ожиданий клиента, этот подход является одним из возможных ответов, когда клиенту действительно нужны данные, экспортированные с сохранением отношений.

0 голосов
/ 05 сентября 2011

У вас нет другого выбора, кроме как сделать это.Я сделал много реализаций, и каждый раз клиенты просили экспорт / импорт из Excel.На самом деле они не воспримут вас всерьез, если приложение не обеспечивает такую ​​функциональность.Они пойдут куда-нибудь еще.Так что все, что вам нужно сделать, это принять факт и разобраться в этом.

Экспорт в Excel сложен, и, к сожалению, решения, предоставляемые Microsoft (SSIS), дают забавные результаты и не имеют возможностей форматирования.Однако это возможно (все наши приложения работают правильно с Excel)

0 голосов
/ 01 октября 2010

Может пригодиться простой подробный отчет, который легко создать. Так же, как Ruby on Rails создает простое приложение CRUD, должен существовать аналогичный инструмент, состоящий из нескольких щелчков мыши, а затем вы получите подробный веб-отчет.

0 голосов
/ 01 октября 2010

это почти наверняка конкретный отчет или листинг, который решит то, о чем просят.

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

...