4 votos

¿Usando la marca de tiempo en el formato de texto parámetro publicado de FME?

Tengo un FME área de trabajo (FME 2015.1) que crea un archivo de salida, digamos result.xslx. Lo que me gustaría hacer es construir el nombre del archivo de salida a partir de diversos parámetros, por ejemplo, el nombre del proyecto y la fecha de creación como myprojectname_result_20161017.xlsx.

Obviamente, el DestDataset_... publicado parámetros no puede ser construido de tal manera utilizando el Editor de texto como $(project)_result_@timestamp(yyyymmmdd).xlsx. Enfoque prometedor es el de construir un texto publicado parámetro y utilice como fuente para la DestDataset_... publicado parámetro.

Donde el nombre del proyecto es ningún problema para lograr, no soy capaz de acceder a la fecha real como se describe arriba en la manera en la creación publicado parámetros. Así que el problema puede reducirse a la pregunta:

En FME, cómo se para automáticamente al insertar la fecha actual (fecha y hora) en un formato de texto de los parámetros publicados?

6voto

Scottie Puntos 195

Un TimeStamper creará un atributo con aaaammdd. A continuación, puede fanout en nombre de archivo y nombre de hoja:

introduzca la descripción de la imagen aquí introduzca la descripción de la imagen aquí

2voto

MobileCushion Puntos 217

Los multiplicadores de salida son una gran idea - probablemente la manera más fácil. Sin embargo, también puede utilizar los parámetros.

La FME manual de capacitación avanzada tiene una sección Compartido (Parámetros) que muestra cómo incrustar un parámetro dentro de otro, así:

Output File: $(OutputFolder)\$(Username).txt

Para obtener la fecha en que el uso de un Guión Parámetro. Que puede ser un TCL o secuencia de comandos de Python que lleva a cabo una acción y devuelve un valor.

Por ejemplo, he aquí un fragmento de código que devuelve una ruta en función de la plataforma que se están ejecutando en:

if {[string match 'C:*' $FME_MacroValues(FME_HOME)]} {
    set realname 'C:\Output\'+$FME_MacroValues(UserFileName)
} else {
    set realname '/Output/'++$FME_MacroValues(UserFileName)
}

return realname

Usted sólo tiene que utilizar algún tipo de Python y TCL función para capturar la fecha y hora actuales. No sé qué sería de la mano, pero estoy seguro de que hay una función de este tipo.

De esa manera usted puede construir hasta un complejo de la ruta de salida, tal vez usando una combinación de parámetros incrustados y con guión de parámetros - además de cualquier otro tipo de parámetro que te gusta. Por ejemplo:

$(ScriptedPlatformPath)\$(ProjectParameter)\$(ScriptedTimestamp).xlxs

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X