QGIS composer ajouter une table d'attributs avec des colonnes répétitives

12

J'ai besoin d'aide avec QGIS print composer. J'utilise le compositeur d'atlas et j'essaie d'utiliser add attribute tabledepuis l'onglet de mise en page.

J'ai créé mon expression là où je veux imprimer dans le compositeur.

expression de champ (que je veux):

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

J'ai défini un filtre à partir item propertiesduquel je veux imprimer avec l'atlas:

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

mais cela montre comme ceci:

value1
value2
value3
value4
value5
value6
value7
value8
value9

en raison de trop de valeurs, je ne peux pas les imprimer toutes dans ma mise en page. J'ai besoin d'un résultat comme celui-ci:

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

Si les valeurs sont comme ça, je peux tout imprimer. Si je veux ajouter une légende, j'ai l'option où vous pouvez choisir des colonnes

Colonnes

C'est ce dont j'ai besoin pour mes attributs mais je ne trouve pas quelque chose comme ça.

Enfin j'essaye de créer une nouvelle expression avec mon champ et j'essaye d'ajouter la fonctionnalité suivante mais sans succès.

J'ai essayé ceci:

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

mais à partir de ces expressions, je ne prends pas la fonctionnalité suivante.

et ça:

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)

une idée?

jessie jes
la source
Avez-vous essayé le mode "Répéter jusqu'à la fin" dans Propriétés de l'élément> "Cadres"> "mode de redimensionnement:"?
Kleber Barcelar
2
Avez-vous essayé de créer un deuxième attribut identique au premier, mais filtrez la première table attributaire sur les 5 premiers enregistrements et la deuxième table attributaire sur les quatre derniers enregistrements?
Knightshound
@KleberBarcelar qui n'est pas un cadre est une table d'attributs Je n'ai pas d'option de redimensionnement
jessie jes
@Knightshound Je veux avoir une double valeur d'exportation pour chaque ligne, cette exportation est le résultat du filtre
jessie jes
1
@KleberBarcelar Repeat until finished montre-moi de nouvelles valeurs dans une nouvelle page vide
jessie jes

Réponses:

1

J'ai trouvé un moyen, mais ce n'est pas vraiment interactif pour le moment. Cependant, cela permet à quelques jolis réglages d'avoir un joli tableau affiché:

Dans QGIS

  • Exportez votre tableau dans Excel

Dans Excel ou similaire

(Peut-être que cette partie pourrait être automatisée dans Excel)

  • Filtrer les données si besoin pour avoir la table de vos envies

  • Créer un nouvel ensemble de colonnes après les premières

  • Coupez et collez les enregistrements supplémentaires à droite des premiers

  • Donnez du style à votre table

Transformation de table

Dans Word ou similaire

  • Copiez et collez votre nouveau tableau dans un document Word (vérifiez l'affichage)

  • Enregistrer en tant que document html si c'est ok

Mot HTM

Éditeur de texte

  • Ouvrez le fichier html dans un éditeur de texte (par exemple: Notepad ++)

  • Copiez le code HTML

De retour dans QGIS

  • Créez un cadre HTML dans votre composeur QGIS et collez le code HTML

Dernière étape dans QGIS

Maintenant, vous avez vos données dans 2 colonnes .. avec style :)

gisnside
la source
Je suppose qu'ils doivent être une meilleure solution pour essayer de garder le lien avec la table d'origine et / ou régénérer automatiquement le html. Mais cela nécessite probablement du codage pour exporter directement la table qgis dans un code html.
gisnside