Por lo tanto, hay varios lugares en los que podría querer eliminar el atributo.
Si desea eliminarlo del propio espacio de trabajo, deberá hacerlo manualmente, por ejemplo con un AttributeManager. No puedes hacerlo automáticamente, o cuando se ejecuta, porque FME no actualizará el espacio de trabajo.
Así que ocultarlo en el espacio de trabajo de arriba es una tarea manual.
Si quieres eliminar el atributo de los propios datos, es bastante fácil. De hecho, si el valor ya está establecido en <Missing>
entonces FME considerará que ha desaparecido. Si es otro valor, puedes usar un transformador NullAttributeMapper para manejarlo:
Por lo tanto, si el valor es literalmente "valor omitido", como en los datos anteriores, este transformador lo convierte en un verdadero valor omitido al estilo de FME.
Seguirá viéndolo en la tabla de vista previa visual (etiquetada como <Missing>
) pero no en la ventana de información de características:
Pero, por supuesto, eso no es particularmente útil si quieres que se elimine también de cualquier dato de salida. Eso requiere un poco más de esfuerzo.
En primer lugar, añadimos un transformador SchemaScanner (he eliminado partes de la imagen para mayor claridad):
Básicamente se trata de crear el esquema (estructura de datos) que queremos escribir. He dicho que ignoremos los atributos que empiezan por csv_ o fme_ o multi_. También he dicho que ignorar cualquier vacío (falta) atributos.
Ahora quiero escribir los datos; en mi caso, vuelvo a CSV:
Observe que ambas salidas de SchemaScanner están conectadas y que le he dicho que obtenga el esquema de la función de esquema (y de ningún otro sitio).
En la pestaña Atributos de usuario, está configurado como Dinámico y he eliminado TODAS las definiciones de atributos:
Ejecute el espacio de trabajo, y esto es lo que obtengo:
Column 1|Column 3
First entry | First entry
Second entry | Second entry
Espero que no sea demasiado confuso. Básicamente, depende de dónde desea eliminar los atributos. Si es de los datos de salida, entonces usted necesita utilizar un esquema dinámico.
Respondí a una pregunta similar durante una retransmisión en directo. Puede encontrar la grabación aquí . La diferencia es que allí el usuario quería distribuir sus datos en múltiples salidas, lo cual es una complicación que no creo que necesites. Pero sigue la misma caída de campos vacíos.