另一种方法是使用attribute剥取器将每个属性名和值对转换为单独的特性,然后仅过滤掉值不为空的那些特性。并使用过滤后的结果创建模式特性。在动态写入器中,模式定义可以来自模式特性。这将确保writer不会写出没有任何值的列。
我附加了一个示例工作区供参考。源shapefile有一个列“COUSUBNS”,其中所有值都是空的,在输出中,该列没有被写入。
希望这个有帮助。
关于使用attribute剥皮结果的更多细节,您可以参考本教程的开头部分:https://knowledge.亚搏在线safe.com/articles/31701/transpose-a-table-using-fme.html
在动态写作中,模式是由模式特征定义的,你可以在这里阅读更多:https://knowledge.亚搏在线safe.com/articles/1051/index.html
remove-columns-with-only-empty-data.fmwt
您是否尝试过在数据库上使用SQL语句来读取非空列?
从user_tab_columns中选择column_name,其中table_name=' table_name ', num_nulls=0;
读取数据之后,NullAttributeMapper转换器(如果Null设置为Missing)可以删除所有Null属性。