Il compositore QGIS aggiunge una tabella di attributi con colonne ripetute


12

Ho bisogno di aiuto con il compositore di stampe QGIS. Uso il compositore dell'atlante e provo a usarlo add attribute tabledalla scheda del layout.

Ho creato la mia espressione dove voglio stampare nel compositore.

espressione di campo (che voglio):

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

Ho definito il filtro da item propertiesdove voglio stampare con l'atlante:

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

ma questo si presenta così:

value1
value2
value3
value4
value5
value6
value7
value8
value9

a causa di molti valori non riesco a stamparli tutti nel mio layout. Ho bisogno di un risultato come questo:

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

Se i valori sono così, posso stampare tutto. Se voglio aggiungere una legenda, allora ho un'opzione in cui puoi scegliere le colonne

colonne

Questo è ciò di cui ho bisogno per i miei attributi ma non riesco a trovare qualcosa del genere.

Finalmente provo a creare una nuova espressione con il mio campo e provo ad aggiungere la prossima funzione ma senza successo.

Ho provato questo:

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

ma da queste espressioni non prendo la prossima funzione.

e questo:

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)

qualche idea?


Hai provato la modalità "Ripeti fino al termine" in Proprietà elemento> "Cornici"> "Modalità ridimensionamento:"?
Kleber Barcelar,

2
Hai provato a creare un secondo attributo identico al primo, ma hai filtrato la prima tabella degli attributi sui primi 5 record e la seconda tabella degli attributi sugli ultimi quattro record?
Knightshound,

@KleberBarcelar che non è frame è la tabella degli attributi Non ho la modalità di ridimensionamento delle opzioni
jessie jes

@Knightshound Voglio avere valori doppi di esportazione per riga che l'esportazione è il risultato del filtro
jessie jes

1
@KleberBarcelar Repeat until finished mostrami nuovi valori nella nuova pagina vuota
jessie jes

Risposte:


1

Ho trovato un modo, ma non è davvero interattivo per il momento. Tuttavia, consente ad alcune belle modifiche di avere una bella tabella visualizzata:

In QGIS

  • Esporta la tua tabella in Excel

In Excel o simili

(Forse questa parte potrebbe essere automatizzata in Excel)

  • Filtra i dati se necessario per avere la tabella dei tuoi desideri

  • Crea un nuovo set di colonne dopo i primi

  • Taglia e incolla i record extra a destra dei primi

  • Dai stile al tuo tavolo

Trasformazione della tabella

In Word o simili

  • Copia e incolla la tua nuova tabella in un documento di Word (controlla il display)

  • Salva come documento HTML se è ok

Parola HTM

Editor di testo

  • Apri il file html in un editor di testo (ad esempio: Blocco note ++)

  • Copia il codice HTML

Di nuovo in QGIS

  • Crea un frame HTML nel tuo compositore QGIS e incolla il codice HTML

Ultimo passo in QGIS

Ora hai i tuoi dati in 2 colonne .. con stile :)


Immagino che debbano essere la soluzione migliore per provare a mantenere il collegamento con la tabella originale e / o rigenerare automaticamente l'html. Ma probabilmente richiede un po 'di codice per esportare direttamente la tabella qgis in un codice HTML.
gisnside,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.