QGIS Composer fügt eine Attributtabelle mit sich wiederholenden Spalten hinzu

12

Ich brauche Hilfe beim QGIS Print Composer. Ich benutze den Atlas Composer und versuche, ihn über die add attribute tableRegisterkarte Layout zu verwenden .

Ich habe meinen Ausdruck dort erstellt, wo ich im Composer drucken möchte.

Feldausdruck (den ich will):

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

Ich habe den Filter definiert, von item propertiesdem aus ich mit dem Atlas drucken möchte:

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

aber das zeigt sich so:

value1
value2
value3
value4
value5
value6
value7
value8
value9

Aufgrund zu vieler Werte kann ich nicht alle in meinem Layout drucken. Ich brauche ein Ergebnis wie dieses:

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

Wenn die Werte so sind, kann ich alle drucken. Wenn ich eine Legende hinzufügen möchte, haben Sie die Option, in der Sie Spalten auswählen können

Säulen

Das ist es, was ich für meine Attribute brauche, aber ich kann so etwas nicht finden.

Schließlich versuche ich, einen neuen Ausdruck mit meinem Feld zu erstellen, und ich versuche, das nächste Feature hinzuzufügen, aber ohne Erfolg.

Ich habe es versucht:

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

aber von diesen Ausdrücken nehme ich nicht die nächste Funktion.

und das:

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)

irgendeine Idee?

jessie jes
quelle
Haben Sie den Modus "Wiederholen bis zum Ende" unter Objekteigenschaften> "Frames"> "Größenänderungsmodus:" ausprobiert?
Kleber Barcelar
2
Haben Sie versucht, ein zweites Attribut zu erstellen, das mit dem ersten identisch ist, aber die erste Attributtabelle mit den ersten fünf Datensätzen und die zweite Attributtabelle mit den letzten vier Datensätzen gefiltert?
Knightshound
@KleberBarcelar, das kein Frame ist, ist eine Attributtabelle. Ich habe keine Option zum
Ändern der
@ Knightshound Ich möchte doppelte Werte für jede Zeile exportieren lassen, die das Ergebnis von filter
jessie jes ist.
1
@KleberBarcelar Repeat until finished zeige mir neue Werte auf einer neuen leeren Seite
jessie jes

Antworten:

1

Ich habe einen Weg gefunden, aber es ist im Moment nicht wirklich interaktiv. Es erlaubt jedoch einigen netten Tweaks, eine hübsche Tabelle anzuzeigen:

In QGIS

  • Exportieren Sie Ihre Tabelle in Excel

In Excel oder ähnlichem

(Vielleicht könnte dieser Teil in Excel automatisiert werden)

  • Filtern Sie die Daten bei Bedarf, um die gewünschte Tabelle zu erhalten

  • Erstellen Sie nach den ersten Spalten eine neue Gruppe

  • Schneiden Sie die zusätzlichen Datensätze rechts von den ersten aus und fügen Sie sie ein

  • Holen Sie sich etwas Stil auf Ihren Tisch

Tabellentransformation

In Word oder ähnlich

  • Kopieren Sie Ihre neue Tabelle und fügen Sie sie in ein Word-Dokument ein (überprüfen Sie die Anzeige)

  • Speichern Sie als HTML-Dokument, wenn es in Ordnung ist

HTM-Wort

Texteditor

  • Öffnen Sie die HTML-Datei in einem Texteditor (zum Beispiel: Notepad ++)

  • Kopieren Sie den HTML-Code

Zurück in QGIS

  • Erstellen Sie einen HTML-Frame in Ihrem QGIS-Composer und fügen Sie den HTML-Code ein

Letzter Schritt in QGIS

Jetzt haben Sie Ihre Daten in 2 Spalten .. mit Stil :)

gisnside
quelle
Ich denke, sie müssen eine bessere Lösung sein, um zu versuchen, die Verknüpfung mit der Originaltabelle beizubehalten und / oder das HTML automatisch neu zu generieren. Aber es erfordert wahrscheinlich etwas Code, um die QGIS-Tabelle direkt in einen HTML-Code zu exportieren.
Gisnside