นักแต่งเพลง QGIS เพิ่มตารางคุณลักษณะที่มีคอลัมน์ซ้ำ


12

ฉันต้องการความช่วยเหลือเกี่ยวกับนักแต่งเพลงพิมพ์ QGIS ฉันใช้ผู้แต่งแอตลาสและพยายามใช้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)

ความคิดใด ๆ


คุณได้ลองโหมด "ทำซ้ำจนกระทั่งเสร็จสิ้น" ใน Item Properties> "Frames"> "โหมดปรับขนาด:" หรือไม่?
Kleber Barcelar

2
คุณได้ลองสร้างแอตทริบิวต์ที่สองเหมือนกับรายการแรก แต่กรองตารางแอตทริบิวต์แรกไปที่ 5 ระเบียนแรกและตารางแอตทริบิวต์ที่สองเป็นสี่ระเบียนสุดท้ายหรือไม่
Knightshound

@ KleberBarcelar ที่ไม่ใช่ frame คือตาราง attribute ฉันไม่มีโหมดตัวเลือกการปรับขนาด
jessie jes

@Knightshound ฉันต้องการให้มีค่าการส่งออกเป็นสองเท่าสำหรับต่อบรรทัดที่การส่งออกเป็นผลมาจากตัวกรอง
jessie jes

1
@KleberBarcelar Repeat until finished แสดงค่าใหม่ในหน้าว่างใหม่
jessie jes

คำตอบ:


1

ฉันพบวิธี แต่ไม่ได้โต้ตอบกันสักครู่ อย่างไรก็ตามมันอนุญาตให้ tweaks ที่ดีในการแสดงตารางสวย:

ใน QGIS

  • ส่งออกตารางของคุณใน Excel

ใน Excel หรือที่คล้ายกัน

(ส่วนนี้อาจเป็นอัตโนมัติใน Excel)

  • กรองข้อมูลหากจำเป็นต้องมีตารางความต้องการของคุณ

  • สร้างชุดคอลัมน์ใหม่หลังจากคอลัมน์แรก

  • ตัดและวางข้อมูลเพิ่มเติมทางด้านขวาของระเบียนแรก

  • นำสไตล์มาไว้บนโต๊ะของคุณ

การแปลงตาราง

ใน Word หรือคล้ายกัน

  • คัดลอกและวางตารางใหม่ของคุณลงในเอกสารคำ (ตรวจสอบการแสดงผล)

  • บันทึกเป็นเอกสาร html ถ้าไม่เป็นไร

คำ HTM

แก้ไขข้อความ

  • เปิดไฟล์ html ในตัวแก้ไขข้อความ (ตัวอย่างเช่น Notepad ++)

  • คัดลอกรหัส HTML

ย้อนกลับไปที่ QGIS

  • สร้างเฟรม HTML ในนักแต่งเพลง QGIS ของคุณและวางรหัส HTML

ขั้นตอนสุดท้ายใน QGIS

ตอนนี้คุณมีข้อมูลของคุณใน 2 คอลัมน์ .. พร้อมสไตล์ :)


ฉันเดาว่าพวกเขาจะต้องเป็นทางออกที่ดีกว่าในการพยายามเชื่อมโยงกับตารางเดิมและ / หรือสร้าง html ขึ้นใหม่โดยอัตโนมัติ แต่มันอาจจะต้องมีการเข้ารหัสเพื่อส่งออกตาราง qgis โดยตรงในรหัส html
gisnside
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.