QGIS composer добавляет таблицу атрибутов с повторяющимися столбцами

12

Мне нужна помощь с QGIS print composer. Я использую Atlas Composer, и я пытаюсь использовать на add attribute tableвкладке макета.

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

выражение поля (что я хочу):

case when "myfield" is not null   then concat(myfield,' ',myfield1,' & ',myfield2) else concat(myfield1,' ',myfield3)

Я определил фильтр, из item propertiesкоторого я хочу напечатать атлас:

intersects(buffer($geometry),50),$atlasgeometry)

но это показывает так:

value1
value2
value3
value4
value5
value6
value7
value8
value9

из-за многих значений я не могу напечатать их все в моем макете. Мне нужен такой результат:

value 1   value2
value 3   value4
value 5   value6
value 7   value8
value9

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

столбцы

Это то, что мне нужно для моих атрибутов, но я не могу найти что-то подобное.

Наконец, я пытаюсь создать новое выражение с моим полем и пытаюсь добавить следующую функцию, но безуспешно.

Я попробовал это:

dbvaluebyid('test','f_field', @row_number ) ||'' ||dbvaluebyid('test','f_field', @row_number +1)

но из этого выражения я не беру следующую функцию.

и это:

case when "myfield" is not null   then concat(myfield,' ',myfield1,' & ',myfield2) else concat(myfield1,' ',myfield3)  end ||  '                                    ' || case when "myfield" is not null   then concat(myfield,' ',myfield1,' & ',myfield2) else concat(myfield1,' ',myfield3)

любая идея?

Джесси Джес
источник
Вы пробовали режим «Повторить до конца» в Свойства элемента> «Рамки»> «Режим изменения размера:»?
Клебер Барселар
2
Вы пытались создать второй атрибут, идентичный первому, но отфильтровать первую таблицу атрибутов по первым 5 записям, а вторую таблицу атрибутов по последним четырем записям?
Knightshound
@KleberBarcelar, который не является фреймом, является таблицей атрибутов. У меня нет опции изменения размера режима
Джесси Джес,
@Knightshound Я хочу экспортировать двойные значения для каждой строки, экспорт которой является результатом фильтра
Джесси Джес
1
@KleberBarcelar Repeat until finished покажет мне новые значения на новой пустой странице
Джесси Джес,

Ответы:

1

Я нашел способ, но на данный момент он не очень интерактивный. Тем не менее, он позволяет некоторым приятным изменениям отображать симпатичную таблицу:

В QGIS

  • Экспортируйте свою таблицу в Excel

В Excel или аналогичный

(Может быть, эта часть может быть автоматизирована в Excel)

  • Отфильтруйте данные, если необходимо, чтобы получить таблицу по вашему желанию

  • Создать новый набор столбцов после первых

  • Вырежьте и вставьте лишние записи справа от первых

  • Придайте стиль вашему столу

Преобразование таблицы

В Word или аналогичных

  • Скопируйте и вставьте новую таблицу в текстовый документ (проверьте отображение)

  • Сохранить как HTML-документ, если все в порядке

HTM слово

Текстовый редактор

  • Откройте html-файл в текстовом редакторе (например: Notepad ++)

  • Скопируйте код HTML

Вернуться в QGIS

  • Создайте фрейм HTML в вашем QGIS composer и вставьте код HTML

Последний шаг в QGIS

Теперь у вас есть данные в 2 столбца .. со стилем :)

gisnside
источник
Я думаю, что они должны быть лучшим решением, чтобы попытаться сохранить связь с исходной таблицей и / или автоматически восстановить HTML. Но это, вероятно, требует некоторого кодирования для прямого экспорта таблицы qgis в html-код.
gisnside