Komposer QGIS menambahkan tabel atribut dengan kolom berulang

12

Saya butuh bantuan dengan komposer cetak QGIS. Saya menggunakan atlas composer dan saya mencoba menggunakan add attribute tabledari tab layout.

Saya telah membuat ekspresi saya di mana saya ingin mencetak di komposer.

ekspresi bidang (yang saya inginkan):

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

Saya telah menetapkan filter dari item propertiestempat saya ingin mencetak dengan atlas:

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

tapi itu menunjukkan seperti ini:

value1
value2
value3
value4
value5
value6
value7
value8
value9

karena banyak nilai saya tidak bisa mencetak semuanya di tata letak saya. Saya butuh hasil seperti ini:

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

Jika nilainya seperti ini maka saya bisa mencetak semua. Jika saya ingin menambahkan legenda maka ada opsi di mana Anda dapat memilih kolom

kolom

Itulah yang saya butuhkan untuk atribut saya tetapi saya tidak dapat menemukan sesuatu seperti ini.

Akhirnya saya mencoba membuat ekspresi baru dengan bidang saya dan saya mencoba menambahkan fitur berikutnya tetapi tidak berhasil.

Saya mencoba ini:

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

tetapi dari ungkapan ini saya tidak mengambil fitur berikutnya.

dan ini:

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)

ada ide?

jessie jes
sumber
Sudahkah Anda mencoba mode "Ulangi sampai selesai" di Item Properties> "Frames"> "mode resize:"?
Kleber Barcelar
2
Sudahkah Anda mencoba membuat atribut kedua yang identik dengan yang pertama, tetapi memfilter tabel atribut pertama ke 5 record pertama dan tabel atribut kedua ke empat record terakhir?
Knightshound
@ KleberBarcelar yang bukan bingkai adalah tabel atribut saya tidak punya opsi mode mengubah ukuran
jessie jes
@Knightshound Saya ingin ekspor nilai ganda untuk per baris yang ekspornya adalah hasil filter
jessie jes
1
@KleberBarcelar Repeat until finished tunjukkan nilai baru di halaman kosong baru
jessie jes

Jawaban:

1

Saya menemukan cara, tetapi itu tidak benar-benar interaktif untuk saat ini. Namun, ini memungkinkan beberapa tweak bagus untuk menampilkan tabel cantik:

Di QGIS

  • Ekspor tabel Anda di Excel

Di Excel atau serupa

(Mungkin bagian ini bisa otomatis di Excel)

  • Saring data jika perlu memiliki tabel keinginan Anda

  • Buat satu set kolom baru setelah yang pertama

  • Potong dan rekatkan catatan tambahan di sebelah kanan yang pertama

  • Dapatkan gaya ke meja Anda

Transformasi tabel

Dalam Word atau sejenisnya

  • Salin dan tempel tabel baru Anda ke dokumen kata (periksa tampilan)

  • Simpan sebagai dokumen html jika tidak masalah

Kata HTM

Editor Teks

  • Buka file html dalam editor teks (misalnya: Notepad ++)

  • Salin kode HTML

Kembali ke QGIS

  • Buat bingkai HTML di komposer QGIS Anda dan rekatkan kode HTML

Langkah terakhir dalam QGIS

Sekarang Anda memiliki data dalam 2 kolom .. dengan gaya :)

gisnside
sumber
Saya kira mereka harus menjadi solusi yang lebih baik untuk mencoba dan menjaga tautan dengan tabel asli dan / atau membuat ulang html secara otomatis. Tetapi mungkin membutuhkan beberapa pengkodean untuk mengekspor langsung tabel qgis ke dalam kode html.
gisnside