Калькулятор полей

Вопросы по свободной ГИС QGIS. Сообщения об ошибках, предложения по улучшению, локализация.
Ответить
KartaBY
Активный участник
Сообщения: 101
Зарегистрирован: 16 июл 2011, 09:15
Репутация: 6

Калькулятор полей

Сообщение KartaBY » 09 янв 2013, 12:47

Помогите разобраться как объединить два поля.
В одном поле есть все значения в другом нет.
В калькуляторе полей пишу "поле1" || "поле2".
При этом получаю пустые значения там где не было значений во втором поле.
Как сделать так, что бы игнорировало отсутствие значений во втором поле и добавило только первое
Последний раз редактировалось KartaBY 15 янв 2013, 07:57, всего редактировалось 1 раз.

Petruxin
Гуру
Сообщения: 1695
Зарегистрирован: 14 июн 2011, 16:47
Репутация: 133
Ваше звание: Завсегдатай
Откуда: Череповец

Re: Калькулятор полей

Сообщение Petruxin » 09 янв 2013, 13:23


KartaBY
Активный участник
Сообщения: 101
Зарегистрирован: 16 июл 2011, 09:15
Репутация: 6

Re: Калькулятор полей

Сообщение KartaBY » 09 янв 2013, 13:26

Мне не сумма и разность надо, а объединить два текстовых поля.
Справку по калькулятору читал. Не помогло.

Petruxin
Гуру
Сообщения: 1695
Зарегистрирован: 14 июн 2011, 16:47
Репутация: 133
Ваше звание: Завсегдатай
Откуда: Череповец

Re: Калькулятор полей

Сообщение Petruxin » 09 янв 2013, 13:30

Проверить не могу но что-нибудь типа replase?

KartaBY
Активный участник
Сообщения: 101
Зарегистрирован: 16 июл 2011, 09:15
Репутация: 6

Re: Калькулятор полей

Сообщение KartaBY » 09 янв 2013, 13:35

Тоже не то.
Нужно получить третье поле где будет значение "поле1" и "поле2". Если в "поле2" пусто то должно остаться только "поле1".
калькулятор возвращает в этом случае пустое значение.

HasT
Активный участник
Сообщения: 142
Зарегистрирован: 16 окт 2009, 22:08
Репутация: 55
Откуда: Харьков

Re: Калькулятор полей

Сообщение HasT » 09 янв 2013, 13:51

В QGIS 1.9.0 в калькуляторе полей есть функция coalesce() (Returns the first non-NULL value from the expression list. Examples:
coalesce(NULL, 2) → 2;
coalesce(NULL, 2, 3) → 2;
coalesce(7, NULL, 3*2) → 7;
coalesce("fieldA", "fallbackField", 'ERROR') → value of fieldA if it is non-NULL else the value of "fallbackField" or the string 'ERROR' if both are NULL);
С помощью этой функции в результирующее поле добавим значения из "поле1" (где "поле2"=NULL) и "поле2" (где "поле1"=NULL). Потом с помощью запроса выбрать строки, где для одной записи "поле1" и "поле2" не NULL и для выделенных строк выполнить "поле1" || "поле2" (как выбрать не знаю).
Последний раз редактировалось HasT 09 янв 2013, 14:40, всего редактировалось 1 раз.

KartaBY
Активный участник
Сообщения: 101
Зарегистрирован: 16 июл 2011, 09:15
Репутация: 6

Re: Калькулятор полей

Сообщение KartaBY » 09 янв 2013, 13:57

Спасибо. Буду пробовать.

KartaBY
Активный участник
Сообщения: 101
Зарегистрирован: 16 июл 2011, 09:15
Репутация: 6

Re: Калькулятор полей

Сообщение KartaBY » 09 янв 2013, 14:28

у меня стоит 1.8 NextGis.
Не проходит эта функция ((

HasT
Активный участник
Сообщения: 142
Зарегистрирован: 16 окт 2009, 22:08
Репутация: 55
Откуда: Харьков

Re: Калькулятор полей

Сообщение HasT » 09 янв 2013, 14:39

Еще одно решение - установить плагин для QGIS FieldPycalculator. Запрос будет "value = <поле1> + <поле2> "

KartaBY
Активный участник
Сообщения: 101
Зарегистрирован: 16 июл 2011, 09:15
Репутация: 6

Re: Калькулятор полей

Сообщение KartaBY » 10 янв 2013, 09:36

Спасибо. Помогло.
Странно. что при объединении полей в стандартном калькуляторе возвращает NULL.
По логике такого быть не должно.
Это похоже недоработка разработчиков.

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9129
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 748
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: Калькулятор полей

Сообщение Максим Дубинин » 10 янв 2013, 10:15

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

KartaBY
Активный участник
Сообщения: 101
Зарегистрирован: 16 июл 2011, 09:15
Репутация: 6

Re: Калькулятор полей

Сообщение KartaBY » 11 янв 2013, 16:39

Объединяю два поля. Выше все описано.

Ответить

Вернуться в «QGIS»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя