1uomo.ru

Мода и Стиль
1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Сшить таблицы мапинфо в одну

Сшить таблицы мапинфо в одну

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

Инструкция

Устанавливаем себе надстройку ЁXCEL . Читаем справку.

Приступаем к решению. Переходим во вкладку ЁXCEL главного меню, нажимаем кнопку «Таблицы», в выпавшем списке выбираем команду «Объединить таблицы»:

В открывшемся диалоговом окне выделяем листы с таблицами, которые необходимо объединить и нажимаем «ОК»:

Программа сформирует запрос — объединит таблицы и выведет информационное сообщение:

Переходим на итоговый лист (тот где хотим вывести общую таблицу), устанавливаем курсор в ячейку «A1«. Переходим в главном меню во вкладку «Данные» в разделе «Получение внешних данных» нажимаем кнопку «Существующие подключения»:

В открывшемся диалоговом окне выбираем «Подключения в этой книге» — «Запрос из Excel Files» и нажимаем «Открыть»:

В открывшемся диалоговом окне устанавливаем переключатели в положения «Таблица» и «Имеющийся лист», нажимаем «ОК»:

В активном листе будет создана таблица, которая будет объединять таблицы, расположенные на указанных нами листах:

Теперь все таблицы связаны. Добавьте новые строчки в любую из объединенных таблиц. Перейдите во вкладку «Данные» и нажмите кнопку «Обновить все»:

В итоговой таблице появятся строчки, добавленные в выбранный вами лист.

Чтобы обновление итоговой таблицы происходило автоматически вставьте в модуль каждого листа (кроме Итогового) следующий код (Как вставлять макросы?):

Видео-пример

Важно:

  • Количество столбцов во всех таблицах должно быть одинаково;
  • Кроме таблиц на листах не должно быть никакой информации;
  • Если вы переместили файл в другую папку или отправили файл коллеге по электронной почте — необходимо заново связать таблицы (в запросе прописывается абсолютный путь к файлу).

Чтобы запрос работал не зависимо от того в какой папке лежит файл вставьте в модуль «ЭтаКнига» следующий код:

Данный макрос при открытии книги будет определять текущий путь к файлу и менять путь к файлу в запросе.

Файлы для скачивания:

ФайлОписаниеРазмер файла:Скачивания
Пример21 Кб2448

Чтобы оценить всю прелесть — выньте файл из архива и при загрузке файла включите макросы.

Возможные ошибки при использовании этого метода:

  • В таблицах одинаковое количество столбцов, но при попытке использовать запрос получаем сообщение: «В таблицах или запросах, выбранных в запросе на объединение, не совпадает число столбцов.» Причина: в одном или нескольких листах с таблицами есть пустые столбцы (в них раньше были данные) и MS Excel считает их столбцами таблиц. Решение: Выделить и удалить все пустые столбцы на листах с таблицами.
  • Все столбцы удалили, но ошибка осталась. Причина: файл сохранен на сетевом диске или открыт из почтовой программы. Решение: сохраните файл у себя на локальном компьютере, выполните запрос, вставьте в него макрос меняющий путь в запросе и выложите обратно в сеть (если нужно).
  • В полученном запросе в некоторых ячейках пропадают данные. Причина: в ваших таблицах встречаются столбцы, которые одновременно содержатся и числовые и текстовые значения. MS Excel считает, что эти столбцы должны содержать только числа и не выводит текст. Решение:преобразуйте все числовые значения в этих столбцах во всех таблицах в текстовые. Обновите запрос — текстовые данные появятся.
Добавить комментарий
Комментарии

Есть файл с 22 вкладками. на них одинаковые по структуре таблицы. 2-3 любых таблицы объединяются легко. большее кол-во уже нет. Внутренняя ошибка драйвер odbc excel внутренняя ошибка программировани я объектов.

куда рыть? что править

Еще, вопрос. Хочу сливать сразу много однотипных таблиц. Но не все данные а только первые 15 столбцов.
Начиная с 16-й колонки у меня расчетные данные, которые не нужно сливать.

Как объединить 48 разделенных слоев США в 1 слой, используя MapInfo?

Это слои переписного блока. Человек на веб-сайте разделил их на штаты, чтобы их можно было скачать проще. Я загрузил каждый отдельный слой в MapInfo.

Теперь мне нужно объединить файлы в один слой США.

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

Пожалуйста помоги! Спасибо всем за вашу помощь заранее!

If you have (or are willing to begin using) Quantum GIS, you can use the «Vector->Merge Shapefiles» tool (under the vector menu).

If you don’t mind doing a bit of grunt work and if you are only doing it once the you could just open all the tables and do Table -> Append Rows to Table. This will give you a dialog asking which table you want to append to what, so just choose one of the states to append everything to and go through appending each one, one at a time, to this ‘master’ table. To make this a bit quicker and easier I would suggest following these steps;

1) Откройте все свои отдельные слои (вы можете открыть их в «Нет просмотра», чтобы все было немного более аккуратно) и убедитесь, что у вас нет ничего другого.

2) Go to Table -> Append Rows to Table

3) (Этот шаг позволит вам сэкономить массу времени). Удостоверьтесь, что вы оставили «Столбец» как любой по умолчанию. Это означает, что каждый раз, когда вы открываете этот диалог, вам не придется выбирать другую «Таблицу», вам просто нужно будет изменить «Таблицу добавления»,

4) Change the Append table to the first one in the list that isn’t the same one as in the ‘To Table’!

5) Повторите с шага 2, изменив таблицу «Добавить таблицу» на следующую.

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

Я уверен, что есть лучший способ, особенно если вы изучите немного MapBasic, но если вам нужно быстрое и грязное решение, это должно сработать. Это то, что я делаю, когда у меня есть пара таблиц для объединения, имеющих ту же структуру. Понятно, что я никогда не делал 48 таблиц, так что это может быть слишком сложная работа.

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

EDIT: I did find the tool, it wasn’t one I made, it was one I downloaded called ‘COMB_TAB.mbx’, but I can’t find it anywhere on the internets and I can’t upload it since I am at work and everythings blocked! There is another tool out there, but I haven’t tried it, might be worth a go. — http://mapinfotools.com/index.php?option=com_sobi2&sobi2Task=sobi2Details&catid=8&sobi2Id=34&Itemid=53

Существует также это обсуждение в Google Groups , в котором говорится о «appender» .mbx ‘, который может быть виден как часть вашей установки MapInfo, но опять же, я не мог найти его

Сшить таблицы мапинфо в одну

Результаты SQL-запроса можно сгруппировать по значениям из некоторой колонки так, что записи, содержащие одинаковые значения в этой колонке, будут объединены вместе. Такую колонку можно определить в окошке "Сгруппировать по" диалога "SQL-запрос". При использовании также функций обобщения строки с одинаковыми значениями в группировочных колонках считаются одной группой. Повторяющиеся записи при этом не учитываются, а обобщенные значения выдаются в вычисляемых колонках. Задайте названия колонок или их номер в окошке "Выбрать колонки". При использовании вычисляемых колонок следует указывать именно номер.

Кроме того, можно указать MapInfo порядок сортировки результатов запроса. Стандартный порядок — по возрастанию (для строковых полей — по алфавиту). Как и в окошке "Сгруппировать по", здесь можно указывать название колонки или ее условный номер. Для вычисляемых колонок следует указывать номер. При этом не надо указывать "COL" перед номером колонки.

Подробнее предложения "Сгруппировать по" и "Порядок задать по" описаны в главе "SQL-запрос" в Справочнике MapInfo.

Объединение таблиц командой SQL-запрос

При выполнении SQL-запросов к нескольким таблицам MapInfo должна объединить данные из разных таблиц. Допустим, имеется таблица, содержащая только графические объекты и их названия, и таблица статистических данных для некоторого региона. Надо показать эти статистические данные на карте. Можно объединить статистические и географические данные в одну таблицу с помощью команды SQL-ЗАПРОС.

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

Например, рассмотрим таблицу WORLD и таблицу экономической статистики (ECO_STATS) по всем странам мира. Надо создать временную таблицу запроса, которая объединила бы оба набора данных:

"Выбрать колонки": * (напомним, что звездочка означает, что в таблицу запроса надо включить все колонки исходных таблиц)

"Из таблиц": WORLD, ECO_STATS

"С условием": WORLD.Страна = ECO_STATS.Страна

Две колонки, с помощью которых Вы сопоставляете записи из разных таблиц, не обязательно должны иметь одинаковое название. Например, рассмотрим таблицу иностранных клиентов (INT_CUST), содержащую колонку регионов сбыта ("Территория"). В эту колонку записаны названия континентов. Чтобы временно объединить эту таблицу с таблицей стран мира, составьте запрос следующим образом:

"Из таблиц": WORLD, INT_CUST

"С условием": WORLD.Континент = INT_CUST.Территория

Порядок полей

Порядок полей, используемых в объединении таблиц не имеет значения. Любой из вариантов синтаксиса приемлем:

Select * from А,В where A.field1 = B.field1

Select * from А,В where B.field1 = A.field1

Таким образом, учтите, что когда Вы переключаете порядок географических операндов, географические операторы так же должны измениться. Следующие операторы производят одинаковые результаты:

Select * from states, cities where states.obj contains cities.obj

Select * from states, cities where cities.obj within states.obj

Порядок Предложений

Порядок, в котором предложения объединения таблиц осуществляют объединение, не имеет значения. Например, каждое из нижеследующих предложений правильно:

Select * from Us_custg,States,City_125 where Us_custg.state = States.state and States.state = City_125.state and Us_custg.order_amt > 10000

Select * from Us_custg,States,City_125 where States.state = City_125.state and States.state = City_125.state and Us_custg.order_amt > 10000

Select * from Us_custg,States,City_125 where Us_custg.state = States.state and Us_custg.order_amt > 10000 and States.state = City_125.state

Обработка ошибок

Если составленное условие Where использует OR как логический оператор, то MapInfo выдаст сообщение об ошибке. Обычно такое сообщение появляется тогда, когда MapInfo не может найти объединение между двумя таблицами. Например, если Вы ввели следующее некорректное условие:

Select * from А,В where A.field1 = B.field1 or A.field1 = B.field2

Появится сообщение об ошибке "No join specified between A and B. Invalid join condition in Where clause".

Внешнее объединение

Внешнее объединение SQL имеет отношение к процессу объединения данных из большой таблицы и таблицы меньших размеров, в результате которого Вы хотите получить результат из всех записей большой таблицы, объединенных с некоторыми записями из малой таблицы. Если Вы используете стандартное объединение, то возникает проблема. Стандартное объединение в SQL-Запросе производит таблицу только с теми записями, которые совпадают. Вам могут понадобиться пустые поля, где нет совпадения. Например, предположим, Вы имеете таблицу со списком всех квартир в здании. Также есть таблица, содержащая записи всех жильцов. Обе таблицы имеют поле с номерами квартир. Ваша задача создать таблицу для всех квартир с фамилиями жильцов. Некоторые квартиры свободны и имеют пустые поля в графе жильцы.

На первом шаге создается подмножество данных, где имеется соответствие квартир и жильцов в них.

1. Выполните команду Запрос > SQL-ЗАПРОС. Заполните диалог следующим образом:

2. Нажмите ОК. Ваш запрос появится в окне Списка. Необходимо сохранить этот запрос к базовой таблице.

3. Выполните команду Файл > СОХРАНИТЬ КОПИЮ. Появится диалог "Создать копию таблицы". Выберите подходящий каталог для Вашего файла и назовите таблицу RESULT.TAB. Нажмите кнопку Сохранить.

4. Выполните команду Файл > Открыть таблицу и откройте таблицу RESULT. Эта таблица включает в себя те записи из обоих таблиц, где имеется соответствие.

5. Далее Вы должны выбрать записи из таблицы КВАРТИРЫ, которые не имеют соответствия в таблице жильцов. Выполните команду ЗАПРОС > SQL-Запрос и заполните диалог следующим образом:

6. Результирующая таблица запроса — это список всех квартир, которых нет в таблице RESULT. Чтобы включить эти записи в таблицу RESULT, нужно присоединить их. Выполните команду Таблица > Добавить записи в таблицу.

7. Присоедините таблицу результатов последнего запроса к таблице RESULT. Будет присоединен список свободных квартир к списку занятых квартир. Если колонки не присоединились правильно после применения операции Append, обратитесь к документации MapInfo для решения этой проблемы.

Сшить таблицы мапинфо в одну

Команда Импорт группы MIF файлов в TAB

Команды работы с таблицами > Команда Импорт группы MIF файлов в TAB

Импорт из обменного формата, ГИС MapInfo может выполнять за один раз только для одной таблицы. При этом, если таких таблиц достаточно много, пользователь может потратить большое количество времени на импорт всех данных.

Команда Импорт группы MIF файлов позволяет выбрать в качестве источника каталог, в котором находятся несколько MID / MIF файлов и запустить импортирование всех этих таблиц, за одну операцию.

Команда Импорт группы MIF файлов в TAB вызывается с помощью команды Таблицы > Импорт группы MIF файлов в TAB.

Команда Импорт группы MIF файлов в TAB доступна в том случае, если пользователем открыто окно карты.

Для корректного выполнения команды, необходимо с помощью кнопки Каталог выбрать каталог, файлы из которого будут использоваться при выполнении команды, установить требуемые параметры и выполнить команду.

089_GeoMaster

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

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

Команда анализирует все указанные файлы и создает из них таблицы MapInfo. Созданные таблицы закрываются, а не остаются открытыми, как в MapInfo. В результате выполнения команды, в указанном каталоге будут находиться исходные файлы обменного формата и уже импортированные таблицы MapInfo.

голоса
Рейтинг статьи
Читайте так же:
Как сшить платье в домашних условиях без швейной
Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector