QGIS编写器添加具有重复列的属性表


12

我需要QGIS打印作曲者的帮助。我使用Atlas作曲器,并尝试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)

任何想法?


您是否曾在“项目属性”>“框架”>“调整大小模式:”中尝试过“重复直到完成”模式?
Kleber Barcelar'5

2
您是否尝试过创建与第一个属性相同的第二个属性,但是将第一个属性表过滤为前5个记录,将第二个属性表过滤为后四个记录?
骑士猎犬

@KleberBarcelar不是框架是属性表,我没有选项调整大小模式
jessie jes

@Knightshound我想为每行导出双精度值,即导出是过滤器的结果
jessie jes

1
@KleberBarcelar Repeat until finished 在新的空白页面中向我显示新值
jessie jes

Answers:


1

我找到了一种方法,但是目前还不是真的。但是,它允许一些不错的调整来显示漂亮的表:

在QGIS中

  • 在Excel中导出表格

在Excel或类似版本中

(也许这部分可以在Excel中自动执行)

  • 根据需要过滤数据以获取所需的表

  • 在第一个列之后创建一个新列集

  • 将多余的记录剪切并粘贴到第一个记录的右侧

  • 为您的餐桌增添一些风格

表转换

以Word或类似形式

  • 将新表格复制并粘贴到Word文档中(检查显示)

  • 如果可以,另存为html文档

HTM字

文本编辑器

  • 在文本编辑器中打开html文件(例如:Notepad ++)

  • 复制HTML代码

回到QGIS

  • 在QGIS编辑器中创建HTML框架并粘贴HTML代码

QGIS的最后一步

现在,您将数据分为两列..使用style :)


我猜想它们必须是更好的解决方案,以尝试保持与原始表的链接和/或自动重新生成html。但是,可能需要一些编码才能将qgis表直接导出为html代码。
gisnside
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.