Как мне помочь человеку, который хочет получить данные реляционной базы данных в формате CSV?

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

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

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

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

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

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

Ответы

Ответ 1

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

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

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

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

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

Ответ 2

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

Ответ 3

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

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

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

Ответ 4

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

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

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

Ответ 5

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

Ответ 6

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

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

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

Ответ 7

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

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

Ответ 8

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

Ответ 9

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

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