Acerca de los comandos de creación de datos de Portrait Miner

Anuncio
Guía de referencia del
comando de creación de datos
y TML
Versión 7.1
©
2016 Pitney Bowes Software Inc. Todos los derechos reservados.
Este documento puede incluir información confidencial y exclusiva de propiedad de Pitney Bowes Inc. y/o sus
subsidiarias y compañías asociadas.
Portrait Software, el logotipo de Portrait Software, Portrait y la marca Portrait de Portrait Software son las
marcas comerciales de Portrait Software International Limited y se prohíbe su uso o explotación de cualquier
forma sin previa autorización escrita expresa de Portrait Software International Limited.
Reconocimiento de marcas comerciales
Otros nombres de productos, nombres de compañías, marcas, logotipos y símbolos a los que se hace referencia
en la presente pueden ser marcas comerciales o marcas comerciales registradas de sus propietarios registrados.
Soporte técnico de Portrait Software
Si necesita ayuda con algún tema no abordado en esta documentación, consulte la Base de conocimientos
de nuestro sitio web http://support.portraitsoftware.com y siga los enlaces que llevan al producto.
También puede descargar otra documentación de Portrait Software desde el sitio. Si no tiene nombre de
usuario ni contraseña, o no los recuerda, comuníquese con nosotros a través de uno de los canales
mencionados a continuación.
Si encuentra un problema en el uso, la instalación o la documentación de este producto, comuníquese con
nosotros a través de cualquiera de los siguientes métodos:
Correo electrónico:[email protected]
Teléfono
• EE. UU./Canadá 1-800-335-3860 (línea gratuita)
• Resto del mundo +44 800 840 0001
Cuando notifique un problema, nos resultará útil la siguiente información:
•
•
•
•
El nombre de la aplicación de software.
Las circunstancias en las que surgió el problema.
Los mensajes de error que recibió (si hubiera).
La versión del software que utiliza.
Pitney Bowes Software Inc.
February 23, 2016
Contenidos
Capítulo 1: Introducción...........................................................................................13
Descripción general de Portrait Miner............................................................................14
Quién debe leer este manual............................................................................................14
Capítulo 2: Comandos de creación de datos de Portrait Miner............................15
Acerca de los comandos de creación de datos de Portrait Miner................................16
Opciones estándar de la línea de comandos.................................................................21
La opción de línea de comandos -force..........................................................................24
La opción de línea de comandos -macro........................................................................25
Capítulo 3: Administrar el comando de creación de datos Portrait Miner..........27
qsbuild................................................................................................................................28
Capítulo 4: Comandos para importar y exportar datos.........................................31
qsdbaccess........................................................................................................................32
qsimportdb.........................................................................................................................33
qsdbcreatetable.................................................................................................................35
qsdbinsert..........................................................................................................................37
qsdbupdate........................................................................................................................38
qsgenfdd............................................................................................................................40
qsimportflat........................................................................................................................42
qsexportflat........................................................................................................................44
qsimportstat.......................................................................................................................48
qsexportstat.......................................................................................................................50
qsimportfocus....................................................................................................................52
Cómo Portrait Miner importa los tipos de base de datos..............................................54
Importación a Portrait Miner desde una base de datos.................................................54
Exportación de Portrait Miner a una base de datos.......................................................55
Formatos de fecha.............................................................................................................55
Formatos de fecha estándar..........................................................................................56
Formatos de fechas personalizados..............................................................................56
Capítulo 5: Comandos para procesar enfoques....................................................61
qssort..................................................................................................................................62
qsderive..............................................................................................................................63
qsmeasure..........................................................................................................................66
qstrack................................................................................................................................70
qsselect..............................................................................................................................73
qsrenamefields..................................................................................................................75
qsexportmetadata..............................................................................................................78
qsimportmetadata.............................................................................................................78
qsupdate.............................................................................................................................82
Capítulo 6: Comandos para combinar enfoques...................................................85
Acerca de la combinación de enfoques..........................................................................86
qsjoin..................................................................................................................................86
qsmerge..............................................................................................................................90
Capítulo 7: Comandos para administrar enfoques................................................93
qscopy................................................................................................................................94
qslink..................................................................................................................................95
qsmove...............................................................................................................................95
qsremove............................................................................................................................96
qsarchive............................................................................................................................97
qsunzip...............................................................................................................................98
Capítulo 8: Comandos para elaborar informes....................................................101
qssettings.........................................................................................................................102
qsaudit..............................................................................................................................102
qsdescribe........................................................................................................................106
qsdescribestat.................................................................................................................107
qshtmlunpack..................................................................................................................108
qsdtsnapshot, qsscsnapshot.........................................................................................109
qsxt...................................................................................................................................112
qsinfo................................................................................................................................113
4
Portrait Miner 7.1
qsdescribelicense...........................................................................................................114
Capítulo 9: Comandos para construir modelos...................................................117
Acerca del Asistente de scorecard................................................................................118
qsscorecardwizard..........................................................................................................119
qsdecisiontree.................................................................................................................125
qsscorecard.....................................................................................................................126
Acerca del Asistente para reglas de asociación..........................................................128
qsruleminer......................................................................................................................129
Capítulo 10: Comandos para trabajar con archivos QMML................................133
qsqmmlview.....................................................................................................................134
qsqmmledit......................................................................................................................134
qslt....................................................................................................................................137
qsqmml2sas.....................................................................................................................139
qsqmml2sql......................................................................................................................139
qsqsfmtosas....................................................................................................................140
Capítulo 11: Otros comandos................................................................................141
qsmapgen.........................................................................................................................142
Capítulo 12: Lenguaje de medición de transacciones........................................147
Acerca de Transaction Measurement Language..........................................................148
Sintaxis de TML...............................................................................................................148
Palabras reservadas en TML..........................................................................................149
Capítulo 13: Instrucciones TML.............................................................................151
Definición de campos: la instrucción create................................................................152
Uso de funciones de agregación y las cláusulas where y default.............................154
División de agregaciones: la cláusula by.....................................................................156
Evaluación del enfoque de estadísticas: la instrucción de calcular..........................158
Capítulo 14: Funciones de agregación.................................................................161
Funciones de agregación para mediciones y derivaciones........................................162
any....................................................................................................................................165
confintlower.....................................................................................................................165
Guía de referencia del comando de creación de datos y TML
5
confintupper.....................................................................................................................166
count.................................................................................................................................167
countnonnull/countnonnulls..........................................................................................167
countnull/countnulls.......................................................................................................168
countunique.....................................................................................................................169
countuniquenonnull........................................................................................................169
first....................................................................................................................................170
last....................................................................................................................................171
max (un argumento)........................................................................................................171
mean (un argumento)......................................................................................................172
median..............................................................................................................................173
min (un argumento).........................................................................................................173
mode.................................................................................................................................174
moderatio.........................................................................................................................175
percentage.......................................................................................................................175
percentagerate.................................................................................................................176
segindex...........................................................................................................................177
significance......................................................................................................................177
stdev.................................................................................................................................178
sum (un argumento)........................................................................................................179
variance............................................................................................................................179
Capítulo 15: Lenguaje de derivación de campos.................................................181
Acerca del lenguaje de derivación de campos (FDL)..................................................182
Capítulo 16: Sintaxis FDL.......................................................................................183
Tipos de datos.................................................................................................................184
El valor null...................................................................................................................184
Datos booleanos..........................................................................................................185
Compatibilidad de tipos................................................................................................185
Conversión de tipos.....................................................................................................186
Expressions (Expresiones)............................................................................................186
Expresiones básicas....................................................................................................186
Expresiones condicionales............................................................................................187
La expresión if..............................................................................................................188
La expresión case........................................................................................................189
Variables...........................................................................................................................190
Variables globales en Decision Studio.........................................................................191
6
Portrait Miner 7.1
Variables state en Transaction Measurement Language.............................................191
Funciones definidas por el usuario...............................................................................192
Atributos de funciones.................................................................................................194
Operadores aritméticos..................................................................................................195
Operadores relacionales.................................................................................................196
Operadores lógicos.........................................................................................................198
Prioridad de operadores.................................................................................................199
Funciones incorporadas.................................................................................................199
Palabras reservadas en FDL..........................................................................................206
Capítulo 17: Funciones condicionales..................................................................207
clamp................................................................................................................................208
cond..................................................................................................................................208
iff.......................................................................................................................................209
ifnull, nvl...........................................................................................................................210
isnull.................................................................................................................................211
isselected.........................................................................................................................212
replace..............................................................................................................................212
Capítulo 18: Funciones de conversión de tipo de datos.....................................215
todate................................................................................................................................216
tointeger...........................................................................................................................217
toreal.................................................................................................................................217
tostring.............................................................................................................................218
Capítulo 19: Funciones para trabajar con fechas................................................221
addcenturies, addcenturiescountbackwards...............................................................223
adddays............................................................................................................................224
addhours..........................................................................................................................224
addminutes......................................................................................................................225
addmonths, addmonthscountbackwards.....................................................................226
addseconds......................................................................................................................228
addweeks.........................................................................................................................229
addyears, addyearscountbackwards............................................................................230
countcenturies.................................................................................................................231
countdays.........................................................................................................................231
counthours.......................................................................................................................232
Guía de referencia del comando de creación de datos y TML
7
countminutes...................................................................................................................233
countseconds..................................................................................................................234
countweeks......................................................................................................................235
countwholecenturies, countwholecenturiesbackwards..............................................236
countwholedays..............................................................................................................237
countwholehours.............................................................................................................238
countwholeminutes.........................................................................................................238
countwholemonths, countwholemonthsbackwards....................................................239
countwholeseconds........................................................................................................241
countwholeweeks............................................................................................................242
countwholeyears, countwholeyearsbackwards...........................................................243
countyears.......................................................................................................................244
day....................................................................................................................................245
dayofweek........................................................................................................................245
gmt2edt.............................................................................................................................246
hour...................................................................................................................................246
minute...............................................................................................................................247
month................................................................................................................................248
now...................................................................................................................................248
second..............................................................................................................................249
today.................................................................................................................................249
weekofyear.......................................................................................................................250
year...................................................................................................................................251
Capítulo 20: Funciones para trabajar con cadenas.............................................253
concat...............................................................................................................................254
endswith...........................................................................................................................254
find....................................................................................................................................255
left.....................................................................................................................................256
mid....................................................................................................................................257
right...................................................................................................................................258
soundex............................................................................................................................259
startswith..........................................................................................................................260
strlen.................................................................................................................................261
strmember........................................................................................................................261
substitute.........................................................................................................................262
substr................................................................................................................................263
tolower..............................................................................................................................264
8
Portrait Miner 7.1
toupper.............................................................................................................................265
trim....................................................................................................................................265
Capítulo 21: Expresiones regulares y sus funciones asociadas.......................267
Expresiones regulares....................................................................................................268
Componentes básicos de una expresión regular........................................................268
Referencias inversas...................................................................................................270
Operadores de las expresiones regulares....................................................................270
Operadores de repetición............................................................................................270
El operador de concatenación.....................................................................................271
El operador de alternancia...........................................................................................271
match................................................................................................................................272
replaceall..........................................................................................................................273
replacefirst.......................................................................................................................274
Capítulo 22: Funciones matemáticas y estadísticas...........................................277
abs....................................................................................................................................278
ceil.....................................................................................................................................278
cos....................................................................................................................................279
exp....................................................................................................................................279
floor...................................................................................................................................280
log.....................................................................................................................................280
log10.................................................................................................................................281
logbase.............................................................................................................................281
max (dos o más argumentos), maxnonnull..................................................................282
mean (dos o más argumentos), meannonnull..............................................................283
min (dos o más argumentos), minnonnull....................................................................283
normalize..........................................................................................................................284
pow...................................................................................................................................285
product, productnonnull.................................................................................................285
round................................................................................................................................286
sgn....................................................................................................................................287
sin.....................................................................................................................................287
sqrt....................................................................................................................................288
sum (dos o más argumentos), sumnonnull..................................................................288
tan.....................................................................................................................................289
Guía de referencia del comando de creación de datos y TML
9
Capítulo 23: Funciones de muestreo de datos....................................................291
numericTestTrainSplit.....................................................................................................292
numericTestTrainValidateSplit.......................................................................................292
sampleEqualSize.............................................................................................................293
sampleExactNumber.......................................................................................................294
sampleExactPercentage.................................................................................................295
sampleStratified...............................................................................................................296
testTrainSplit....................................................................................................................297
testTrainValidateSplit......................................................................................................297
Capítulo 24: Funciones de números aleatorios...................................................299
Sobre las funciones de números aleatorios en FDL....................................................300
rndBinomial......................................................................................................................300
rndBool.............................................................................................................................301
rndExp..............................................................................................................................301
rndGamma........................................................................................................................302
rndNormal........................................................................................................................302
rndPoisson.......................................................................................................................303
rndUniform.......................................................................................................................304
Capítulo 25: Funciones de rentabilidad de la inversión......................................305
ActionROI.........................................................................................................................306
ActionROIAnnualized......................................................................................................307
OfferROI............................................................................................................................308
OfferROIAnnualized........................................................................................................309
RetentionActionROI........................................................................................................310
RetentionActionROIAnnualized.....................................................................................311
RetentionOfferROI...........................................................................................................313
RetentionOfferROIAnnualized........................................................................................314
Capítulo 26: Funciones diversas...........................................................................317
dblookup..........................................................................................................................318
member.............................................................................................................................319
rankOrder, rankOrderApprox.........................................................................................321
rankOrderMean, rankOrderApproxMean.......................................................................322
rownum.............................................................................................................................323
10
Portrait Miner 7.1
Capítulo 27: Rangos...............................................................................................325
bin.....................................................................................................................................326
Boolean............................................................................................................................327
DayFrom, WeekFrom, MonthFrom, YearFrom..............................................................328
DayMultipleFrom, WeekMultipleFrom, MonthMultipleFrom, YearMultipleFrom........328
DayMultipleNumBins,WeekMultipleNumBins,MonthMultipleNumBins,YearMultipleNumBins.329
DayMultiplePrePost, WeekMultiplePrePost, MonthMultiplePrePost, YearMultiplePrePost.330
DayMultipleTo, WeekMultipleTo, MonthMultipleTo, YearMultipleTo...........................331
DayMultipleWidth, WeekMultipleWidth, MonthMultipleWidth, YearMultipleWidth....332
DayPrePost, WeekPrePost, MonthPrePost, YearPrePost............................................333
DayRange, WeekRange, MonthRange, YearRange......................................................334
DayTo, WeekTo, MonthTo, YearTo..................................................................................335
EqualRange......................................................................................................................336
EqualRangeWidth............................................................................................................337
NegativeNonNegative......................................................................................................337
PreDuringPost.................................................................................................................338
PrePost.............................................................................................................................339
Sign...................................................................................................................................340
Capítulo 28: XML en Portrait Miner.......................................................................341
XML en Portrait Miner.....................................................................................................342
Especificación de metadatos para qsimportmetadata................................................342
metadata......................................................................................................................342
focus.............................................................................................................................343
field en metadatos........................................................................................................343
fdl.................................................................................................................................344
comment......................................................................................................................345
history...........................................................................................................................346
recordselection.............................................................................................................346
numeric........................................................................................................................347
date..............................................................................................................................347
categorical....................................................................................................................348
range............................................................................................................................349
select............................................................................................................................349
Especificación de agregación para qsmeasure...........................................................349
aggregations................................................................................................................349
field en agregados........................................................................................................350
Guía de referencia del comando de creación de datos y TML
11
Especificación de derivación para qsderive.................................................................351
derivations....................................................................................................................351
field en derivaciones....................................................................................................351
Especificación de selección para qsselect...................................................................352
selections.....................................................................................................................352
field en selecciones......................................................................................................352
Especificación de tabulación cruzada para qsxt.........................................................353
crosstabset...................................................................................................................353
crosstab........................................................................................................................354
specification en la tabulación cruzada.........................................................................354
function.........................................................................................................................355
field en la tabulación cruzada......................................................................................355
Especificación de mapeo del nombre de campo para qsrenamefields.....................356
mappingset...................................................................................................................356
map..............................................................................................................................356
Especificación del árbol de decisión para qsdecisiontree.........................................357
decisiontree..................................................................................................................357
specification en el árbol de decisión............................................................................357
splitconstraints.............................................................................................................358
testtrain........................................................................................................................359
Especificación de creación de un cuadro de mando para qsscorecard....................359
scorecard.....................................................................................................................359
specification en cuadro de mando...............................................................................360
Especificaciones de creación de rangos......................................................................361
binning..........................................................................................................................361
numeric........................................................................................................................362
date..............................................................................................................................363
categorical....................................................................................................................364
categories.....................................................................................................................365
category.......................................................................................................................365
selectn..........................................................................................................................366
geographic...................................................................................................................366
minendparam...............................................................................................................366
maxendparam..............................................................................................................367
boundaries...................................................................................................................367
boundary......................................................................................................................367
valores de atributo..........................................................................................................368
12
Portrait Miner 7.1
Capítulo
Introducción
En esta sección:
• Descripción general de Portrait Miner . . . . . . . . . . . . . . .14
• Quién debe leer este manual . . . . . . . . . . . . . . . . . . . . . . .14
1
Descripción general de Portrait Miner
Descripción general de Portrait Miner
Portrait Miner es una poderosa solución de análisis predictivo que permite que tanto los profesionales
dedicados a la percepción del cliente como los usuarios comerciales puedan formar una imagen clara
de sus clientes para comprenderlos mejor, descubrir áreas de oportunidades, alcanzar una mayor
segmentación y predecir comportamientos futuros.
Portrait Customer Analytics es una solución incomparable de próxima generación, diseñada para facilitar
el uso y obtener rápidas visiones ejecutables. Esta solución reduce la brecha entre las herramientas
estándar de inteligencia empresarial que poseen un alcance limitado para explorar información y las
soluciones de procesamiento de datos numéricos para las cuales los programadores estadísticos deben
crear consultas y modelos.
Esta solución utiliza una poderosa visualización de la información en 3D y una rápida automatización
de modelos para revelar importantes conexiones entre los datos y calcular tendencias con solo pulsar
un botón, lo cual incrementa la precisión del modelo predictivo y aumenta la velocidad de los resultados
analíticos.
Portrait Miner se puede utilizar para prever comportamientos y tendencias que puedan afectar las
ganancias, como la fuga de clientes, las oportunidades de ventas cruzadas y ventas mejoradas, el
planeamiento y la segmentación de campañas, la satisfacción y lealtad del cliente y el valor del ciclo de
vida del cliente.
Quién debe leer este manual
El manual está dirigido a los usuarios de Portrait Miner que estén habituados a utilizar la línea de
comandos y que deseen crear o modificar la creación de datos. Algunas secciones — en especial, el
capítulo que describe los comandos disponibles para administrar enfoques — también pueden ser de
interés para los administradores de Portrait Miner.
Este documento fue creado a modo de referencia y no es un tutorial.
14
Portrait Miner 7.1
Capítulo
Comandos de creación de
datos de Portrait Miner
En esta sección:
• Acerca de los comandos de creación de datos de Portrait
Miner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16
• Opciones estándar de la línea de comandos . . . . . . . . . .21
• La opción de línea de comandos -force . . . . . . . . . . . . . .24
• La opción de línea de comandos -macro . . . . . . . . . . . . .25
2
Acerca de los comandos de creación de datos de Portrait Miner
Acerca de los comandos de creación de datos de
Portrait Miner
Los comandos de creación de datos de Portrait Miner brindan funciones clave sobre la creación,
administración e informes de datos de Portrait Miner, desde la línea de comandos. Si bien puede
ingresar comandos individuales para realizar tareas one-off, la verdadera ventaja de utilizar los comandos
de creación de datos consiste en que puede combinarlos de manera similar a las secuencias de comandos
de shell en UNIX y a los archivos por lotes de Windows en el caso de creaciones de datos más complejas.
Para administrar la creación de datos que contienen varios pasos interdependientes, también puede
utilizar la herramienta Data Build Manager de Portrait Miner o su equivalente en línea de comandos,
qsbuild. Con un plan de creación que exprese la secuencia necesaria de pasos, se ahorra tiempo y se
minimizan los errores humanos. Si ejecuta un proceso normal de creación o implementación de datos
y lo deja funcionando solo, durante la noche quizás, y algo falla (por ejemplo, se acaba el espacio en
el disco), seguramente querrá solucionar el problema y continuar desde el punto en que se presentó la
interrupción y no comenzar todo el proceso nuevamente. Del mismo modo, si las operaciones necesarias
para las creaciones subsiguientes se superponen en cierta medida, convendría ahorrar tiempo de
procesamiento realizando dichas operaciones solamente una vez. Con el Data Build Manager o
qsbuildserá más fácil rastrear las dependencias entre las operaciones y recordar cuáles son las
operaciones que ya se han realizado.
Cada comando de creación de datos requiere ciertos argumentos en la línea de comandos y podría
aceptar argumentos opcionales, específicos según el comando, además de las opciones estándar
[consultar Opciones estándar de la línea de comandos en la página 21]. En la sección que describe
cada comando hay una sinopsis del comando, que utiliza una anotación sintáctica especial:
• Los elementos que se encuentran entre paréntesis angulares no son literales. Por ejemplo, donde
dice "<enfoque de origen>," debe ingresar el nombre del archivo de un enfoque preexistente.
• Los elementos que se encuentran entre corchetes son opcionales. Por ejemplo, donde dice
"[-overwrite]," puede ingresar "-overwrite" o dejarlo en blanco.
• Los elementos separados por barras verticales son alternativas: debe seleccionar solamente una de
las opciones. Por ejemplo, donde dice "XML | HTML | Full," puede escribir "XML," "HTML," o "Full."
• Un elemento seguido de una elipsis puede repetirse según sea necesario. Por ejemplo, donde dice
<campo> [, <campo> ...], puede escribir Income (ignorando el elemento opcional),
Income,Gender, Income,Gender,Age, etc.
• Las llaves {...} a veces se utilizan para delinear elementos no opcionales. (Lo que cuenta como
un elemento a los fines de alternación y repetición se extiende hasta la barra vertical, corchete o llave
más próxima.) Por ejemplo, donde dice -input <enfoque de origen> {,-input <enfoque
de origen> ...}, puede escribir -input one.ftr -input two.ftr o -input one.ftr
-input two.ftr -input three.ftr pero no simplemente -input one.ftr.
Hay comandos de creación de datos para importarlos y exportarlos, para procesar, unir y administrar
datos en enfoques y para informar sobre enfoques y modelos.
Comandos para importar y exportar datos
16
Portrait Miner 7.1
Capítulo 2: Comandos de creación de datos de Portrait Miner
Comando
Objetivo
qsdbaccess
Crear, probar o eliminar una conexión de base de
datos del usuario, para acceder a una base de
datos.
qsimportdb
Importar datos de una tabla de una base de datos
o del resultado de una búsqueda en la base de
datos.
qsdbcreatetable
Crear una tabla vacía en una base de datos según
los campos de un enfoque.
qsdbinsert
Insertar registros de un enfoque en la tabla de una
base de datos.
qsdbupdate
Actualizar los registros preexistentes en la tabla
de una base de datos, con datos de un enfoque.
qsgenfdd
Crear un archivo de descripción de texto plano
para los datos en un archivo de texto.
qsimportflat
Importar datos de un archivo plano.
qsexportflat
Exportar datos a un archivo plano.
qsimportstat
Importar datos de un archivo SAS u otro conjunto
de datos de terceros.
qsexportstat
Exportar datos a un archivo SAS u otro conjunto
de datos de terceros.
qsimportfocus
Importar datos (sin metadatos) de un enfoque
existente.
Comandos para procesar enfoques
Comando
Objetivo
qssort
Clasificar los registros en un enfoque.
qsderive
Derivar los campos en un enfoque.
qsmeasure
Agregar registros en un enfoque para producir un
nuevo enfoque.
qstrack
Derivar los campos en un enfoque con derivaciones
de rastreo de estado.
qsselect
Agregar una selección de registro a un enfoque.
qsrenamefields
Cambiar el nombre de los campos de un enfoque.
qsexportmetadata
Exportar metadatos desde un enfoque.
qsimportmetadata
Importar metadata desde un archivo a un enfoque.
qsupdate
Copiar metadatos de un enfoque a otro.
Guía de referencia del comando de creación de datos y TML
17
Acerca de los comandos de creación de datos de Portrait Miner
Comandos para combinar enfoques
Comando
Objetivo
qsjoin
Unir campos de uno o más enfoques secundarios
en un enfoque primario, haciendo coincidir los
registros con campos clave.
qsmerge
Combinar los registros de enfoques similares para
crear un nuevo enfoque y mantener los registros
clasificados por campo clave.
Comandos para administrar enfoques
Comando
Objetivo
qscopy
Copiar un enfoque para crear uno nuevo e
independiente.
qslink
Copiar un enfoque compartiendo los datos
subyacentes.
qsmove
Mover o cambiar el nombre de un enfoque.
qsremove
Eliminar los enfoques.
qsarchive
Crear un archivo de archivo s a partir de enfoques
o carpetas.
qsunzip
Extraer de un archivo de archivos.
Comandos para elaborar informes
18
Comando
Objetivo
qssettings
Establecer opciones comunes de formato para
distintos informes.
qsaudit
Generar un Perfil y Auditoría de un enfoque.
qsdescribe
Mostrar información resumida sobre un enfoque.
qsdescribestat
Mostrar información resumida sobre un archivo
SAS u otro conjunto de datos de terceros.
qshtmlunpack
Descomprimir un archivo HTML o XML generado
por qsaudit, qsdtsnapshot, o qsscsnapshot.
qsdtsnapshot
Generar una foto modelo de un árbol de decisión.
qsscsnapshot
Generar una foto modelo de un cuadro de mando.
qsxt
Aplicar una especificación de tabulación cruzada
a un enfoque para producir una nueva tabulación
cruzada.
Portrait Miner 7.1
Capítulo 2: Comandos de creación de datos de Portrait Miner
Comando
Objetivo
qsinfo
Mostrar información de los archivos que
constituyen un enfoque y su relación con otros
enfoques.
qsdescribelicense
Mostrar información sobre una licencia de Portrait
Miner.
Comandos para construir modelos
Comando
Objetivo
qsdecisiontree
Aplicar una especificación de árbol de decisiones
a un enfoque para producir un informe del nuevo
modelo de árbol de decisión.
qsscorecard
Aplicar una especificación de un cuadro de mando
a un enfoque para producir un informe del nuevo
modelo de cuadro de mando.
qsscorecardwizard
Crear un cuadro de mando en un enfoque
específico utilizando un archivo de parámetros.
Comandos para trabajar con archivos QMML
Comando
Objetivo
qsqmmlview
Mostrar el contenido de un archivo de reglas
QMML.
qsqmmledit
Modificar un archivo de reglas QMML.
qslt
Transformar un archivo FDL, QMML o XML
genérico en un formato distinto.
qsqmml2sas
Convertir un archivo QMML en un archivo SAS.
qsqmml2sql
Convertir un archivo QMML en un archivo SQL.
qsqsfmtosas
Convertir las derivaciones de un archivo de
metadatos en un archivo SAS.
Otros comandos
Comando
Objetivo
qsbuild
Ejecutar un plan de creación.
qsmapgen
Crear un conjunto de mapas de Decision Studio a
partir de la creación de rangos de uno o más
archivos divididos por categorías jerárquicas.
Guía de referencia del comando de creación de datos y TML
19
Acerca de los comandos de creación de datos de Portrait Miner
Dado el potencial de interdependencia de los enfoques, no debe intentar copiar,
mover, cambiar el nombre o eliminar los enfoques con utilidades estándares del
sistema operativo. En cambio, siempre debe utilizar los comandos enumerados
anteriormente (o el Portrait Miner para administrar los enfoques.
Generalmente, los comandos de creación de datos que generan archivos sobrescriben
cualquier archivo preexistente con el mismo nombre. Tenga precaución de no
sobrescribir enfoques que dependan de otros o que tengan enfoques a su cargo, ya
que podría inutilizar esos otros enfoques.
Nota: • Para utilizar los comandos de creación de datos, debe tener acceso de línea de comandos a
Portrait Miner. Consulte la Guía de administración de Portrait Miner para obtener información
acerca de la configuración de la ruta de comandos para utilizar comandos de creación de datos
(o pídaselo al administrador de Portrait Miner).
• Los shells de comandos por lo general requieren que los argumentos de la línea de comandos
que contienen ciertos caracteres estén entre comillas, en especial los espacios y la puntuación
especial (como comillas simples y dobles, "<," ">," "*," "=," y "#").
Algunas opciones llevan argumentos que son listas de valores separados por comas, por
ejemplo, la opción -fields en varios comandos. Ese tipo de listas es en realidad un único
argumento de línea de comandos, así es que deberá escribirla entre comillas o bien deberá
asegurarse de que no haya espacios luego de las comas (ni en ningún otro lugar de la lista).
• Cuando utiliza la opción -verbose o -logfile [consultar Opciones estándar de la línea
de comandos en la página 21], el resultado del comando de creación de datos (en pantalla
o en el archivo de registro, según la opción que se utilice) incluye una línea similar a la siguiente:
11:55:21:
{P1/4/4Hm4096Pd2047Pi63Pw27Jm64Um-1Fs991Fh1784Fc0Fp0}
La críptica cadena de caracteres codifica información sobre los recursos de la memoria y el
procesador que utiliza el comando; si tiene problemas de rendimiento con los comandos de
creación de datos, esta información puede ayudar para que el soporte técnico de Portrait
Miner resuelva su problema.
• Los comandos de creación de datos qssort, qsjoin y qsmerge muestran o registran los mensajes
con datos específicos cuando utiliza la opción -verbose o -logfile . Así podrá comprender
más fácilmente de qué manera ha actuado el comando sobre sus datos.
• El estado de salida que devuelve cada comando es cero si lo hace correctamente, o un valor
distinto de cero si falla. Cuando un comando falla, siempre genera un mensaje de error con el
siguiente formato:
*** Error: <message>
Los mensajes de error aparecen en errores estándar y también en los archivos de registro si
se utiliza la opción -logfile [consultar Opciones estándar de la línea de comandos en la
página 21]. Los comandos además pueden generar mensajes de advertencia con el siguiente
formato:
*** Warning: <message>
20
Portrait Miner 7.1
Capítulo 2: Comandos de creación de datos de Portrait Miner
Los mensajes de advertencia aparecen en los errores estándar o bien en los archivos de
registro (pero no en ambos).
• Si un comando falla porque el enfoque es de sólo lectura, con qslink o qscopy copie el
enfoque de sólo lectura en una nueva ubicación y ejecute el comando nuevamente.
• Cuando se crean UDC se utiliza el comando qsdbaccess con el argumento -add. Dado que
le solicita información, no corresponde utilizar esta forma del comando en una secuencia de
shell o archivo por lote.
• De manera predeterminada, los comandos de creación de datos que leen enfoques utilizan el
subenfoque predeterminado, si existe, y de no ser así, utilizan el enfoque superior ("raíz").
Puede anular este comportamiento para un comando determinado utilizando la opción común
-subfocus.
• Muchos de los comandos de creación de datos utilizan las opciones -field , -xfield , -tag
y -xtag para especificar listas de campos. Los campos se pueden especificar con
combinaciones de -field y -xfield o -tag y -xtag pero las opciones de campo y las
opciones de etiqueta no pueden utilizarse combinadas.
Opciones estándar de la línea de comandos
Opciones independientes: Utilice una de las siguientes opciones en lugar de los argumentos normales
de los comandos de creación de datos:
Opción
Efecto
-help
Muestra texto en uso, incluso un resumen de todas
las opciones válidas de la línea de comandos que
sean distintas de las opciones estándar.
-helpall
Muestra el texto en uso incluso un resumen de
todas las opciones válidas de la línea de
comandos.
-version
Muestra la versión de Portrait Miner y la
información de la licencia asociada.
Otras opciones comunes a todos los comandos
Opción
Efecto
-config <archivo de preferencias>
Utilice el archivo de preferencias especificado
(consultar Administración de Portrait Miner).
Las configuraciones de este archivo anulan
aquellas presentes en los archivos de preferencias
estándar del sistema y específicos según el
usuario.
Guía de referencia del comando de creación de datos y TML
21
Opciones estándar de la línea de comandos
Opción
Efecto
-email
Una vez completado el comando, envíe un mensaje
de correo electrónico al destinatario especificado
en las preferencias de Correo electrónico
emailaddress (consulte la Guía de
Administración de Portrait Miner).
El mensaje de correo electrónico incluye un
resumen de estado en formato HTML, como el que
genera la opción-statusfile .
-logfile <archivo de registro>
En el archivo especificado, escriba información
detallada del avance con los tiempos de
funcionamiento y demás información específica
según el comando acerca de la ejecución, inclusive
todos los mensajes de error o advertencia y
sobrescriba todo archivo preexistente con ese
nombre. Continúe mostrando los mensajes de error
en salida estándar. Esta opción implica la opción
-verbose .
-memory <número de megabytes>
Usar como máximo la cantidad de memoria
especificada. El comando intentará mantenerse
dentro del límite de ser posible, pero nunca lo
excederá. En los casos en que un comando
requiere más memoria que la cantidad máxima, se
produce un error. Esta opción anula la
configuración de la preferencia límite blando
de la memoria del enfoque (consulte la Guía
de Administración de Portrait Miner).
-parallel <número de procesadores>
Utiliza la cantidad especificada de procesadores
(si están disponibles) para las operaciones que
pueden utilizar más de un procesador. Esta opción
anula la configuración de la preferencia
Paralelismo (consulte la Guía de Administración
de Portrait Miner).
-progress
Muestra información simple sobre el avance, como
una línea de caracteres . y + .
-settings <archivo de configuraciones> Utiliza la configuración del archivo especificado
para controlar el formato numérico y de fechas en
un informe generado. Esta opción tiene efecto
solamente en los comandos de generación de
informes, es decir qsaudit, qsdtsnapshot y
qsscsnapshot.
En el directorio de configuración específica según
el usuario de una PC con cliente Portrait Miner,
22
Portrait Miner 7.1
Capítulo 2: Comandos de creación de datos de Portrait Miner
Opción
Efecto
Decision Studio crea un archivo llamado
settings.xml cuando realiza cambios sobre las
configuraciones con Editar->Ver Preferencias.
Puede copiar este archivo al servidor para utilizarlo
con la opción -settings. O puede crear un
archivo de configuraciones en el servidor utilizando
el comando qssettings.
De manera predeterminada, el formato de la fecha
es europeo, la cantidad de posiciones decimales
es 2, los ceros posteriores no se quitan, no se
utilizan separadores locales de miles y el formato
de la hora es de 24 horas.
-statusfile <archivo de estado>
Produce un resumen de comandos y de estado
con formato HTML en el archivo de estado.
Si utiliza la opción -email, el mensaje de correo
electrónico sobre el estado incluye un resumen
similar.
-verbose
Muestra información detallada sobre el avance
completo, con tiempos de funcionamiento y demás
información específica según el comando acerca
de la ejecución.
Esta opción anula la opción -progress.
Nota: • Si especifica el uso de más de un procesador, con la opción -parallel o con la preferencia
correspondiente, la memoria disponible, especificada usando la opción -memory o la
preferencia correspondiente, se comparte entre los procesadores.
• La información específica según el comando acerca de la ejecución puede incluir, por ejemplo:
la cantidad de registros de entrada, salida o coincidencia; información sobre conversiones de
base de datos y tipo de datos; o códigos de diagnóstico interesantes para el Soporte técnico
de Portrait Miner .
Ejemplos
Mostrar el texto de ayuda de qsremove:
qsremove -help
Dado el archivo de preferencias audit.ini que contiene lo siguiente:
[Audits and Snapshots]
imageheight = 200
barcolor = #FF0000
Utilice estas preferencias para crear un perfil y auditoría con imágenes de 200 píxeles de altura y barras
rojas:
qsaudit -config audit.ini -input RetailCustApril.ftr
Guía de referencia del comando de creación de datos y TML
23
La opción de línea de comandos -force
Utilice 512 megabytes de memoria para crear un nuevo enfoque RetailTransAprilSorted.ftr
clasificando el enfoque RetailTransApril.ftr:
qssort -memory 512 -output RetailTransAprilSorted.ftr
-input RetailTransApril.ftr -keys CustomerID
Utilice cuatro procesadores (y la configuración predeterminada de memoria) para crear un nuevo enfoque
RetailTransMaySorted.ftr clasificando el enfoque RetailTransMay.ftr:
qssort -parallel 4 -output RetailTransMaySorted.ftr
-input RetailTransMay.ftr -keys CustomerID
La opción de línea de comandos -force
Esta opción se aplica a los comandos que crean enfoques, a saber:
qscopy, qsderive, qsimportdb, qsimportflat, qsimportfocus, qsimportmetadata,
qsimportstat, qsjoin, qslink, qsmeasure, qsmerge, qsrenamefields, qsselect,
qssort, qstrack, qsupdate, qsscorecard y qsdecisiontree.
Opción
Efecto
-force
Permitir un nuevo enfoque especificado utilizando
la opción -output o -to para sobrescribir un
enfoque existente.
Sin la opción -force, si el enfoque especificado
por -output o -to ya existe, el comando no hace
nada (excepto emitir una advertencia).
Nota: • La opción -force solo se debe utilizar cuando sea absolutamente necesario, y se debe
asegurar de que ya no requiere ni el enfoque que está sobrescribiendo ni ningún otro enfoque
que esté enlazado a este [consulte qsinfo en la página 113]. En la mayoría de los casos, sería
mejor apartar el enfoque original utilizando qsmove antes de utilizar un comando de creación
de datos para crear un enfoque nuevo.
• La opción -force solo tiene un efecto en enfoques de salida especificados de modo explícito.
Si está utilizando un comando de creación de datos para modificar un enfoque existente de
modo implícito, no es necesario utilizar -force.
Ejemplos Crear un nuevo enfoque RetailTransAprilSorted.ftr y sobrescribir cualquier enfoque
existente con el mismo nombre, que contenga todos los registros del enfoque RetailTransApril.ftr
ordenados según el campo CustomerID:
qssort -force -output RetailTransAprilSorted.ftr
-input RetailTransApril.ftr -keys CustomerID
24
Portrait Miner 7.1
Capítulo 2: Comandos de creación de datos de Portrait Miner
La opción de línea de comandos -macro
Esta opción se aplica a los comandos:
qsderive, qsmeasure, qstrack y qsselect
Comando
Objetivo
-macro <nombre>=<valor>
Antes de analizar un archivo de entrada TML o
XML correspondiente, reemplazar todas las
instancias de $<nombre> con el valor dado.
Puede utilizar esta opción repetidamente sobre la
misma línea de comandos para especificar
expansiones para macros múltiples.
-macro @<archivo de macros>
Realizar sustitución de macro en archivos de
entrada TML y XML correspondientes mediante la
lectura de los pares <nombre>=<valor> de líneas
sucesivas del archivo de macros.
El archivo de macros también puede estar en
formato XML.
Nota: • Los nombres para macros deben comenzar con una letra e incluir solo letras, dígitos y guión
bajo ("_").
• Data Build Manager proporciona soporte similar, pero independiente, para macros.
Ejemplos
Dado el archivo de selecciones, selections-macro.tml, que contiene lo siguiente:
create ${monthName}Trans${year} :=
month(PurchaseDate) = ${month} and year(PurchaseDate) = ${year};
Utilizar sustituciones de macros para seleccionar registros para abril de 1999 del enfoque
RetailTransApril.ftr:
qsselect -macro monthName=April -macro year=1999 -macro month=4
-selections selections-macro.tml
-input RetailTransApril.ftr -output
RetailTransAprilSelection1.ftr
O, como alternativa, dado el archivo de macros, macros.tml, que contiene lo siguiente:
monthName=April
year=1999
month=4
Aplicar estos macros para lograr el mismo resultado:
qsselect -macro @macros.tml -selections selections-macro.tml
-input RetailTransApril.ftr -output
RetailTransAprilSelection2.ftr
Guía de referencia del comando de creación de datos y TML
25
La opción de línea de comandos -macro
También consulte
XML en Portrait Miner en la página 342
26
Portrait Miner 7.1
Capítulo
Administrar el comando de
creación de datos Portrait
Miner
En esta sección:
• qsbuild . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28
3
qsbuild
qsbuild
Sinopsis qsbuild
[-input <plan de creación de datos>]
[-targets <objetivo> [, <objetivo> ...]
[-skip <objetivo> [, <objetivo> ...]
[-D<nombre>=<valor>]
[-propertyfile <archivo de propiedades>] [-describe] [-dryrun]
[-validate full | -validate warn | -validate none]
[-schema <nombre de esquema>]
[-lib <ruta de clase>]
[-preprocess] [-warn]
Descripción: ejecutar el plan de creación de datos qsbuild.qsb en el directorio actual (a menos que
se especifique un plan distinto de creación de datos con la opción -input).
Argumentos opcionales
Opción
Efecto
-D<nombre>=<valor>
Asignar el valor determinado u otra propiedad al
parámetro mencionado. (Observe que no hay
espacio luego de la -D.)
-describe
En lugar de ejecutar el plan de creación de datos,
descríbalo, enumerando los objetivos principales
y sus descripciones.
-dryrun
Ejecutar el plan de creación de datos como lo hace
normalmente, pero muestre los comandos de
creación de datos en lugar de ejecutarlos. (Toda
tarea que no sea un comando de creación de datos
se ejecuta normalmente).
-input <plan de creación de datos>
Utilice el plan de creación de datos especificado,
en lugar del archivo qsbuild.qsb en el directorio
actual.
-lib <ruta de clase>
Utilice la ruta de clase especificada como ruta de
búsqueda adicional para las clases de Java.
-preprocess
Valide el plan de creación de datos y genere un
archivo intermedio de creación.
-propertyfile <archivo de propiedades> Asignar valores a los parámetros o a otras
propiedades mediante la lectura de los pares
28
Portrait Miner 7.1
Capítulo 3: Administrar el comando de creación de datos Portrait Miner
Opción
Efecto
<nombre>=<valor> de líneas sucesivas del
archivo de propiedades.
-schema <archivo de esquema>
Valide el plan de creación de datos de acuerdo con
el esquema especificado (con sintaxis RELAX NG)
en lugar del esquema al que se hace referencia
en el plan de creación de datos. Puede utilizar un
URI para especificar la ubicación de un archivo de
esquema que no es local.
-skip <objetivo> [, <objetivo> ...]
No cree los objetivos especificados, aunque otros
objetivos dependan de ellos.
-targets <objetivo> [, <objetivo> ...] Cree los objetivos especificados en lugar del
objetivo predeterminado.
-validate fail
Valide el plan de creación de datos según su
esquema y ejecute el plan sólo si es válido
(predeterminado si no especifica una opción
-validate).
-validate none
No valide el plan de creación de datos según su
esquema.
-validate warn
Valide el plan de creación de datos según su
esquema; si hay errores emita advertencias, pero
intente ejecutar el plan sin importar su validez.
-warn
En lugar de abortar un plan de creación de datos
cuando no se puede crear el objetivo, emita una
advertencia e intente crear otros objetivos que no
dependan del objetivo que presenta errores.
Además de estas opciones de la línea de comandos, qsbuild acepta las opciones comunes a todos
los comandos de creación de datos [consultar Opciones estándar de la línea de comandos en la
página 21].
Nota: • El plan de creación de datos describe de qué manera crear un conjunto de datos para analizar
o implementar un modelo. Contiene una cantidad de "objetivos" dependientes entre sí y las
secuencias de las operaciones necesarias para crear los objetivos. El archivo utiliza un formato
con base XML. Para obtener más información sobre Data Build Manager y los formatos de
los planes de preparación de datos, consulte Uso de Data Build Manager.
• Además puede acceder a la mayoría de las funciones de qsbuild a través de Data Build
Manager , disponible a través de Portrait Miner.
Ejemplos Ejecute una creación de datos con el plan de creación de datos qsbuild-starter.qsb:
qsbuild -input qsbuild-starter.qsb
Utilice la tarea Limpiar solamente dentro del plan de creación de datos qsbuild.qsb:
qsbuild -targets Clean -input qsbuild.qsb
Guía de referencia del comando de creación de datos y TML
29
qsbuild
Ejecute el plan de creación de datos qsbuild.qsb con el parámetro Month establecido en June:
qsbuild -DMonth=June -input qsbuild.qsb
También consulte
XML en Portrait Miner en la página 342
30
Portrait Miner 7.1
Capítulo
Comandos para importar y
exportar datos
En esta sección:
•
•
•
•
•
•
•
•
•
•
•
•
•
qsdbaccess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32
qsimportdb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33
qsdbcreatetable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35
qsdbinsert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37
qsdbupdate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38
qsgenfdd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40
qsimportflat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42
qsexportflat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44
qsimportstat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48
qsexportstat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50
qsimportfocus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52
Cómo Portrait Miner importa los tipos de base de datos .54
Formatos de fecha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55
4
qsdbaccess
qsdbaccess
Sinopsis qsdbaccess {,-add
| -list
| -test <UDC>
| -delete <UDC>,}[-system]
Descripción: Crear interactivamente una UDC (conexión de base de datos del usuario), hacer una lista,
probar o eliminar una UDC.
Cuando utiliza -add, qsdbaccess le solicita que ingrese un DSN, nombre de usuario, y una contraseña.
Los UDC se utilizan en comandos de creación de datos relacionados con bases de datos y en otras
partes de Portrait Miner para conectarse con bases de datos. Consultar la Guía de Administración de
Portrait Miner para obtener más información.
Argumentos opcionales
Opción
Efecto
-system
Aplicar la operación (agregar, enumerar, probar o
eliminar) a las UDC del sistema en lugar de hacerlo
con sus UDC personales.
Cuando utiliza -add con -system, qsdbaccess
además le solicita una URL, una clase y un DRL.
Por lo general deberá aceptar las opciones
predeterminadas de estas características.
La opción -system sólo debe ser utilizada por los
administradores del sistema.
Además de esta opción de la línea de comandos, qsdbaccess acepta las opciones comunes a todos
los comandos de creación de datos [consultar Opciones estándar de la línea de comandos en la
página 21].
Nota: • Un UDC está cifrado: si contiene detalles para la identificación del usuario, sólo usted puede
utilizarlos para acceder a la base de datos en cuestión.
• Cuando crea un UDC, qsdbaccess sobrescribe cualquier UDC preexistente con el mismo
nombre (y por lo tanto sobrescribe los detalles asociados para la identificación del usuario).
• El nombre del UDS es sensible al uso de mayúsculas (fred y Fred son distintos), inclusive
si el DSN no es sensible al uso de mayúsculas del controlador ODBC.
• Con Portrait Miner, podrá acceder a las funciones de qsdbaccess a través del cuadro de
diálogo Editar la conexión de la base de datos. .
Ejemplos: crear un UDC para el usuario user para acceder al DSN de la base de datos retail:
qsdbaccess Please enter required text at the ">" prompt:
DSN> retail
32
Portrait Miner 7.1
Capítulo 4: Comandos para importar y exportar datos
User> user
Password>
Updating connection user@retail
Update OK
Testing connection user@retail
ODBC OK
JDBC OK
Connection OK
Crear un UDC de sistema (como usuario administrador) para que cualquier usuario pueda acceder a la
base de datos DSN retaila:
qsdbaccess -system Please enter required text at the ">" prompt:
DSN> retail
User>
[Just pressing ENTER will use the system default]
URL>
Class>
DRL>
Updating connection dbuser@dbserver:db
Update OK
También consulte
qsdbcreatetable en la página 35
qsdbinsert en la página 37
qsdbupdate en la página 38
qsimportdb en la página 33
qsimportdb
Sinopsis qsimportdb -udc <UDC>
-table <tabla de base de datos o vista>
-fields <columna>> [, <columna> ...] | -fields @<archivo de campos>]
-xfields <columna> [, <columna> ...] | -xfields @<archivo de campos>] [-catalog
<nombre de catálogo>] [-schema <nombre de esquema>]-output <enfoque de destino>
[-force] qsimportdb -udc <UDC>
-sql <archivo SQL>
-output <enfoque de destino> [-force]
Descripción: Crear el enfoque de destino de la tabla de base de datos o vista especificada, que está
en la base de datos con la UDC proporcionada [consulte qsdbaccess en la página 32].
Alternativamente, crear el enfoque del resultado de una instrucción SQL SELECT (proporcionada en un
archivo SQL).
Argumentos opcionales
Guía de referencia del comando de creación de datos y TML
33
qsimportdb
Opción
Efecto
-catalog <nombre de catálogo>
Ubicar la tabla en este catálogo de base de datos.
-fields <columna> [, <columna> ...]
Crear campos en el enfoque de destino que
correspondan únicamente a las columnas
especificadas en la tabla.
-fields @<archivo de campos>
Crear campos en el enfoque de destino que
correspondan únicamente a las columnas en la
tabla que se enumeran (una por línea) en el archivo
de campos.
-force
Consulte la La opción de línea de comandos
-force en la página 24.
-schema <nombre de esquema>
Ubicar la tabla en este esquema de base de datos.
-xfields <columna> [, <columna> ...]
Crear campos en el enfoque de destino que
correspondan a todas las columnas en la tabla
excepto las columnas especificadas.
-xfields @<archivo de campos>
Crear campos en el enfoque de destino que
correspondan a todas las columnas en la tabla
excepto las columnas que se enumeran (una por
línea) en el archivo de campos.
Además de estas opciones de línea de comandos, qsimportdb acepta las opciones comunes a todos
los comandos de creación de datos [consulte Opciones estándar de la línea de comandos en la
página 21].
Nota: • Si se especifica un identificador (por ejemplo, un nombre de tabla o campo) como un argumento
de línea de comandos, qsimportdb lo pasa al controlador ODBC entre comillas, y su base
de datos su base de datos puede tratar al identificador con diferenciación entre minúsculas y
mayúsculas.
• El SQL especificado con la opción -sql se pasa tal cual a la base de datos como una
instrucción única; no se requiere un punto y coma de terminación (y puede ser una sintaxis
inválida para algunos sistemas de base de datos).
• Al utilizar qsimportdb, es posible crear un enfoque que no tenga nombres de campo
compatibles con Portrait Miner. Para convertir el enfoque a una forma que se pueda utilizar
en Decision Studio o con otros comandos de creación de datos, se le puede cambiar el nombre
a los campos mediante qsrenamefields.
• Al utilizar Portrait Miner, puede acceder a la mayor parte de la funcionalidad de consulta de
base de datos de qsimportdb mediante el cuadro de diálogo Importar desde la consulta
.
Ejemplos Crear un enfoque RetailCustApril.ftr que contenga todos los registros de la tabla
RetailCustApril, en el DSN al que se refiere la UDC user@retail:
qsimportdb -table RetailCustApril
-udc user@retail -output RetailCustApril.ftr
34
Portrait Miner 7.1
Capítulo 4: Comandos para importar y exportar datos
Crear un enfoque RetailTransAprilCA.ftr, que contenga solo registros de la tabla
RetailCustApril para la que el valor de la columna PaymentMethod equivale a CA:
Dado el archivo de consulta SQL,select-statement.sql, que contiene lo siguiente:
select *
from RetailTransApril
where (PaymentMethod = 'CA')
Aplicar esta consulta para crear un nuevo enfoque, RetailTransAprilCA.ftr:
qsimportdb -sql select-statement.sql
-udc user@retail -output RetailTransAprilCA.ftr
También consulte
qsdbcreatetable en la página 35
qsdbinsert en la página 37
qsdbupdate en la página 38
qsdbcreatetable
Sinopsis qsdbcreatetable -udc < UDC >
-focus <enfoque de plantilla> [-subfocus <subenfoque>]
-table <tabla de destino>
-fields <campo> [, <campo> ...] | -fields @<archivo de campos> | -tags
<etiqueta> [, <etiqueta> ...]]
-xfields <campo> [, <campo> ...] | -xfields @<archivo de campos> | -xtags
<etiqueta> [, <etiqueta> ...]]
[-catalog <nombre de catálogo>]
[-schema <nombre de esquema>]
[-output <archivo de salida SQL>]
qsdbcreatetable -udc <UDC>
-sql <archivo SQL>
Descripción: con el enfoque de plantilla actual defina los nombres y tipos de campo para crear una
nueva tabla de base de datos vacía con el nombre de tabla dado, en la base de datos con el UDC
determinado [consultar qsdbaccess en la página 32].
Alternativamente, crear una nueva tabla con una instrucción SQL CREATE TABLE (proporcionada en
un archivo SQL).
Argumentos opcionales
Guía de referencia del comando de creación de datos y TML
35
qsdbcreatetable
Opción
Efecto
-catalog <nombre de catálogo>
Crear la tabla en este catálogo de base de datos.
-fields <campo> [, <campo> ...]
Crear columnas de la tabla que correspondan
únicamente a los campos especificados en el
enfoque.
-fields @<archivo de campos>
Crear columnas de la tabla que correspondan
únicamente a los campos en el enfoque que se
enumeran (uno por línea) en el archivo de campos.
[-output <archivo de salida SQL>]
En lugar de crear una tabla en la base de datos,
crear un archivo de salida SQL que contenga la
instrucción CREATE TABLE adecuada.
Luego puede utilizar el archivo SQL como entrada
en qsdbcreatetable (con la opción -sql).
-schema <nombre de esquema>
Crear la tabla en este esquema de base de datos.
-subfocus <subenfoque>
Utilizar el subenfoque especificado del enfoque de
plantilla.
-tags <etiqueta> [, <etiqueta> ...]
Crear columnas de la tabla que correspondan
únicamente a los campos en el enfoque que tienen
las etiquetas especificadas.
-xfields <campo> [, <campo> ...]
Crear columnas de la tabla que correspondan a
todos los campos en el enfoque excepto los
campos especificados.
-xfields @<archivo de campos>
Crear columnas de la tabla que correspondan a
todos los campos en el enfoque excepto los
campos que se enumeran (uno por línea) en el
archivo de campos.
-xtags <etiqueta> [, <etiqueta> ...]
Crear columnas de la tabla que correspondan a
todos los campos en el enfoque excepto los
campos que tienen las etiquetas especificadas.
Además de estas opciones de línea de comandos, qsdbcreatetable acepta las opciones comunes
a todos los comandos de creación de datos [consulte Opciones estándar de la línea de comandos
en la página 21].
Nota: • Si se especifica un identificador (por ejemplo, un nombre de tabla o campo) como un argumento
de línea de comandos, qsdbcreatetable lo pasa al controlador ODBC entre comillas, y su
base de datos puede tratar al identificador con diferenciación entre minúsculas y mayúsculas.
• El SQL especificado con la opción -sql se pasa tal cual a la base de datos como una
instrucción única; no se requiere un punto y coma de terminación (y puede ser una sintaxis
inválida para algunos sistemas de base de datos).
Ejemplo
36
Portrait Miner 7.1
Capítulo 4: Comandos para importar y exportar datos
Crear una tabla de base de datos vacía, RETAILAGGREGATIONS, desde el enfoque
RetailAggregationsApril.ftr, con conexión a través de la UDC retail:
qsdbcreatetable -focus RetailAggregationsApril.ftr
-table RETAILAGGREGATIONS -udc user@retail
También consulte
qsdbinsert en la página 37
qsdbupdate en la página 38
qsimportdb en la página 33
qsdbinsert
Sinopsis qsdbinsert-udc <UDC>
-input <enfoque de origen> [-subfocus <subenfoque>]
-table <tabla de destino>
-fields <campo> [, <campo> ...] | -fields @<archivo de campos> | -tags
<etiqueta> [, <etiqueta> ...]]
-xfields <campo> [, <campo> ...] | -xfields @<archivo de campos> | -xtags
<etiqueta> [, <etiqueta> ...]]
[-catalog <nombre de catálogo>]
[-schema <nombre de esquema>]
Descripción: insertar los registros del enfoque de origen en la tabla de base de datos (con una instrucción
SQL INSERT). Ubicar la tabla en la base de datos con la UDC proporcionada [consulte qsdbaccess
en la página 32].
Argumentos opcionales
Opción
Efecto
-catalog <nombre de catálogo>
Ubicar la tabla en este catálogo de base de datos.
-fields <campo> [, <campo> ...]
Insertar datos únicamente de los campos
especificados en el enfoque.
-fields @<archivo de campos>
Insertar datos únicamente de los campos en el
enfoque que están enumerados (uno por línea) en
el archivo de campos.
-schema <nombre de esquema>
Ubicar la tabla en este esquema de base de datos.
-subfocus <subenfoque>
Usar el subenfoque especificado del enfoque de
origen.
Guía de referencia del comando de creación de datos y TML
37
qsdbupdate
Opción
Efecto
-tags <etiqueta> [, <etiqueta> ...]
Insertar datos únicamente de los campos en el
enfoque que tienen las etiquetas especificadas.
-xfields <campo> [, <campo> ...]
Insertar datos de todos los campos en el enfoque
excepto los campos especificados.
-xfields @<archivo de campos>
Insertar datos de todos los campos en el enfoque
excepto los campos que se enumeran (uno por
línea) en el archivo de campos.
-xtags <etiqueta> [, <etiqueta> ...]
Insertar datos de todos los campos en el enfoque
excepto los campos que tienen las etiquetas
especificadas.
Además de estas opciones de línea de comandos, qsdbinsert acepta las opciones comunes a todos
los comandos de creación de datos [consulte Opciones estándar de la línea de comandos en la
página 21].
Nota: • Para crear una tabla vacía en la que se puedan insertar registros, utilice qsdbcreatetable.
• El comando qsdbinsert inserta registros adicionales en una tabla de base de datos en lugar
de actualizar registros existentes. No verifica registros duplicados (o registros con teclas
duplicadas), aunque su base de datos se puede configurar para cumplir con esa verificación.
• Los campos en el enfoque (o aquellos especificados mediante las opciones -fields o
-xfields) deben coincidir con el nombre y ser de tipo compatible con las columnas en la
tabla de base de datos.
• Si se especifica un identificador (por ejemplo, un nombre de tabla o campo) como un argumento
de línea de comandos, qsdbinsert lo pasa al controlador ODBC entre comillas, y su base
de datos puede tratar al identificador con diferenciación entre minúsculas y mayúsculas.
Ejemplo
Insertar datos del enfoque RetailAggregationsApril.ftr en la tabla de base de datos
RETAILAGGREGATIONS:
qsdbinsert -input RetailAggregationsApril.ftr
-table RETAILAGGREGATIONS -udc user@retail
También consulte
qsdbupdate en la página 38
qsdbupdate
Sinopsis qsdbupdate -udc <UDC>
-input <enfoque de origen> [-subfocus <subenfoque>]
-table <tabla de destino>
38
Portrait Miner 7.1
Capítulo 4: Comandos para importar y exportar datos
{-keys <campo clave> [, <campo clave>] [, <campo clave>] | -key @<archivo
clave>}
-fields <campo> [, <campo> ...] | -fields @<archivo de campos> | -tags
<etiqueta> [, <etiqueta> ...]]
-xfields <campo> [, <campo> ...] | -xfields @<archivo de campos> | -xtags
<etiqueta> [, <etiqueta> ...]]
[-catalog <nombre de catálogo>]
[-schema <nombre de esquema>]
Descripción: actualizar los registros en la tabla de base de datos con datos de los campos especificados
en el enfoque de origen (con una instrucción SQL UPDATE). Cada registro en el enfoque actualiza todos
los registros con los mismos valores de campo clave en la tabla de base de datos. Ubicar la tabla en la
base de datos con la UDC proporcionada [consulte qsdbaccess en la página 32].
Argumentos opcionales
Opción
Efecto
-catalog <nombre de catálogo>
Ubicar la tabla en este catálogo de base de datos.
-fields <campo> [, <campo> ...]
Actualizar la tabla únicamente con datos de los
campos especificados en el enfoque.
-fields @<archivo de campos>
Actualizar la tabla únicamente con datos de los
campos en el enfoque que están enumerados (uno
por línea) en el archivo de campos.
-schema <nombre de esquema>
Ubicar la tabla en este esquema de base de datos.
-subfocus <subenfoque>
Usar el subenfoque especificado del enfoque de
origen.
-tags <etiqueta> [, <etiqueta> ...]
Actualizar la tabla únicamente con los datos de los
campos en el enfoque que tienen las etiquetas
especificadas.
-xfields <campo> [, <campo> ...]
Actualizar la tabla con los datos de todos los
campos en el enfoque excepto los campos
especificados.
-xfields @<archivo de campos>
Actualizar la tabla con los datos de todos los
campos en el enfoque excepto los campos que se
enumeran (uno por línea) en el archivo de campos.
-xtags <etiqueta> [, <etiqueta> ...]
Actualizar la tabla con los datos de todos los
campos en el enfoque excepto los campos que
tienen las etiquetas especificadas.
Además de estas opciones de línea de comandos, qsdbupdate acepta las opciones comunes a todos
los comandos de creación de datos [consulte Opciones estándar de la línea de comandos en la
página 21].
Guía de referencia del comando de creación de datos y TML
39
qsgenfdd
Nota: • El comando qsdbupdate no inserta ningún registro adicional en una tabla de base de datos.
• Los campos en el enfoque (o aquellos especificados mediante las opciones -fields o
-xfields) deben coincidir con el nombre y ser de tipo compatible con las columnas en la
tabla de base de datos. Sin embargo, no se tienen que actualizar los valores en todas las
columnas de la tabla.
• Si se especifica un identificador (por ejemplo, un nombre de tabla o campo) como un argumento
de línea de comandos, qsdbupdate lo pasa al controlador ODBC entre comillas, y su base
de datos puede tratar al identificador con diferenciación entre minúsculas y mayúsculas.
Ejemplo
Actualizar únicamente los campos numberPurchases, averagePurchase y totalPointsRedeemed
en la tabla RETAILAGGREGATIONS con el enfoque RetailAggregationsMay.ftr:
qsdbupdate -udc user@retail -keys CustomerID
-input RetailAggregationsMay.ftr -table RETAILAGGREGATIONS
-fields "numberPurchases, averagePurchase,
totalPointsRedeemed"
También consulte
qsdbcreatetable en la página 35
qsdbinsert en la página 37
qsgenfdd
Sinopsis qsgenfdd -input <archivo plano>
[-template <archivo FDD de plantilla>]
[-headers]
[-separator <separador de campo>]
[-null <marcador nulo>]
[-stringmarker <marcador de secuencia>]
[-datemarker <marcador de fecha>]
[-dateformat <formato de fecha>] [-defaultday <número de día>] [-defaultmonth
<número de mes>] [-comment <comentario de tabla>]
Descripción: crear un archivo de descripción de datos planos (archivo .fdd) para el archivo plano al
examinar una muestra de los registros para definir el formato del archivo. Nombrar el archivo de
descripción de datos planos mediante el nombre de base del archivo plano y crearlo en el mismo
directorio en el que se encuentra el archivo plano.
Argumentos opcionales
40
Portrait Miner 7.1
Capítulo 4: Comandos para importar y exportar datos
Opción
Efecto
-comment <comentario de tabla>
Incluir este comentario de tabla en el archivo de
descripción de datos planos.
-dateformat <formato de fecha>
Anular el formato de fecha seleccionado
automáticamente [consulte Formatos de fecha en
la página 55].
-datemarker <marcador de fecha>
Anular el carácter del marcador de fecha
seleccionado automáticamente.
-defaultday <número de día>
Incluir este número de día en fechas que no tengan
un componente de día.
-defaultmonth <número de mes>
Incluir este número de mes en fechas que no
tengan un componente de mes.
-headers
Incluir una descripción de los datos teniendo en
cuenta que tienen una línea de encabezado inicial
que contiene los nombres de los campos.
-null <marcador nulo>
Anular la secuencia de marcador nulo seleccionado
automáticamente.
-separator <separador de campo>
Anular el carácter de separador de campo
seleccionado automáticamente.
-stringmarker <marcador de secuencia> Anular el carácter del marcador de secuencia
seleccionado automáticamente.
-template <archivo FDD de plantilla>
Basar el archivo de descripción de los datos planos
en este archivo existente de descripción de datos
planos de plantilla.
Consulte Ayuda de Portrait Miner para obtener más información sobre opciones de archivos planos.
Además de estas opciones de línea de comandos, qsgenfdd acepta las opciones comunes a todos
los comandos de creación de datos [consulte Opciones estándar de la línea de comandos en la
página 21].
Nota: • Si ya existe un archivo de descripción de datos planos válido, qsgenfdd no realizará ninguna
acción.
• En la mayoría de los casos, qsgenfdd selecciona automáticamente los valores adecuados
para la metadata que describe un archivo plano. No obstante, debido a que solamente analiza
una muestra de los datos en el archivo plano (y debido a que pueden existir ambigüedades
en el formato del archivo plano), puede realizar inferencias incorrectas. Incluso si esto ocurre,
habitualmente solo se debe anular uno o dos parámetros para lograr una interpretación correcta
del archivo de datos.
• Se puede controlar el tamaño de las muestras utilizadas en la detección automática de formato
mediante las preferencias de la Base de datos del archivo plano tamaño de muestra
del formato de datos y tamaño de muestra de los datos (consulte Ayuda de
Portrait Miner).
Guía de referencia del comando de creación de datos y TML
41
qsimportflat
• Para que la detección automática de formato funcione, los campos del archivo plano deben
estar delimitados por un carácter de separación en lugar de diferenciarse por su posición (es
decir, el archivo no puede tener un formato de ancho fijo).
• Si se utiliza un archivo FDD de plantilla, debe contener una descripción de todos los campos
en un componente table.
• Las opciones de formato especificadas en la línea de comandos anulan las opciones de formato
globales en un archivo FDD de plantilla, lo que, a su vez, anula las opciones de formato globales
detectadas automáticamente. Las opciones de línea de comandos no anulan las opciones
específicas de los campos.
• También es posible acceder a la función de qsgenfdd mediante el asistente Nuevo enfoque
disponible en Decision Studio o Portrait Miner.
Ejemplos
Crear un archivo de descripción de datos planos para el archivo de texto RetailCustMay.txt:
qsgenfdd -input RetailCustMay.txt
Utilizar el archivo FDD resultante para crear un nuevo enfoque, RetailCustMay.ftr:
qsimportflat -input RetailCustMay.fdd -output RetailCustMay.ftr
Utilizar una secuencia de formato de datos personalizada para crear un archivo FDD para el archivo de
texto RetailCustMay.txt:
qsgenfdd -dateformat "%d-%b-%Y %H:%M:%S" -input RetailCustMay.txt
También consulte
qsexportflat en la página 44 qsimportflat en la página 42
qsimportflat
Sinopsis qsimportflat
-input <archivo plano>
-output <enfoque de destino> [-force]
-encoding <codificación>
-fields <campo> [, <campo> ...] | -fields @<archivo de campos>]
-fields <campo> [, <campo> ...] | -fields @<archivo de campos>]
[-maxwarnings <número de advertencias>] | [-nowarnings]
[-maxerrors <cantidad de errores>]
Descripción Crear el enfoque de destino a partir de los datos en el archivo plano (que puede ser un
archivo de texto o un archivo de descripción de datos planos).
Argumentos opcionales
42
Portrait Miner 7.1
Capítulo 4: Comandos para importar y exportar datos
Opción
Efecto
-encoding <codificación>
Ingresar codificación de archivo (UTF-8, Shift-JIS,
LATIN1, EUC_JP, UTF16-LE, UTF_BE, etc.). .
-fields <campo> [, <campo> ...]
Crear campos en el enfoque de destino que
correspondan solamente a los campos
especificados en el archivo plano.
-fields @<archivo de campos>
Crear campos en el enfoque de destino que
correspondan solamente a los campos en el
archivo plano enumerados en el archivo de campos
(uno por línea).
-force
Consulte la La opción de línea de comandos
-force en la página 24.
-maxerrors <cantidad de errores>
Cancelar la importación del archivo plano si el
proceso genera una cantidad mayor de errores
que la especificada, en relación con el formato del
archivo plano.
-maxwarnings <número de advertencias> Cancelar la importación del archivo plano si el
proceso genera una cantidad mayor de
advertencias que la especificada, en relación con
el formato del archivo plano.
-nowarnings
No generar ninguna advertencia en relación con
el formato del archivo plano.
-xfields <campo> [, <campo> ...]
Crear campos en el enfoque de destino que
correspondan a todos los campos en el archivo
plano, a excepción de los campos especificados.
-xfields @<archivo de campos>
Crear campos en el enfoque de destino que
correspondan a todos los campos en el archivo
plano, a excepción de los campos enumerados en
el archivo de campos (uno por línea).
Además de estas opciones de línea de comandos, qsimportflat acepta las opciones comunes a todos
los comandos de creación de datos [consulte Opciones estándar de la línea de comandos en la
página 21].
Nota: • Preferentemente, se debe especificar un archivo de descripción de datos planos (FDD) antes
que un archivo de texto como la entrada para qsimportflat. Se puede crear un archivo FDD a
partir de un archivo de texto mediante qsgenfdd.
• Por defecto, la Base de datos del archivo plano tiene la preferencia permitir errores
de formato de datos activada (consulte la Ayuda de Portrait Miner). Esto implica que
todos los errores de formato del archivo plano se interpretan como advertencias y la opción
-maxerrors no surte efecto.
• Las opciones -maxerrors, -maxwarnings y -nowarnings anulan la configuración de la
Base de datos del archivo plano en cuanto a las preferencias errores máximos de
Guía de referencia del comando de creación de datos y TML
43
qsexportflat
extracción, advertencias máximas de extracción e ignorar advertencias
de extracción respectivamente.
• También es posible acceder a la función de qsimportflat mediante el asistente Nuevo
enfoque disponible en Decision Studio o Portrait Miner.
Ejemplos
Crear un nuevo enfoque RetailTransApril.ftr, que contenga todos los campos del archivo plano
RetailTransApril.txt:
qsimportflat -input RetailTransApril.txt -output RetailTransApril.ftr
Crear un nuevo enfoque, RetailCustAprilSomeFields.ftr, que contenga los campos CustomerID,
StartDate, Age, Postcode y Gender del archivo plano RetailCustApril.txt, al tiempo que se crea un
archivo FDD:
qsgenfdd -input RetailCustApril.txt
qsimportflat -fields "CustomerID, StartDate, Age, Postcode, Gender"
-input RetailCustApril.fdd
-output RetailCustAprilSomeFields.ftr
luego, crear otro enfoque RetailCustAprilOtherFields.ftr que contenga todos los campos
excepto CustomerID y Postcode, a partir del archivo plano RetailCustApril.txt, con el mismo
archivo FDD:
qsimportflat -xfields "CustomerID, Postcode"
-input RetailCustApril.fdd
-output RetailCustAprilOtherFields.ftr
También consulte
qsexportflat en la página 44
qsexportflat
Sinopsis qsexportflat
-input <enfoque de origen> [-subfocus <subenfoque>]
-output <archivo plano>
[-alwaysquotestrings]
-fields <campo> [, <campo> ...] | -fields @<archivo de campos> | -tags
<etiqueta> [, <etiqueta> ...]]
-xfields <campo> [, <campo> ...] | -xfields @<archivo de campos> | -xtags
<etiqueta> [, <etiqueta> ...]]
[-records <expresión FDL> | -records @<archivo FDL>]
[-template <archivo FDD de plantilla>]
[-fdd]
[-headers]
44
Portrait Miner 7.1
Capítulo 4: Comandos para importar y exportar datos
[-separator <separador de campo>]
[-null <marcador nulo>]
[-stringmarker <marcador de secuencia>]
[-datemarker <marcador de fecha>]
[-dateformat <formato de fecha>]
[-defaultday <número de día>]
[-defaultmonth <número de mes>]
[-fixedformat]
Descripción Crear el archivo plano a partir de los datos en el enfoque de origen.
Argumentos opcionales
Opción
Efecto
-alwaysquotestrings
Colocar todos los valores de la secuencia entre
comillas en el archivo plano, en lugar de colocar
solo aquellos que contienen caracteres especiales
(como el separador).
-dateformat <formato de fecha>
Utilizar este formato [consulte Formatos de fecha
en la página 55] para las fechas del archivo plano.
-datemarker <marcador de fecha>
Utilizar este carácter de marcador para introducir
fechas en el archivo plano.
-defaultday <número de día>
Incluir este número de día en cualquier archivo de
descripción de datos planos generado (para
describir fechas cuyo formato no contenga un
componente de día).
-defaultmonth <número de mes>
Incluir este número de mes en cualquier archivo
de descripción de datos planos generado (para
describir fechas cuyo formato no contenga un
componente de mes).
-fdd
Así como se crea el archivo plano, se debe crear
un archivo de descripción de datos planos (archivo
.fdd) para describir el formato de la fecha.
-fields <campo> [, <campo> ...]
Crear campos en el archivo plano que
correspondan únicamente a los campos
especificados en el enfoque de origen.
-fields @<archivo de campos>
Crear campos en el archivo plano que
correspondan únicamente a los campos en el
enfoque de origen enumerados en el archivo de
campos (uno por línea).
Guía de referencia del comando de creación de datos y TML
45
qsexportflat
Opción
Efecto
-fixedformat
Utilizar una cantidad de caracteres fija para cada
campo (seleccionada para adaptarse a todos los
valores posibles de ese tipo de datos).
Se puede utilizar esta opción junto a un separador
de campo vacío para crear un archivo plano cuyos
campos se diferencien por su posición y no por el
uso de un carácter de separación.
-headers
Incluir una línea inicial para el encabezado en el
archivo plano que contenga los nombres de los
campos.
-null <marcador nulo>
Utilizar esta secuencia de marcador nulo en lugar
de un espacio vacío para indicar las ocurrencias
del valor nulo en el archivo plano.
-records <expresión FDL>
Crear registros en el archivo plano que
correspondan solamente a los registros en el
enfoque de origen para los que la expresión FDL
numérica no es cero ("true").
-records @<archivo FDL>
Crear registros en el archivo plano que
correspondan solamente a los registros en el
enfoque de origen para los que la expresión FDL
no es cero ("true") en el archivo especificado.
-separator <separador de campo>
Utilizar este carácter de separador de campo en
lugar de una coma.
-stringmarker <marcador de secuencia> Utilizar este carácter de marcador de campo en
lugar de comillas dobles.
46
-subfocus <subenfoque>
Usar el subenfoque especificado del enfoque de
origen.
-tags <etiqueta> [, <etiqueta> ...]
Crear campos en el archivo plano que
correspondan solamente a los campos en el
enfoque que tiene las etiquetas especificadas.
-template <archivo FDD de plantilla>
Basar el formato del archivo plano en este archivo
existente de descripción de datos planos de
plantilla.
-xfields <campo> [, <campo> ...]
Crear campos en el archivo plano que
correspondan a todos los campos en el enfoque
de origen, a excepción de los campos
especificados.
-xfields @<archivo de campos>
Crear campos en el archivo plano que
correspondan a todos los campos en el enfoque
Portrait Miner 7.1
Capítulo 4: Comandos para importar y exportar datos
Opción
Efecto
de origen, a excepción de los campos enumerados
en el archivo de campos (uno por línea).
-xtags <etiqueta> [, <etiqueta> ...]
Crear campos en el archivo plano que
correspondan a todos los campos en el enfoque
de origen, a excepción de los campos que tienen
etiquetas específicas.
Consulte Ayuda de Portrait Miner para obtener más información sobre opciones de archivos planos.
Además de estas opciones de línea de comandos, qsexportflat acepta las opciones comunes a todos
los comandos de creación de datos [consulte Opciones estándar de la línea de comandos en la
página 21].
Nota:
• Si se utiliza una expresión de selección FDL (para exportar solamente un subconjunto de los registros
del foco), se deben exportar todos los campos utilizados en esa expresión.
• Si se especifica un archivo plano con la extensión .fdd, qsexportflat lo trata como un archivo de
descripción de datos planos (independientemente de que se especifique la opción -fdd) y crea un
archivo plano correspondiente con la extensión .txt.
• Si se utiliza un archivo FDD de plantilla, debe contener una descripción de todos los campos en un
componente table.
• Las opciones de formato especificadas en la línea de comandos anulan las opciones de formato
globales en el archivo FDD de plantilla. Las opciones de línea de comandos no anulan las opciones
específicas de los campos.
• Si ya existe un archivo plano con el mismo nombre del archivo de salida, qsexportflat hace una copia
de seguridad del archivo existente (con "~" anexado al nombre del archivo) en lugar de solamente
sobrescribirlo.
• Es posible acceder a la mayoría de las funciones de qsexportflat mediante el cuadro de diálogo
Exportar enfoque en Decision Studio o el asistente Exportar texto disponible en Portrait Miner .
Ejemplos
Crear un nuevo archivo plano (RetailTransApril.csv) que contenga todos los registros del enfoque
RetailTransApril.ftr:
qsexportflat -input RetailTransApril.ftr -output RetailTransApril.csv
Crear un nuevo archivo plano RetailTransAprilDates.csv que contenga solamente los campos
CustomerID y PurchaseDate del enfoque RetailTransApril.ftr utilizando un formato de fecha
específico:
qsexportflat -fields "CustomerID, PurchaseDate"
-dateformat "%e %h %Y"
-input RetailTransApril.ftr -output RetailTransAprilDates.csv
Dado el archivo de descripción de datos planos de plantilla template.fdd, que contiene lo siguiente:
separator |
null (###)
dateformat ((%e %h %Y))
skip header
Guía de referencia del comando de creación de datos y TML
47
qsimportstat
table \
CustomerID string(18) \
PurchaseDate date \
Store integer \
Amount real \
PaymentMethod string(2) \
PointsRedeemed integer
Implementar esta plantilla para crear un archivo plano RetailTransAprilDates.txt:
qsexportflat -template template.fdd
-input RetailTransApril.ftr -output RetailTransAprilDates.txt
También consulte
qsgenfdd en la página 40 qsimportflat en la página 42
qsimportstat
Sinopsis qsimportstat
-input <conjunto de datos de origen>
-output <enfoque de destino> [-force]
[-type <tipo de conjunto de datos>]
-fields <campo> [, <campo> ...] | -fields @<archivo de campos>]
-fields <campo> [, <campo> ...] | -fields @<archivo de campos>][-metadata
<archivo de metadata>]
Descripción: Crear el enfoque de destino a partir de datos en el conjunto de datos de origen creado
por terceros. Los conjuntos de datos SAS, SPSS y de Excel son algunos de los conjuntos admitidos
(consulte http://support.quadstone.com/info/requirements/ para obtener una lista detallada).
Argumentos opcionales
48
Opción
Efecto
-fields <campo> [, <campo> ...]
Crear campos en el enfoque de destino que
correspondan solamente a los campos
especificados en el conjunto de datos de origen.
-fields @<archivo de campos>
Crear campos en el enfoque de destino que
correspondan solamente a los campos en el
conjunto de datos de origen enumerados en el
archivo de campos (uno por línea).
-force
Consulte la La opción de línea de comandos
-force en la página 24.
-metadata <archivo de metadata>
Crear un archivo de metadata a partir de un archivo
de catálogo SAS format.sas7bcat que debe
Portrait Miner 7.1
Capítulo 4: Comandos para importar y exportar datos
Opción
Efecto
estar incluido en la misma carpeta que el conjunto
de datos SAS de origen.
-type <tipo de conjunto de datos>
Interpretar el conjunto de datos de origen como el
tipo de conjunto de datos especificado, y anular la
interpretación por defecto (que depende de la
extensión del archivo). Los tipos de conjuntos de
datos válidos incluyen sas, spss y excel; para
consultar una lista completa, utilice la opción -help.
-xfields <campo> [, <campo> ...]
Crear campos en el enfoque de destino que
correspondan a todos los campos en conjunto de
datos de origen, a excepción de los campos
especificados.
-xfields @<archivo de campos>
Crear campos en el enfoque de destino que
correspondan a todos los campos en el conjunto
de datos de origen, a excepción de los campos
enumerados en el archivo de campos (uno por
línea).
Además de estas opciones de línea de comandos, qsimportstat acepta las opciones comunes a todos
los comandos de creación de datos [consulte Opciones estándar de la línea de comandos en la
página 21].
Nota: • Si intenta importar desde un conjunto de datos SAS y ya existe el archivo de metadata, se
produce un error en la operación. Para evitarlo, utilice el argumento -force.
• Mediante Portrait Miner, se puede acceder a la mayoría de las funciones de qsimportstat
mediante el cuadro de diálogo Importar enfoque .
Ejemplos
Crear un nuevo enfoque RetailTransApril.ftr, que contenga todos los campos del archivo SAS
RetailTransApril.sas7bdat:
qsimportstat -input RetailTransApril.sas7bdat
-output RetailTransApril.ftr
Crear un nuevo enfoque RetailCustAprilSomeFields.ftr que contenga los campos CustomerID,
StartDate, Age, Postcode y Gender a partir del archivo SAS RetailCustApril.bin:
qsimportstat -fields "CustomerID, StartDate, Age, Postcode, Gender"
-input RetailCustApril.bin -type sas
-output RetailCustAprilSomeFields.ftr
También consulte
qsdescribestat en la página 107
qsexportstat en la página 50
Guía de referencia del comando de creación de datos y TML
49
qsexportstat
qsexportstat
Sinopsis qsexportstat
-input <enfoque de origen> [-subfocus <subenfoque>]
-output <conjunto de datos de destino> [-overwrite]
[-type <tipo de conjunto de datos>]
-fields <campo> [, <campo> ...] | -fields @<archivo de campos> | -tags
<etiqueta> [, <etiqueta> ...]]
-xfields <campo> [, <campo> ...] | -xfields @<archivo de campos> | -xtags
<etiqueta> [, <etiqueta> ...]] [-records <expresión FDL> | -records @<archivo
FDL>]
Descripción: Crear el conjunto de datos de destino de terceros a partir de los datos en el enfoque de
origen. Los conjuntos de datos SAS, SPSS y de Excel son algunos de los conjuntos admitidos (consulte
http://support.quadstone.com/info/requirements/ para obtener una lista detallada).
Argumentos opcionales
Opción
Efecto
-fields <campo> [, <campo> ...]
Crear campos en el conjunto de datos de destino
que correspondan solamente a los campos
especificados en el enfoque de origen.
-fields @<archivo de campos>
Crear campos en el conjunto de datos de destino
que correspondan solamente a los campos en el
enfoque de origen enumerados en el archivo de
campos (uno por línea).
-overwrite
Permitir que un nuevo conjunto de datos
especificado mediante la opción -output
sobrescriba un archivo existente.
Sin la opción -overwrite, si ya existe el conjunto
de datos especificado mediante -output, el
comando no realizará ninguna acción (excepto
emitir una advertencia).
50
-records <expresión FDL>
Crear registros en el conjunto de datos de destino
que correspondan solamente a los registros en el
enfoque de origen para los que la expresión FDL
numérica no es cero ("true").
-records @<archivo FDL>
Crear registros en el conjunto de datos de destino
que correspondan solamente a los registros en el
enfoque de origen para los que la expresión FDL
no es cero ("true") en el archivo especificado.
Portrait Miner 7.1
Capítulo 4: Comandos para importar y exportar datos
Opción
Efecto
-subfocus <subenfoque>
Usar el subenfoque especificado del enfoque de
origen.
-tags <etiqueta> [, <etiqueta> ...]
Crear campos en el conjunto de datos de destino
que correspondan solamente a los campos en el
enfoque de origen que tiene las etiquetas
especificadas.
-type <tipo de conjunto de datos>
Crear un conjunto de datos del tipo especificado
en lugar de usar la extensión del archivo para
determinar el tipo. Los tipos de conjuntos de datos
válidos incluyen sas, spss, excel (.xls) y excelx
(.xlsx). Para consultar una lista completa, utilice la
opción -help.
-xfields <campo> [, <campo> ...]
Crear campos en el enfoque de destino que
correspondan a todos los campos en conjunto de
datos de origen, a excepción de los campos
especificados.
-xfields @<archivo de campos>
Crear campos en el enfoque de destino que
correspondan a todos los campos en el conjunto
de datos de origen, a excepción de los campos
enumerados en el archivo de campos (uno por
línea).
-xtags <etiqueta> [, <etiqueta> ...]
Crear campos en el enfoque de destino que
correspondan a todos los campos en el conjunto
de datos de origen, a excepción de los campos
que tienen las etiquetas especificadas.
Además de estas opciones de línea de comandos, qsexportstat acepta las opciones comunes a todos
los comandos de creación de datos [consulte Opciones estándar de la línea de comandos en la
página 21].
Nota: Mediante Portrait Miner, se puede acceder a la mayoría de las funciones de qsexportstat
mediante el cuadro de diálogo Exportar para otro programa .
Ejemplos Crear un archivo SAS nuevo RetailTransAprilStore800.sas7bdat que contenga un
subconjunto de registros (solo compras de la tienda 800) y solo campos de gasto a partir del enfoque
RetailTransApril.ftr :
qsexportstat -input RetailTransApril.ftr
-output RetailTransAprilStore800.sas7bdat
-fields "CustomerID, PurchaseDate, Store, Amount"
-records "Store = \"800\""
También consulte
qsdescribestat en la página 107 qsimportstat en la página 48
Guía de referencia del comando de creación de datos y TML
51
qsimportfocus
qsimportfocus
Sinopsis qsimportfocus
-input <enfoque de origen> [-subfocus <subenfoque>]
-output <enfoque de destino> [-force]
-fields <campo> [, <campo> ...] | -fields @<archivo de campos> | -tags
<etiqueta> [, <etiqueta> ...]]
-xfields <campo> [, <campo>> ...] | -xfields @<archivo de campos> | -xtags
<etiqueta> [, <etiqueta> ...]]
[-records <expresión FDL> | -records @<archivo FDL>] [-preservetypes]
Descripción: Crear el enfoque de destino a partir de los datos en el enfoque de origen. No copiar
metadata .
Argumentos opcionales
52
Opción
Efecto
-fields <campo> [, <campo> ...]
Crear campos en el enfoque de destino que
correspondan únicamente a los campos
especificados en el enfoque de origen.
-fields @<archivo de campos>
Crear campos en el enfoque de destino que
correspondan únicamente a los campos en el
enfoque de origen que se enumeran (uno por línea)
en el archivo de campos.
-force
Consulte la La opción de línea de comandos
-force en la página 24.
-preservetypes
Preservar los tipos de datos heredados de un
enfoque creado con una versión anterior de
Portrait Miner.
-records <expresión FDL>
Crear registros en el enfoque de destino que
correspondan únicamente a los registros en el
enfoque de origen para los que la expresión
numérica FDL no es cero ("true").
-records @<archivo FDL>
Crear registros en el enfoque de destino que
correspondan únicamente a los registros en el
enfoque de origen para los que la expresión FDL
en el archivo especificado no es cero ("true").
-subfocus <subenfoque>
Usar el subenfoque especificado del enfoque de
origen.
Portrait Miner 7.1
Capítulo 4: Comandos para importar y exportar datos
Opción
Efecto
-tags <etiqueta> [, <etiqueta> ...]
Crear campos en el enfoque de destino que
correspondan únicamente a los campos en el
enfoque de origen que tienen las etiquetas
especificadas.
-xfields <campo> [, <campo> ...]
Crear campos en el enfoque de destino que
correspondan a todos los campos en el enfoque
de origen excepto los campos especificados.
-xfields @<archivo de campos>
Crear campos en el enfoque de destino que
correspondan a todos los campos en el enfoque
de origen excepto los campos que se enumeran
(uno por línea) en el archivo de campos.
-xtags <etiqueta> [, <etiqueta> ...]
Crear campos en el enfoque de destino que
correspondan a todos los campos en el enfoque
de origen excepto los campos que tienen las
etiquetas especificadas.
Además de estas opciones de línea de comandos, qsimportfocus acepta las opciones comunes a todos
los comandos de creación de datos [consulte Opciones estándar de la línea de comandos en la
página 21].
Nota: • Para crear una copia de un enfoque que incluya metadata, debe utilizar qscopy.
• El enfoque de destino es independiente del enfoque de origen, es decir, no comparte datos
subyacentes.
• Si el enfoque de origen se creó con una versión anterior de Portrait Miner, puede contener
campos con tipos de datos heredados. Por defecto, qsimportfocus convierte dichos campos
en campos con los datatypes de entero, real, fecha y secuencia estándares. Puede forzar a
qsimportfocus a retener los tipos de datos originales en el enfoque de destino, al utilizar
la opción -preservetypes.
• Al utilizar Portrait Miner, se puede acceder a la mayoría de las funcionalidades de
qsimportfocus a través del cuadro de diálogo Exportar como enfoque .
Ejemplos Crear un nuevo enfoque RetailTransAprilStandardTypes.ftr que contenga todos
los registros del enfoque RetailTransApril.ftr, pero convierta los campos con tipos de datos
heredados a tipos de datos estándares:
qsimportfocus -input RetailTransApril.ftr
-output RetailTransAprilStandardTypes.ftr
Crear un nuevo enfoque RetailTransAprilStore800.ftr, que contenga un subconjunto de registros
(solo compras de la tienda 800) y solo campos de gastos, del enfoque RetailTransApril.ftr:
qsimportfocus -input RetailTransApril.ftr
-output RetailTransAprilStore800.ftr
-fields "CustomerID, PurchaseDate, Store, Amount"
-records "Store = \"800\""
Guía de referencia del comando de creación de datos y TML
53
Cómo Portrait Miner importa los tipos de base de datos
Crear un nuevo enfoque, RetailTransApril2Customers.ftr, que contenga únicamente las
transacciones para los clientes 20450000000036004 y 20450000000043009:
qsimportfocus -records "strmember(CustomerID, \"20450000000036004\",
\"20450000000043009\")"
-input RetailTransApril.ftr
-output RetailTransApril2Customers.ftr
Cómo Portrait Miner importa los tipos de base de
datos
Importación a Portrait Miner desde una base de datos
Portrait Miner asigna los siguientes tipos de base de datos a sus tipos de datos según el tamaño del
tipo de base de datos y a la configuración de preferencias de las Bases de datos.
Tipo de base
de datos
Scale (Escala) Precision
(Precisión)
representar
preservar los
enteros largos tipos
como cadenas numéricos al
importar
char, char2,
varchar,
varchar2,
nchar, nchar2,
nvarchar,
nvarchar2
cadena
date, time,
timestamp,
datetime,
smalldatetime
fecha
int, integer,
tinyint, smallint,
byteint, bit
entero
bigint
false
true
real
false
false
cadena
true
decimal, dec,
numeric,
number
54
Tipo de campo
de Portrait
Miner
<0
15
> 15
> 15
cadena
true
real
false
real
cadena
Portrait Miner 7.1
Capítulo 4: Comandos para importar y exportar datos
Tipo de base
de datos
Scale (Escala) Precision
(Precisión)
decimal, dec,
numeric,
number
0
representar
preservar los
enteros largos tipos
como cadenas numéricos al
importar
0
real
10
> 10
false
15
entero
false
true
real
> 15
false
false
real
> 15
true
cadena
> 10
cadena
float, double,
real
decimal, dec,
numeric,
number
Tipo de campo
de Portrait
Miner
real
>0
15
> 15
true
false
> 15
money
smallmoney
real
real
cadena
true
real
false
cadena
real
Nota: • En las filas marcadas con , puede haber pérdida de precisión.
• En las filas marcadas con , los valores que sean demasiado largos para almacenar como
enteros se convertirán a Null.
Exportación de Portrait Miner a una base de datos
Los tipos de base de datos que Portrait Miner exporta dependen de la base de datos de destino y el
controlador ODBC. Portrait Miner sugiere un tipo adecuado para la base de datos que especifique, si
bien el controlador ODBC interpreta esa sugerencia en uno de los tipos de esa base de datos.
Formatos de fecha
Cuando trabaja con archivos planos y expresiones FDL, puede especificar la forma en la que Portrait
Miner debe interpretar o exportar las fechas y las horas, usando un formato de fecha estándar [consulte
la sección Formatos de fecha estándar en la página 56] o un formato de fecha personalizado [consulte
la sección Formatos de fechas personalizados en la página 56].
Guía de referencia del comando de creación de datos y TML
55
Formatos de fecha estándar
Formatos de fecha estándar
Nombre
Formato de fecha
Americano
MM/DD/AAAA:hh:mm:ss, por ejemplo,
12/31/2000:13:36:59
Europeo
DD/MM/AAAA:hh:mm:ss, por ejemplo,
31/12/2000:13:36:59
AMD
AAAA/MM/DD:hh:mm:ss, por ejemplo,
2000/12/31:13:36:59
Nota: • Los tres formatos de fecha estándar también se pueden utilizar para fechas sin componente
de hora y para horas puras ("fechas" con solo un componente de hora). Para fechas con solo
horas o solo fechas, las partes de hora y fecha, respectivamente, son omitidas.
• Los formatos Americano, Europeo, y AMD también incluyen datos en las formas MMDDAAAA,
DDMMAAAA y AAAAMMDD respectivamente (solo para entradas).
Formatos de fechas personalizados
Puede especificar un formato de fecha personalizado mediante la utilización de códigos de caracteres
especiales, cada uno comenzando con un signo de porcentaje %:
Código
Componente de fecha con formato
%%
El mismo signo de porcentaje: %
%?
Coincide con cualquier carácter
%*
Coincide con cualquier cantidad de caracteres; por
ejemplo, para ignorar los caracteres finales, use
%A/%m/%d%*
%a
El nombre del día en forma abreviada ("lu.",
"ma.", ..., "do.")
%A
El nombre del día completo (lunes", "martes",
..., "domingo")
%b
El nombre del mes en forma abreviada ("en.",
"febr.", ..., "dic.")
%B
El nombre del mes completo ("enero",
"febrero", ..., "diciembre")
%c
(Entrada) Equivalente a "%a %b %e %T %Y"
(Salida) La fecha y hora en la representación
estándar para la ubicación actual
%C
56
Equivalente a "%a %b %e %T %Z %Y"
Portrait Miner 7.1
Capítulo 4: Comandos para importar y exportar datos
Código
Componente de fecha con formato
%d
El día del mes, usando dos dígitos ("01", "02",
..., "31")
%D
Equivalente a %m/%d/%y
%e
El día del mes, en un solo dígito precedido por un
espacio (" 1", " 2", ..., "31")
%h
Equivalente a "%b"
%H
La hora del día, usando el reloj de 24 horas ("00",
"02", ..., "23")
%I
La hora del día, usando el reloj de 12 horas ("01",
"02", ..., "12")
%j
El día del año, usando tres dígitos (fechas julianas)
("001", "002", ..., "366")
%m
El número del mes, usando dos dígitos ("01",
"02", ..., "12")
%M
Los minutos de una hora, usando dos dígitos
("00", "01", ..., "59")
%p
"a.m." o "p.m." según corresponda
%r
Equivalente a %I:%M:%S %p
%R
Equivalente a %H:%M
%S
El segundo del minuto, usando dos dígitos ("00",
"01", ..., "61")
%T
Equivalente a %H:%M:%S
%x
La fecha con formato según la preferencia de
ordenación x
%X
Equivalente a "%x"
%y
Los años de un siglo, usando dos dígitos ("00",
"01", ..., "99")
%Y
El año, usando cuatro dígitos
%Z
El nombre de la zona horaria de la ubicación actual
Nota:
• Para usar %D o %y, debe especificar el año de quiebre o un año futuro máximo (pero no ambos).
Si configura un quiebre igual a un año válido Y, Portrait Miner interpretará los años de dos dígitos
como años entre Y - 99 y Y. Por ejemplo, si configura las preferencias en 2077, Portrait Miner
interpreta los años de dos dígitos 76, 77, y 78 como 2076, 2077, and 1978 respectivamente.
Guía de referencia del comando de creación de datos y TML
57
Formatos de fechas personalizados
Si configura un año máximo futuro igual a un valor positivo n y el año actual es A, Portrait Miner
interpreta todos los años de dos dígitos como años entre Y + n - 99 y Y + n. Por ejemplo, si
configura las preferencias en 50 y el año actual es 2002, Portrait Miner interpreta los años de dos
dígitos 51, 52, y 53 como 2051, 2052, y 1953 respectivamente.
• Si establece la escritura en la preferencia de formato local específico, los códigos "%a," "%A,"
"%b," "%B," "%C," "%p," "%x," "%X," y "%Z" podrían producir resultados distintos al mostrar
las fechas (pero no al interpretarlas).
• Así como /, cualquier otro carácter (salvo el separador de campo o el marcador nulo) puede utilizarse
como separador en la fecha.
• En los formatos de fecha que no tienen un componente de día o mes explícito, puede especificar uno
por defecto utilizando el calificador de "día" o "mes".
• Los códigos de caracteres especiales son los de la función de biblioteca C estándar strftime.
Ejemplo R–1: Cadenas de formato de fecha
Ejemplo de fecha
Cadena de formato de fecha
02/04/2003
Europeo
27/10/1940
04/02/2003
Americano
10/27/1940
2003/04/02
AMD
1940/10/27
02-Apr-2003
%d-%b-%Y
27-Oct-1940
02 Apr 2003
((%d %b %Y))
27 Oct 1940
2003-04-02 13:25
((%Y-%m-%d %H:%M))
1940-10-27 08:23
2003-04-02:13:25
%Y-%m-%d:%H:%M
1940-10-27:08:23
2 Apr 2003
((%e %b %Y))
27 Oct 1940
April 2, 2003
((%B %e, %Y))
02/04/2003 13:25
((%d/%m/%Y %H:%M))
27/10/1940 08:23
58
Portrait Miner 7.1
Capítulo 4: Comandos para importar y exportar datos
Ejemplo de fecha
Cadena de formato de fecha
2003-04-02 13:25:15000000
((%Y-%m-%d %H:%M:%S%*))
April 02, 2003
((%B %d, %Y))
2-Apr-2003
%e-%b-%Y
27-Oct-1940
02/04/03
(quiebre europeo=2010)
27/10/40
04/02/03
(quiebre americano=2010)
10/27/40
03/04/02
(quiebre AMD=2010)
40/10/27
02-Apr-03
(%d-%b-%y pivot=2010)
27-Oct-40
April 02, 03
((%B %d, %y) pivot=2010)
2-Apr-03
(%e-%b-%y pivot=2010)
27-Oct-03
April 2, 03
((%B %e, %y) pivot=2010)
01:25 PM
((%I:%M %p))
08:23 AM
13:25
%H:%M
08:23
Guía de referencia del comando de creación de datos y TML
59
Capítulo
Comandos para procesar
enfoques
En esta sección:
•
•
•
•
•
•
•
•
•
qssort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .62
qsderive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63
qsmeasure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66
qstrack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70
qsselect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73
qsrenamefields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75
qsexportmetadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .78
qsimportmetadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .78
qsupdate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .82
5
qssort
qssort
Sinopsis qssort
-input <enfoque de origen>> [-subfocus <subenfoque>]
-output <enfoque de destino> [-force]
{-keys <campo clave> [, <campo clave>] [, <campo clave>]| -key @<archivo
clave>}} qssort-input <enfoque de origen> [-subfocus <subenfoque>]
-check
{-keys <campo clave> [, <campo clave>] [, <campo clave>]| -key @<archivo
clave>}}
Descripción: Clasifique los registros del enfoque de origen según los campos clave para producir el
enfoque de destino.
Alternativamente, compruebe que el enfoque de origen ya está clasificado.
Argumentos opcionales
Opción
Efecto
-force
Consulte la La opción de línea de comandos
-force en la página 24.
-subfocus <subenfoque>
Usar el subenfoque especificado del enfoque de
origen.
Además de esta opción de línea de comandos, qssort acepta las opciones comunes a todos los comandos
de creación de datos [consulte Opciones estándar de la línea de comandos en la página 21].
Nota: • Se pueden utilizar tres campos clave con qssort como máximo.
• El uso que qssort hace del orden de comparación de Portrait Miner puede mostrar diferencias
en algunos detalles respecto del orden de comparación usado por las bases de datos o las
utilidades de clasificación de terceros. Aunque es importante que un enfoque esté clasificado,
se debe comprobar el orden de la clasificación y, si es necesario, volver a clasificarlo utilizando
qssort.
• En general, es mucho más rápido comprobar el orden de la clasificación de un enfoque que
clasificarlo.
• En general, es ligeramente más rápido clasificar un enfoque si ya está casi clasificado.
• Incluso cuando el enfoque (o subenfoque) contiene solamente una selección de registros, el
enfoque de destino contiene todos los registros del enfoque de origen.
• Si se utiliza la opción -verbose, qssort informa la cantidad de valores clave únicos y la cantidad
de registros que contienen el valor clave duplicado más frecuente.
• El comando qssort requiere un espacio temporal en disco equivalente al tamaño del enfoque
de origen, y espacio para el enfoque de destino.
62
Portrait Miner 7.1
Capítulo 5: Comandos para procesar enfoques
• El enfoque de destino es independiente del enfoque de origen, es decir, no comparte datos
subyacentes.
• Utilizando Portrait Miner, se puede acceder a la mayoría de las funciones de qssort mediante
el asistente Ordenar enfoque .
Ejemplos Comprobar que el enfoque RetailCustApril.ftr está clasificado según el campo
CustomerID:
qssort -check -input RetailCustApril.ftr -keys CustomerID
Cree un nuevo enfoque, RetailTransAprilSorted.ftr, que contenga todos los registros del
enfoque RetailTransApril.ftr, clasificado según el campo CustomerID:
qssort -output RetailTransAprilSorted.ftr
-input RetailTransApril.ftr -keys CustomerID
qsderive
Sinopsis qsderive -derivations <archivo de derivaciones>
-input <enfoque de origen> [-subfocus <subenfoque>]
[-macro <nombre>=<valor>[-macro <nombre>=<valor> ...] | -macro
@<nombre>=<archivo de macro>]
[-output <enfoque de destino>] [-force]
-fields <campo> [, <campo> ...] | -fields @<archivo de campos>]
-fields <campo> [, <campo> ...] | -fields @<archivo de campos>]
[-random <semilla entera>]
[-warn] [-savexml]
Descripción: Copiar todos los campos (por defecto) del enfoque de origen al enfoque de destino; derivar
los campos en el enfoque de destino según las definiciones de campo en el archivo de derivaciones,
que contiene instrucciones create o las representaciones XML correspondientes. Por defecto, anexar
los campos derivados al enfoque de origen.
Argumentos opcionales
Comando
Objetivo
Opción
Efecto
-fields <campo> [, <campo>> ...]
Derivar únicamente los campos especificados.
-fields @<archivo de campos>>
Derivar únicamente los campos que se enumeran
(uno por línea) en el archivo de campos.
-force
Consulte la La opción de línea de comandos
-force en la página 24.
Guía de referencia del comando de creación de datos y TML
63
qsderive
Comando
Objetivo
-macro <nombre>=<valor>
Consulte la La opción de línea de comandos
-macro en la página 25.
-macro @<archivo de macros>
Consulte la La opción de línea de comandos
-macro en la página 25.
-output <enfoque de destino>
En lugar de anexar campos derivados al enfoque
de origen, copiar el enfoque de origen al enfoque
de destino y anexar los campos derivados al
enfoque de destino.
-random <semilla entera>
Utilizar la semilla entera (en lugar de 0) para todas
las funciones FDL de número aleatorio que
aparezcan en expresiones de derivación.
-savexml
Además de derivar uno o más campos, escriba
la(s) expresión(es) de la derivación en los formatos
TML y XML en los archivos <salida>.tml y
<salida>.xml, en el mismo directorio del enfoque
de destino, donde <salida> es el nombre de base
del enfoque de salida.
-subfocus <subenfoque>
Usar el subenfoque especificado del enfoque de
origen.
-warn
Si falla una derivación de campo, mostrar una
advertencia y continuar derivando otros campos
(en lugar de detenerse).
-xfields <campo>> [, <campo> ...]
Derivar todos los campos en el archivo de
derivaciones excepto los campos especificados.
-xfields @<archivo de campos>
Derivar todos los campos en el archivo de
derivaciones excepto los campos que se enumeran
(uno por línea) en el archivo de campos.
Además de estas opciones de línea de comandos, qsderive acepta las opciones comunes a todos los
comandos de creación de datos [consulte Opciones estándar de la línea de comandos en la página
21].
Nota: • El orden en que aparecen los campos derivados en el enfoque de destino es el orden en el
que aparecen en el archivo de derivaciones.
• Si se especifica un enfoque de destino, compartirá los datos subyacentes con el enfoque de
origen.
• XML para qsderive toma la forma de un elemento <derivations>, que contiene elementos
<field>, cada uno de los cuales debe contener, a su vez, una expresión FDL en un elemento
<fdl>. Cada elemento <fdl> puede incluir un atributo seed entero para especificar la semilla
de número aleatorio para esa expresión FDL.
• Puede utilizar el archivo XML que guardó qsderive mediante la opción -savexml como un
archivo de derivaciones.
64
Portrait Miner 7.1
Capítulo 5: Comandos para procesar enfoques
• Utilizando Portrait Miner, se puede acceder a la mayoría de las funciones de qsderive
mediante el asistente Derivar campos .
Ejemplo
Dado el archivo de derivaciones, derivations-purchases.tml, que contiene lo siguiente:
create TransMonth := month(PurchaseDate);
create CashRecd := if PaymentMethod = "CA" then Amount else 0;
aplicar estas derivaciones al enfoque RetailTransApril.ftr, para crear un nuevo enfoque,
RetailTransAprilDeriv.ftr, que contenga todos los campos del enfoque
RetailTransApril.ftr, más dos campos derivados:
qsderive -derivations derivations-purchases.tml
-input RetailTransApril.ftr -output RetailTransAprilDeriv.ftr
Aplicar todas estas derivaciones, menos la primera, al enfoque RetailTransApril.ftr, para crear
un nuevo enfoque RetailTransAprilDerivAllButFirstOne.ftr, que contenga todos los campos
del enfoque RetailTransApril.ftr más todos los campos derivados, menos el primero:
qsderive -xfields TransMonth -derivations derivations-purchases.tml
-input RetailTransApril.ftr
-output RetailTransAprilDerivAllButFirstOne.ftr
Crear un nuevo enfoque,RetailCustAprilScored.ftr, que contenga todos los campos del enfoque
RetailCustApril.ftr, más los campos de resultado que se crearon en Creador de scorecards de
Decision Studio y se guardaron como un archivo QMML, derivations-score.qmml:
qsderive -derivations derivations-score.qmml
-input RetailCustApril.ftr
-output RetailCustAprilScored.ftr
Dado el archivo de derivaciones XML derivations-purchases.xml que contiene lo siguiente:
<?xml version="1.0" encoding="UTF-8"?>
<derivations xmlns="http://www.quadstone.com/xml">
<field name="TransMonth">
<fdl>month(PurchaseDate)</fdl>
</field>
<field name="CashRecd">
<fdl>if PaymentMethod = "CA" then Amount else 0</fdl>
</field>
<field name="Random">
<fdl seed="123">rndUniform()</fdl>
</field>
</derivations>
aplicar estas derivaciones al enfoque RetailTransApril.ftr, para crear un nuevo enfoque,
RetailTransAprilDeriv.ftr, que contenga todos los campos del enfoque
RetailTransApril.ftr, más dos campos derivados:
qsderive -derivations derivations-purchases.xml
-input RetailTransApril.ftr -output RetailTransAprilDeriv.ftr
También consulte
Especificación de derivación para qsderive en la página 351
qstrack en la página 70
Guía de referencia del comando de creación de datos y TML
65
qsmeasure
qsmeasure
Sinopsis qsmeasure
-aggregations <archivo de agregación> [, <archivo de agregación> ...]
-input <enfoque de origen>
-output <enfoque de destino> [-force]
{-keys <campo clave> [, <campo clave>] [, <campo clave>] | -key @<archivo
clave>}
[-statistics <archivo de estadísticas> [, <archivo de estadísticas> ...]]
[-library <archivo de funciones FDL> [, <archivo de funciones FDL> ...]]
[-macro <nombre>=<valor> [-macro <nombre>=<valor> ...] | -macro
@<nombre>=<archivo de macro>]
-fields <campo> [, <campo> ...] | -fields @<archivo de campos> | -tags
<etiqueta> [, <etiqueta> ...]]
-xfields <campo> [, <campo> ...] | -xfields @<archivo de campos> | -xtags
<etiqueta> [, <etiqueta> ...]]
Descripción: Agregue registros en el enfoque de origen para producir campos en el enfoque de destino
según las definiciones de campos en los archivos de agregación. Los archivos de agregaciones contienen
instrucciones create o las representaciones XML correspondientes. Utilice los campos clave para
identificar grupos de registros para agregación [consulte Uso de funciones de agregación y las
cláusulas where y default en la página 154].
Argumentos opcionales
Opción
Efecto
-fields <campo> [, <campo> ...]
Considerar solo los campos especificados del
enfoque de origen (para optimizar el rendimiento
del comando evitando la consideración de los
campos que no se utilizan).
-fields @<archivo de campos>
Considerar solo los campos del enfoque de origen
que están enumerados (uno por línea) en el archivo
de campos.
-force
Consulte la La opción de línea de comandos
-force en la página 24.
-library <archivo de funciones FDL>
[, <archivo de funciones FDL> ...]
Incluye definiciones de las funciones FDL [consulte
Funciones definidas por el usuario en la página
192].
Es posible que las expresiones en los archivos de
agregaciones involucren estas funciones.
66
Portrait Miner 7.1
Capítulo 5: Comandos para procesar enfoques
Opción
Efecto
-macro <nombre>=<valor>
Consulte la La opción de línea de comandos
-macro en la página 25.
-macro @<archivo de macros>
Consulte la La opción de línea de comandos
-macro en la página 25.
-statistics <archivo de estadísticas> Calcular estadísticas para el enfoque de entrada
según las definiciones en los archivos de
[, <archivo de estadísticas> ...]
estadísticas, que contienen instrucciones de
cálculo [consulte Evaluación del enfoque de
estadísticas: la instrucción de calcular en la
página 158] o las representaciones XML
correspondientes.
Las expresiones en los archivos de agregaciones
pueden hacer referencia a estas estadísticas.
-tags <etiqueta> [, <etiqueta> ...]
Tener en cuenta solamente los campos del enfoque
de origen que tienen las etiquetas especificadas
(para optimizar el rendimiento del comando al evitar
tener en cuenta los campos no utilizados).
-xfields <campo> [, <campo> ...]
Considerar todos los campos del enfoque de
origen, excepto los campos especificados (para
optimizar el rendimiento del comando evitando la
consideración de campos que no se utilizan).
-xfields @<archivo de campos>
Considerar todos los campos del enfoque de
origen, excepto aquellos que estén enumerados
(uno por línea) en el archivo de campos.
-xtags <>tag> [, <etiqueta>> ...]
Tener en cuenta todos los campos del enfoque de
origen, excepto los campos que tienen la etiqueta
especificada (para optimizar el rendimiento del
comando al evitar tener en cuenta los campos no
utilizados).
Además de estas opciones de línea de comandos, qsmeasure acepta las opciones comunes a todos
los comandos de creación de datos [consulte Opciones estándar de la línea de comandos en la
página 21].
Nota: • El enfoque de origen debe ordenarse según los campos clave [consulte qssort en la página
62]. No obstante, qsmeasure no comprueba si esto es así, y no emite una advertencia o un
error si el enfoque no está ordenado correctamente.
• El enfoque de destino contiene campos clave que corresponden a los campos clave en el
enfoque de origen, seguidos de los campos agregados (en el mismo orden en el que aparecen
en el archivo de agregaciones), seguidos por todos los campos derivados (también en el mismo
orden en el que aparecen en el archivo de agregaciones). Para forzar la aparición de un campo
agregado después de un campo derivado en el enfoque de destino, puede utilizarse una
Guía de referencia del comando de creación de datos y TML
67
qsmeasure
instrucción temporary para crear el campo de agregación, y luego derivar un campo desde
allí.
• El enfoque de destino es independiente del enfoque de origen, es decir, no comparte datos
subyacentes.
• Para calcular agregaciones que involucren los estados entre las transacciones en lugar de
involucrar solamente los valores en los registros de transacciones, derive campos intermedios
adecuados mediante qstrack antes de utilizar qsmeasure.
• El XML para qsmeasure adopta la forma de un elemento de <aggregations>, que contiene
elementos <field context="aggregation">, cada uno de los cuales, a su vez, debe
contener una expresión TML en un elemento <fdl>. Se puede utilizar un elemento <by> para
especificar los grupos, y un elemento <where> para filtrar los registros de entrada.
• Utilizando Portrait Miner, se puede acceder a la mayoría de las funciones de qsmeasure
mediante el asistente Agregar registros .
Ejemplos Dado el archivo de agregaciones aggregations-purchases.tml, que contiene lo siguiente:
create numberPurchases := count();
create averagePurchase := mean(Amount);
create totalPointsRedeemed := sum(PointsRedeemed);
create averagePointsPerPurchase :=
totalPointsRedeemed / numberPurchases;
Aplique estas agregaciones y la derivación al enfoque RetailTransAprilSorted.ftr para crear
el enfoque RetailAggregationsApril.ftr que contenga los campos CustomerID,
numberPurchases, averagePurchase, totalPointsRedeemed y averagePointsPerPurchase:
qsmeasure -aggregations aggregations-purchases.tml
-input RetailTransAprilSorted.ftr
-output RetailAggregationsApril.ftr
-keys CustomerID
Dado el archivo de funciones FDL fdl-functions-storeSplit.fdl, que contiene lo siguiente:
function StoreSplitFunction( Store )
[
element_names = "0,800,600,700,300,400,100,500,900,Other"
]
{
case
Store = "0000" : 1;
Store = "0800" : 2;
Store = "0600" : 3;
Store = "0700" : 4;
Store = "0300" : 5;
Store = "0400" : 6;
Store = "0100" : 7;
Store = "0500" : 8;
Store = "0900" : 9;
default : 10;
}
Dado el archivo de agregaciones, aggregations-mostCommon.tml, que contiene lo siguiente:
create mostCommonStore := mode(Store);
create averageSpendInStore_ := mean(Amount)
by StoreSplitFunction(Store);
68
Portrait Miner 7.1
Capítulo 5: Comandos para procesar enfoques
Aplique estas agregaciones al enfoque RetailTransAprilSorted.ftr para crear el enfoque
RetailStoreSplitsApril.ftr que contenga los campos CustomerID, mostCommonStore,
averageSpendInStore_0, averageSpendInStore_800, averageSpendInStore_600,
averageSpendInStore_700, averageSpendInStore_300, averageSpendInStore_400,
averageSpendInStore_100, averageSpendInStore_500, averageSpendInStore_900 y
averageSpendInStore_Other:
qsmeasure -library fdl-functions-storeSplit.fdl
-aggregations aggregations-mostCommon.tml
-input RetailTransAprilSorted.ftr
-output RetailStoreSplitsApril.ftr -keys CustomerID
Alternativamente, dado el archivo XML de agregaciones aggregations-mostCommon.xml, que
contiene lo siguiente:
<?xml version="1.0" encoding="UTF-8"?>
<aggregations xmlns="http://www.quadstone.com/xml">
<field name="mostCommonStore" context="aggregation">
<fdl>mode(Store)</fdl>
</field>
<field name="averageSpendInStore_" context="aggregation">
<fdl>mean(Amount)</fdl>
<by>StoreSplitFunction(Store)</by>
</field>
</aggregations>
aplique estas agregaciones al enfoque RetailTransAprilSorted.ftr para crear el enfoque
RetailStoreSplitsApril.ftr que contenga los mismos campos del ejemplo anterior:
qsmeasure -library fdl-functions-storeSplit.fdl
-aggregations aggregations-mostCommon.xml
-input RetailTransAprilSorted.ftr
-output RetailStoreSplitsApril.ftr -keys CustomerID
Dado el archivo de estadísticas statistics-amount.tml, que contiene lo siguiente:
calculate averageAmount := mean(Amount);
y dado el archivo de agregaciones aggregations-statistic.tml, que contiene lo siguiente:
create averageSpend := mean(Amount);
create bigSpender := averageSpend > STATISTIC.averageAmount;
aplique esta agregación y derivación al enfoque RetailTransAprilSorted.ftr para crear el enfoque
RetailRankApril1.ftr que contenga los campos CustomerID, averageSpend y bigSpender:
qsmeasure -statistics statistics-amount.tml
-aggregations aggregations-statistic.tml
-input RetailTransAprilSorted.ftr
-output RetailRankApril1.ftr
-keys CustomerID
Alternativamente, acelere la agregación al importar solamente los campos CustomerID y Amount
desde el enfoque RetailTransAprilSorted.ftr:
qsmeasure -fields "CustomerID, Amount"
-statistics statistics-amount.tml
-aggregations aggregations-statistic.tml
-input RetailTransAprilSorted.ftr
-output RetailRankApril2.ftr
-keys CustomerID
Guía de referencia del comando de creación de datos y TML
69
qstrack
También consulte
Especificación de agregación para qsmeasure en la página 349
qstrack
Sinopsis qstrack
-trackers <archivo de rastreo> [, <archivo de rastreo> ...] -input <enfoque
de origen> -output <enfoque de destino> [-force]-key <campo clave> | -key
@<archivo clave>[-statistics <archivo de estadísticas> [, <archivo de
estadísticas> ...]] [-library <archivo de función FDL> [, <archivo de función
FDL> ...]]
[-macro <nombre>=<valor> [-macro <nombre>=<valor> ...] | -macro
@<nombre>=<archivo de macro>]
-fields <campo> [, <campo> ...] | -fields @<archivo de campos> | -tags
<etiqueta> [, <etiqueta> ...]]-xfields <campo> [, <campo> ...] | -xfields
@<archivo de campos> | -xtags <etiqueta> [, <etiqueta> ...]]
Descripción: Copiar todos los campos (por defecto) del enfoque de origen al enfoque de destino; derivar
los campos en el enfoque de destino según las definiciones de campo en el archivo de rastreadores,
que contiene instrucciones create o las representaciones XML correspondientes. Estas definiciones
generalmente involucran variables de estado [consulte Variables en la página 190]. Utilizar el campo
clave para identificar grupos de registros para rastrear el estado: qstrack restablece todas las variables
de estado al inicio de un nuevo grupo.
Argumentos opcionales
Opción
Efecto
-fields <campo> [, <campo> ...]
Considerar solo los campos especificados del
enfoque de origen (para optimizar el rendimiento
del comando evitando la consideración de los
campos que no se utilizan).
-fields @<archivo de campos>
Considerar solo los campos del enfoque de origen
que están enumerados (uno por línea) en el archivo
de campos.
-force
Consulte la La opción de línea de comandos
-force en la página 24.
-library <archivo de funciones FDL>
[, <archivo de funciones FDL> ...]
Incluye definiciones de las funciones FDL [consulte
Funciones definidas por el usuario en la página
192].
Las expresiones de los archivos de seguimiento
pueden incluir estas funciones.
70
Portrait Miner 7.1
Capítulo 5: Comandos para procesar enfoques
Opción
Efecto
-macro <nombre>=<valor>
Consulte la La opción de línea de comandos
-macro en la página 25.
-macro @<archivo de macros>
Consulte la La opción de línea de comandos
-macro en la página 25.
-statistics <archivo de estadísticas> Calcular estadísticas para el enfoque de entrada
según las definiciones en los archivos de
[, <archivo de estadísticas> ...]
estadísticas, que contienen instrucciones de
cálculo [consulte Evaluación del enfoque de
estadísticas: la instrucción de calcular en la
página 158] o las representaciones XML
correspondientes.
Las expresiones de los archivos de seguimiento
pueden hacer referencia a estas estadísticas.
-tags <etiqueta> [, <etiqueta> ...]
Tener en cuenta solamente los campos del enfoque
de origen que tienen las etiquetas especificadas
(para optimizar el rendimiento del comando al evitar
tener en cuenta los campos no utilizados).
-xfields <campo> [, <campo> ...]
Considerar todos los campos del enfoque de
origen, excepto los campos especificados (para
optimizar el rendimiento del comando evitando la
consideración de campos que no se utilizan).
-xfields @<archivo de campos>
Considerar todos los campos del enfoque de
origen, excepto aquellos que estén enumerados
(uno por línea) en el archivo de campos.
-xtags <etiqueta> [, <etiqueta> ...]
Considerar todos los campos del enfoque de
origen, excepto los campos que tienen las etiquetas
especificadas (para optimizar el rendimiento del
comando al evitar la consideración de campos sin
utilizar).
Además de estas opciones de línea de comandos, qstrack acepta las opciones comunes a todos los
comandos de creación de datos [consulte Opciones estándar de la línea de comandos en la página
21].
Nota: • El orden en el que aparecen los campos derivados en el enfoque de destino es el orden en
el que aparecen en el archivo de rastreadores.
• El enfoque de origen se debe clasificar por medio del campo clave [consulte qssort en la
página 62]. Sin embargo, qstrack no verifica que así sea, y no emite una advertencia ni un
error si el enfoque no se clasifica correctamente.
• El enfoque de destino es independiente del enfoque de origen, es decir, no comparte datos
subyacentes.
Guía de referencia del comando de creación de datos y TML
71
qstrack
• XML para qstrack toma la forma de un elemento <trackers>, que contiene elementos
<field context="tracker">, cada uno de los cuales debe contener, a su vez, una
expresión FDL en un elemento <fdl>.
Ejemplos
Dado el archivo de rastreadores, trackers-monthlySpend.tml, que contiene lo siguiente:
create monthlySpend := (
state currentMonth := null;
state currentYear := null;
state monthSpend := 0;
if (currentMonth = month(PurchaseDate) and
currentYear = year(PurchaseDate))
then (monthSpend := monthSpend + Amount)
else (monthSpend := Amount);
currentMonth := month(PurchaseDate);
currentYear := year(PurchaseDate);
monthSpend;
);
aplicar estas derivaciones al enfoque RetailTransAprilSorted.ftr para crear un nuevo enfoque
RetailTransAprilRunningSpend.ftr:
qstrack -trackers trackers-monthlySpend.tml -key CustomerID
-input RetailTransAprilSorted.ftr
-output RetailTransAprilRunningSpend.ftr
Como alternativa, dado el archivo de rastreadores XML trackers-monthlySpend.xml, que contiene
lo siguiente:
<?xml version="1.0" encoding="UTF-8"?>
<trackers xmlns="http://www.quadstone.com/xml">
<field name="monthlySpend" context="tracker">
<fdl>
state currentMonth := null;
state currentYear := null;
state monthSpend := null;
if (currentMonth = month(PurchaseDate) and currentYear =
year(PurchaseDate))
then (monthSpend := monthSpend + Amount)
else (monthSpend := Amount);
currentMonth := month(PurchaseDate);
currentYear := year(PurchaseDate);path>
monthSpend;h
</fdl>
</field>
</trackers>
aplicar estas derivaciones al enfoque RetailTransAprilSorted.ftr para crear un nuevo enfoque
RetailTransAprilRunningSpend.ftr:
qstrack -trackers trackers-monthlySpend.xml -key CustomerID
-input RetailTransAprilSorted.ftr
-output RetailTransAprilRunningSpend.ftr
También consulte
XML en Portrait Miner en la página 342
qsderive en la página 63
72
Portrait Miner 7.1
Capítulo 5: Comandos para procesar enfoques
qsselect
Sinopsis qsselect -selections <archivo de selecciones>
-input <enfoque de origen> [-subfocus <subenfoque>]
[-macro <nombre>=< valor>[-macro <nombre>=<valor> ...] | -macro
@<nombre>=<archivo de macro>]
[-output <enfoque de destino>>] [-force][-random <semilla entera>] [-savexml]
[-selection <campo>]
Descripción: Copiar todos los campos (por defecto) del enfoque de origen en el enfoque de destino;
derivar un campo numérico en el enfoque de destino según la definición del primer campo (por defecto)
en el archivo de selecciones, que es un archivo que contiene instrucciones create o un archivo XML
correspondiente. Por defecto, anexar el campo derivado al enfoque de origen.
Aplicar una selección de registro al nuevo campo; seleccionar únicamente los registros con el valor 1.
Argumentos opcionales
Opción
Efecto
-force
Consulte la La opción de línea de comandos
-force en la página 24.
-macro <nombre>=<valor>
Consulte la La opción de línea de comandos
-macro en la página 25.
-macro @<archivo de macros>
Consulte la La opción de línea de comandos
-macro en la página 25.
-output <enfoque de destino>
En lugar de anexar campos derivados al enfoque
de origen, copiar el enfoque de origen al enfoque
de destino y anexar los campos derivados al
enfoque de destino.
-random <semilla entera>
Utilizar la semilla entera (en lugar de 0) para todas
las funciones FDL de número aleatorio que
aparezcan en expresiones de derivación.
-savexml
Además de derivar uno o más campos y aplicar
una selección, escriba la(s) expresión(es) de la
derivación del archivo de selecciones en los
formatos TML y XML en los archivos
<salida>.tml y <salida>.xml, en el mismo
directorio del enfoque de destino, donde <salida>
es el nombre de base del enfoque de salida.
-selection <campo>
En lugar de usar la definición del primer campo en
el archivo de selecciones, usar la definición del
campo especificado.
Guía de referencia del comando de creación de datos y TML
73
qsselect
Opción
Efecto
-subfocus <subenfoque>
Usar el subenfoque especificado del enfoque de
origen.
Además de estas opciones de línea de comandos, qsselect acepta las opciones comunes a todos los
comandos de creación de datos [consulte Opciones estándar de la línea de comandos en la página
21].
Nota: • Comúnmente, las expresiones de derivación en el archivo de selecciones son aplicaciones
de operadores relacionales o lógicos, que producen los valores 1 para "true" y 0 para "false".
En tales casos, qsselect selecciona aquellos registros para los que la expresión lógica es
verdadera.
• Si se especifica un enfoque de destino, compartirá los datos subyacentes con el enfoque de
origen.
• El XML para qsselect adopta la forma de un elemento de <selections>, que contiene
elementos <field context="selection">, cada uno de los cuales, a su vez, debe
contener una expresión FDL en un elemento <fdl>.
• Puede usar el archivo XML que guardó qsselect como un archivo de selecciones mediante la
opción -savexml.
Ejemplos:
Dado el archivo de selecciones selections-sixmonth.tml, que contiene lo siguiente:
create lastSixMonths :=
countwholemonths(PurchaseDate, #1999/07/01) < 6;
aplique esta selección al enfoque RetailTransApril.ftr:
qsselect -selections selections-sixmonth.tml
-input RetailTransApril.ftr
-output RetailTransApril6Months.ftr
Dado el archivo de selecciones selections-random.tml, que contiene lo siguiente:
create random := rndUniform() < 0.1;
aplique esta selección para seleccionar el 10 % de los registros en el enfoque RetailTransApril.ftr,
con una semilla conocida (12345678), para permitir que se seleccione la misma serie de registros en
aplicaciones posteriores:
qsselect -selections selections-random.tml -random 12345678
-input RetailTransApril.ftr
-output RetailTransAprilSampleSelect.ftr
Alternativamente, dado el archivo XML de selecciones selections-random.xml, que contiene lo
siguiente:
<?xml version="1.0" encoding="UTF-8"?>
<selections xmlns="http://www.quadstone.com/xml"?>
<field name="random" context="selection">
<fdl seed="12345678">rndUniform() < 0.1</fdl>
</field>
</selections>
74
Portrait Miner 7.1
Capítulo 5: Comandos para procesar enfoques
Aplique esta selección para seleccionar el mismo 10% de los registros en el enfoque
RetailTransApril.ftr utilizando la misma semilla:
qsselect -selections selections-random.xml
-input RetailTransApril.ftr
-output RetailTransAprilSampleSelect.ftr
También consulte
Especificación de selección para qsselect en la página 352
qsrenamefields
Sinopsis qsrenamefields
-input <enfoque de origen>
{-map <nombre anterior>=<nombre nuevo> | -map @<archivo de mapeo de entrada>}
[{-map <nombre anterior>=<nombre nuevo> | -map @<archivo de mapeo de entrada>}
...]
[-output <enfoque de destino>] [-force]
[-invert]
[-mapping <archivo de mapeo de salida>]
qsrenamefields
-input <enfoque de origen>
[-map QSCompliant]
[-output <enfoque de destino>] [-force]
[-invert]
[-mapping <archivo de mapeo de salida>]
Descripción: renombrar los campos del enfoque de origen mediante la aplicación de mapeos de
<nombre anterior>=<nombre nuevo> y mapeos en archivos de mapeo de entrada.
Alternativamente, renombrar los campos en el enfoque de origen a archivos únicos y equivalentes que
sean compatibles con Portrait Miner, mediante un algoritmo incorporado .
Argumentos opcionales
Comando
Objetivo
-force
Consulte la La opción de línea de comandos
-force en la página 24.
-invert
Invertir el sentido de los mapeos de nombre de
campo.
Guía de referencia del comando de creación de datos y TML
75
qsrenamefields
Comando
Objetivo
-mapping <archivo de mapeo de salida> Crear un archivo XML de mapeo, que describa el
mapeo real utilizado desde los nombres de archivo
anteriores a los nuevos.
Se puede utilizar este archivo como un archivo de
mapeo de entrada para qsrenamefields. Junto a
la opción -invert, se puede utilizar luego un
mapeo inverso de nombre de campo incluso
cuando el mapeo original campo-nombre sea un
algoritmo (y no necesariamente de uno a uno).
-output <enfoque de destino>
En lugar de renombrar directamente los campos
en el enfoque de origen, copiar el enfoque de
origen al enfoque de destino y renombre los
campos en el enfoque de destino.
Además de estas opciones de línea de comandos, qsrenamefields acepta las opciones comunes a
todos los comandos de creación de datos [consulte Opciones estándar de la línea de comandos en
la página 21].
Nota: • Omitir el argumento -map completamente tiene el mismo efecto que especificar -map
QSCompliant.
• Un archivo de mapeo de entrada tiene formato XML o contiene pares <nombre
antiguo>=<nombre nuevo> en líneas sucesivas del archivo.
• Si se utiliza más de un argumento -map, qsrenamefields implementa los mapeos de nombre
de campo en el orden que aparecen en la línea de comandos.
• Si se intenta renombrar los campos y alguno se repite, qsrenamefields se lo advertirá y no
realizará la acción.
• Si se especifica un enfoque de destino, compartirá los datos subyacentes con el enfoque de
origen.
• No se puede renombrar un campo más de una vez invocando una sola vez el comando.
• Si el enfoque de origen incluye subenfoques, qsrenamefields renombra los campos en toda
la jerarquía de los subenfoques.
• El XML para qsrenamefields adopta la forma de un elemento <mappingset> que contiene
elementos <map>, cada uno de los cuales debe contener un elemento <name> y <alias>.
• Dado un enfoque producido por qsimportdb, que puede incluir nombres de campos que no
sean compatibles con Portrait Miner, se puede utilizar qsrenamefields (con -map
QSCompliant) para convertir el enfoque en uno que se pueda utilizar en Decision Studio o
con otros comandos de creación de datos.
• Es posible acceder a algunas de las funciones de qsrenamefields mediante Visor de Tablas
en Decision Studio o mediante el cuadro de diálogo Cambiar nombres de campos disponible
en Portrait Miner .
Ejemplos
76
Portrait Miner 7.1
Capítulo 5: Comandos para procesar enfoques
Crear un enfoque, RetailCustAprilRenamed1.ftr, con el campo StartDate renombrado como
Initialized, Age renombrado como CurrentAge, y Gender renombrado como Sex:
qsrenamefields -map StartDate=Initialized
-map Age=CurrentAge -map Gender=Sex
-input RetailCustApril.ftr -output RetailCustAprilRenamed1.ftr
Alternativamente, dado el archivo de mapeo de entrada mapping-file.txt, con el siguiente contenido:
StartDate=Initialized
Age=CurrentAge
Gender=Sex
implementar este archivo de mapeo para crear el enfoque RetailCustAprilRenamed2.ftr con el
campo StartDate renombrado como Initialized, Age renombrado como CurrentAge, y Gender
renombrado como Sex:
qsrenamefields -map @mapping-file.txt
-input RetailCustApril.ftr -output RetailCustAprilRenamed2.ftr
o, alternativamente, dado el archivo XML de mapeo de entrada mapping-file.xml, con el siguiente
contenido:
<?xml version="1.0" encoding="UTF-8"?>
<mappingset xmlns="http://www.quadstone.com/xml">
<map>
<name>StartDate</name>
<alias>Initialized</alias>
</map>
<map>
<name>Age</name>
<alias>CurrentAge</alias>
</map>
<map>
<name>Gender</name>
<alias>Sex</alias>
</map>
</mappingset>
implementar este archivo de mapeo para crear el enfoque RetailCustAprilRenamed2.ftr con el
campo StartDate renombrado como Initialized, Age renombrado como CurrentAge, y Gender
renombrado como Sex:
qsrenamefields -map @mapping-file.xml
-input RetailCustApril.ftr -output RetailCustAprilRenamed2.ftr
Crear un enfoque RetailCustAprilQSCompliant.ftr con nombres de campos que sean compatibles
con Portrait Miner:
qsrenamefields
-input RetailCustApril.ftr
-output RetailCustAprilQSCompliant.ftr
También consulte
Especificación de mapeo del nombre de campo para qsrenamefields en la página 356
Guía de referencia del comando de creación de datos y TML
77
qsexportmetadata
qsexportmetadata
Sinopsis qsexportmetadata -input <enfoque de origen> [-output <archivo de
metadata>]
Descripción: Exportar metadata del enfoque de origen, que incluye el historial del enfoque, la creación
de rangos, los comentarios, las derivaciones, las interpretaciones, las selecciones de registros, la
estructura de subenfoque y el subenfoque por defecto. Por defecto, escribir la información en una salida
estándar.
Argumentos opcionales
Opción
Efecto
-output <archivo de metadata de
salida>
Crear este archivo de metadata en lugar de escribir
la salida estándar.
Además de esta opción de línea de comandos, qsexportmetadata acepta las opciones comunes a
todos los comandos de creación de datos [consulte Opciones estándar de la línea de comandos en
la página 21].
Nota: • La salida de metadata de qsexportmetadata es un formato de archivo basado en XML [consulte
Especificación de metadatos para qsimportmetadata en la página 342].
• Mediante Portrait Miner, se puede acceder a las funciones de qsexportmetadata mediante
el cuadro de diálogo Exportar metadata .
Ejemplos
Crear un nuevo archivo XML RetailTransApril.xml que contenga la metadata del enfoque
RetailTransApril.ftr:
qsexportmetadata -input RetailTransApril.ftr
-output RetailTransApril.xml
También consulte
qsimportmetadata en la página 78
qsimportmetadata
Sinopsis qsimportmetadata
-input <enfoque de origen> -metadata <archivo de metadata>[-output <enfoque
de destino>] [-force] [-details <tipo> [, <tipo> ...] -fields <campo> [,
<campo> ...] | -fields @<archivo de campos>] -fields <campo> [, <campo> ...]
| -fields @<archivo de campos>] [-dryrun] [-warn]
78
Portrait Miner 7.1
Capítulo 5: Comandos para procesar enfoques
Descripción: Importar metadata, que incluye creación de rangos, comentarios, derivaciones,
interpretaciones, selecciones de registros, estructura de subenfoque y subenfoque por defecto del
archivo de metadata al enfoque de origen.
Argumentos opcionales
Opción
Efecto
-details <tipo> [, <tipo> ...]
Importar los tipos especificados de metadata, que
pueden incluir rangos, comentarios,
derivaciones, historial,
interpretaciones, selecciones, iniciar
(subenfoque por defecto) y subenfoques
(estructura de subenfoques). Las interpretaciones
categóricas se clasifican como creaciones de
rangos, no interpretaciones. Si esta opción no está
disponible, se importan todos los tipos de metadata
(excepto historial).
-dryrun
No importar metadata, sino visualizar la información
sobre la metadata que se habría importado.
-fields <campo> [, <campo> ...]
En lugar de importar metadata de campo de todos
los campos, importar metadata solamente de los
campos especificados.
-fields @<archivo de campos>
En lugar de importar metadata de campo de todos
los campos, importar metadata solamente de los
campos enumerados en el archivo de campos (uno
por línea).
-force
Consulte la La opción de línea de comandos
-force en la página 24.
-output <enfoque de destino>
En lugar de implementar directamente la metadata
al enfoque de origen, copiar el enfoque de origen
al enfoque de destino e implementar la metadata
al enfoque de destino.
-warn
En lugar de cancelar la operación si no es posible
importar toda la metadata, emitir una advertencia
e intentar importar la metadata restante.
-xfields <campo> [, <campo> ...]
Importar metadata de campo de todos los campos,
a excepción de los campos especificados.
-xfields @<archivo de campos>
Importar metadata de campo de todos los campos,
a excepción de los que están enumerados en el
archivo de campos (uno por línea).
Además de estas opciones de línea de comandos, qsimportmetadata acepta las opciones comunes a
todos los comandos de creación de datos [consulte Opciones estándar de la línea de comandos en
la página 21].
Guía de referencia del comando de creación de datos y TML
79
qsimportmetadata
Nota: • Si se importa el historial, y el archivo de metadata incluye metadata del historial que no está
vacía, qsimportmetadata sustituye la metadata del historial en el enfoque; si la metadata del
historial en el archivo de metadata no se encuentra o está vacía, qsimportmetadata no sustituye
la metadata del historial en el enfoque.
• Si se especifica un enfoque de destino, compartirá los datos subyacentes con el enfoque de
origen.
• El archivo de metadata utiliza un formato de archivo basado en XML [consulte Especificación
de metadatos para qsimportmetadata en la página 342]. El XML de metadata para
qsimportmetadata adopta la forma de un elemento de <metadata> que contiene elementos
de <focus>, los cuales pueden contener elementos de <comment>, <history>, <focus>
anidado y <field>. Los elementos de <field> pueden contener elementos de <comment>,
<binning>, <recordselection> y <fdl>.
• Si se importa un rango categórico a un campo que no tiene una interpretación categórica,
qsimportmetadata primero interpreta que el campo es categórico y crea categorías básicas a
partir de los valores que contiene el campo (y un rango denominado "nodo sin nombre"). Si
las categorías básicas en el rango importado hacen referencia a valores a los que las categorías
básicas del campo no hacen referencia, qsimportmetadata agrega estos valores como categorías
básicas. Finalmente, agrega las categorías (si existen) desde el rango importado directamente
a continuación de las categorías básicas del campo (a menos que el rango importado tenga
el mismo conjunto de categorías básicas que el campo, en cuyo caso qsimportmetadata omite
el primer nivel del rango importado y agrega el resto de los niveles directamente a continuación
de las categorías básicas del campo).
• Si se importa un rango categórico a un campo con interpretación categórica, y el rango importado
contiene un elemento <category> como mínimo, qsimportmetadata borra la interpretación
categórica en el campo (y elimina todos los rangos categóricos existentes en el campo) antes
de importar el rango. (Si el rango importado no contiene elementos <category>,
qsimportmetadata no realiza acción alguna).
• Si importa una estructura de subenfoque, el subenfoque recién creado hereda automáticamente
atributos de campo (como creación de rangos y candidatos de análisis) del subenfoque principal.
Esto ocurre incluso si no se especifican los atributos de manera explícita en la definición de
subenfoque, porque estos se establecen en el proceso de aplicar la estructura del subenfoque.
• Un subenfoque definido en el archivo de metadata tiene prioridad sobre un subenfoque con
el mismo nombre en el archivo de origen, por lo que se sobrescribe cualquier metadata existente
asociada con dicho enfoque.
• Utilizando Portrait Miner, se puede acceder a la mayoría de las funciones de qsimportmetadata
mediante el cuadro de diálogo Importar metadata para enfoque .
Ejemplos
Dado el archivo de metadata de enfoque metadata-fieldfocus.xml, con el siguiente contenido:
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.quadstone.com/xml">
<focus>
<comment>This focus was created for the Retail Analysis
project.</comment>
<field name="Age">
<comment>Imported from database field DOB
in CUSTINFO.</comment>
</field>
80
Portrait Miner 7.1
Capítulo 5: Comandos para procesar enfoques
<field name="Gender">
<comment>Imported from CUSTINFO:SEX,
mapping 1="M" and 2="F".</comment>
</field>
</focus>
</metadata>
importar este archivo de metadata para crear un enfoque RetailCustAprilCommented2.ftr, que
contenga comentarios de campo y un comentario del enfoque:
qsimportmetadata -metadata metadata-fieldfocus.xml
-input RetailCustApril.ftr
-output RetailCustAprilCommented2.ftr
Otra opción es importar el mismo archivo de metadata para crear un enfoque
RetailCustAprilCommented3.ftr, con un comentario de campo solo en el campo Age:
qsimportmetadata -fields Age -metadata metadata-fieldfocus.xml
-input RetailCustApril.ftr
-output RetailCustAprilCommented3.ftr
Dado el archivo de metadata de enfoque metadata-focushtml.xml, con los siguientes contenidos:
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.quadstone.com/xml">
<focus>
<comment xhtml="true">
<div>
This focus was created for the
Retail Analysis project.<br/>
An audit is available on the
<a href="http://intranet.company.com/audits">
intranet</a>.
</div>
</comment>
</focus>
</metadata>
importe este archivo de metadata para crear un enfoque RetailCustAprilCommented4.ftr, que
contenga un comentario de enfoque con formato HTML:
qsimportmetadata -metadata metadata-focushtml.xml
-input RetailCustApril.ftr
-output RetailCustAprilCommented4.ftr
Dado el archivo de metadata de enfoque metadata-catbinning1.xml, con los siguientes contenidos:
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.quadstone.com/xml">
<field name="MaritalStatus">
<binning>
<categorical>
<categories>
<category name="Single" levelname="Summarized">
<category name="Single" value="1"
levelname="Detail"/>
</category>
<category name="Married">
<category name="Married" value="2"/>
</category>
<category name="Other">
<category name="Divorced" value="3"/>
<category name="Widowed" value="4"/>
Guía de referencia del comando de creación de datos y TML
81
qsupdate
<category name="Separated" value="5"/>
</category>
</categories>
</categorical>
</binning>
</field>
</metadata>
importe este archivo de metadata para crear un enfoque Lion1.ftr, en el que MaritalStatus tiene
un rango categórico con dos niveles (uno de ellos denomina las categorías de base y el otro fusiona
tres categorías):
qsimportmetadata -metadata metadata-catbinning1.xml
-input Lion.ftr -output Lion1.ftr
Dado el archivo de metadata de enfoque metadata-catbinning2.xml, con los siguientes contenidos:
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.quadstone.com/xml">
<field name="SRVOverallSatisfaction">
<binning>
<categorical>
<categories>
<category name="Very Dissatisfied" value="VD"/>
<category name="Dissatisfied" value="D"/>
<category name="Neutral" value="N"/>
<category name="Fairly Satisfied" value="FS"/>
<category name="Very Satisfied" value="VS"/>
</categories>
</categorical>
</binning>
</field>
</metadata>
importe este archivo de metadata para crear un enfoque Lion2.ftr, en el que
SRVOverallSatisfaction tiene un rango categórico con un orden particular de las categorías, desde
"Muy insatisfecho" hasta "Muy satisfecho":
qsimportmetadata -metadata metadata-catbinning2.xml
-input Lion1.ftr -output Lion2.ftr
También consulte
qsexportmetadata en la página 78
qsupdate
Sinopsis qsupdate -from <enfoque de plantilla> -to <enfoque de destino> [-force]
Descripción: Aplica la metadata del enfoque que está en el enfoque de plantilla al enfoque de destino
e incluye las definiciones de subenfoques y campos derivados, además de cualquier interpretación de
campo, rango y selecciones de registro.
Argumentos opcionales
82
Portrait Miner 7.1
Capítulo 5: Comandos para procesar enfoques
Opción
Efecto
-force
Consulte la La opción de línea de comandos
-force en la página 24.
Además de esta opción de línea de comando, qsupdate acepta las opciones comunes de todos los
comandos de creación de datos [consulte Opciones estándar de la línea de comandos en la página
21].
Nota: • El enfoque de destino no puede tener ninguna interpretación de campo, rango ni selección
de registro existentes.
• Si el enfoque de plantilla y el enfoque de destino tienen diferentes nombres de campo o tipos
de datos, es posible que qsupdate no pueda copiar algunos aspectos de la metadata del
enfoque de plantilla.
• Este comando de creación de datos es obsoleto: en cambio, utilice qsexportmetadata y
qsimportmetadata.
Ejemplo
Aplique derivaciones, interpretaciones, rangos y selecciones de registro del enfoque
RetailCustApril.ftr previamente procesado al enfoque RetailCustMay.ftr recién importado
:
qslink -from RetailCustMay.ftr -to RetailCustMayUpdated.ftr
qsupdate -from RetailCustApril.ftr -to RetailCustMayUpdated.ftr
Guía de referencia del comando de creación de datos y TML
83
Capítulo
Comandos para combinar
enfoques
En esta sección:
• Acerca de la combinación de enfoques . . . . . . . . . . . . . .86
• qsjoin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .86
• qsmerge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .90
6
Acerca de la combinación de enfoques
Acerca de la combinación de enfoques
Portrait Miner ofrece dos formas de combinar los campos de múltiples enfoques para crear uno nuevo,
el primero ("focus join") es una variante de un left join. Se puede utilizar la unión de enfoques en
Portrait Miner o a través del comando de creación de datos qsjoin de Portrait Miner.
El segundo método utiliza Decision Studio para importar campos desde un enfoque en una variante de
un left join de dos tablas.
También se pueden combinar los registros de varios enfoques en Portrait Miner o a través del
comando de creación de datos qsmerge de Portrait Miner.
También consulte
dblookup en la página 318
qsjoin
Sinopsis qsjoin
-input <enfoque primario> [-subfocus <subenfoque>]
{-keys <campo clave> [, <campo clave>] [, <campo clave>] | -key @<archivo
clave>}
[-output <enfoque de destino>] [-force]
[-equalnulls] [-importmeta] [-onetoone]
[-match <prefijo>] [-unmatched <prefijo>]
-join <enfoque secundario> [ -subfocus <subenfoque>] -fields <campo> [,
<campo> ...] | -fields @<archivo de campos> | -tags <etiqueta> [, <etiqueta>
...]] -xfields <campo> [, <campo> ...] | -xfields @<archivo de campos> |
-xtags <etiqueta> [, <etiqueta> ...]] [-join <enfoque secundario> [ -subfocus
<subenfoque>] -fields <campo> [, <campo> ...] | -fields @<archivo de campos>
| -tags <etiqueta> [, <etiqueta> ...]] -xfields <campo> [, <campo> ...] |
-xfields @<archivo de campos> | -xtags <etiqueta> [, <etiqueta> ...]] ...]
Descripción: Une campos de los enfoques secundarios con el enfoque primario, haciendo coincidir los
registros mediante el uso de los campos clave. Por defecto, una todos los campos que no sean campos
clave de los enfoques secundarios.
A menos que se utilice la opción -onetoone, qsjoin realiza de forma eficaz una serie de uniones
externas de izquierda (en las que el enfoque primario es la tabla de la izquierda) al incorporar los campos
de cada uno de los enfoques secundarios de a uno a la vez. Los valores clave de un registro del enfoque
primario identifican de forma única un registro correspondiente de cada uno de los enfoques secundarios
(en los que haya uno).
86
Portrait Miner 7.1
Capítulo 6: Comandos para combinar enfoques
Argumentos opcionales
Opción
Efecto
-equalnulls
Al hacer coincidir los registros, se debe tratar el
valor nulo de un campo clave como un valor
ordinario (es decir, considerar a todos los casos
del valor nulo como iguales entre sí, pero diferentes
de todos los otros valores).
-fields <campo> [, <campo> ...]
En lugar de unir todos los campos del enfoque
secundario, une solo los campos especificados,
-fields @<archivo de campos>
En lugar de unir todos los campos del enfoque
secundario, se deben unir solamente los campos
especificados (uno por línea) en el archivo de
campos.
-force
Consulte la La opción de línea de comandos
-force en la página 24. Esto también afecta los
enfoques creados mediante el uso de la opción
-unmatched.
-importmeta
Importar metadata del campo de los enfoques
secundarios.
-match <prefijo>
Para cada enfoque secundario, se debe crear un
campo de enteros adicional en el enfoque de
salida, que contiene el valor 1 para los registros
que incluyen datos del enfoque secundario y el
valor 0 para todos los otros registros. Se debe
utilizar el prefijo dado junto con el nombre del
enfoque secundario para denominar al campo.
-onetoone
En lugar de realizar una unión externa de izquierda,
intente realizar una coincidencia uno a uno de los
grupos de registros con las mismas claves.
-output <enfoque de destino>
En lugar de unir campos al enfoque primario, copie
el enfoque primario en el enfoque de destino y
luego una los campos con el enfoque de destino.
-subfocus <subenfoque>
Utilice los subenfoques especificados del enfoque
primario o secundario mencionado en último lugar
en la línea de comando (mediante el uso de
-input o -join).
-tags <etiqueta> [, <etiqueta> ...]
En lugar de unir todos los campos del enfoque
secundario, una solamente los campos que tienen
las etiquetas especificadas.
-unmatched <prefijo>
Para cada enfoque secundario, se debe crear un
enfoque de salida alternativo preservando los
Guía de referencia del comando de creación de datos y TML
87
qsjoin
Opción
Efecto
registros del enfoque secundario cuyos campos
clave no coinciden con los registros del enfoque
primario. Utilice el prefijo dado junto con el nombre
del enfoque secundario para denominar el enfoque
de salida alternativo.
-xfields <campo> [, <campo> ...]
Una todos los campos del enfoque, excepto los
campos especificados.
-xfields @<archivo de campos>
Una todos los campos del enfoque, excepto los
campos especificados (uno por línea) en el archivo
de campos.
-xtags <etiqueta> [, <etiqueta> ...]
Una todos los campos del enfoque, excepto los
campos que tienen las etiquetas especificadas.
Además de estas opciones de línea de comando, qsjoin acepta las opciones comunes a todos los
comandos de creación de datos [consulte Opciones estándar de la línea de comandos en la página
21].
Nota:
• Para cada campo clave nombrado, todos los campos de ese nombre en los enfoques primarios y
secundarios deben ser de un tipo compatible, es decir, todos campos de secuencia, todos campos
de fecha o todos campos numéricos.
• Los enfoques primarios y secundarios deben estar clasificados según los campos clave [consulte
qssort en la página 62]. Si los enfoques no están clasificados de forma apropiada, se produce un
fallo en qsjoin y se envía un mensaje de error a tal efecto.
• En el caso de una unión externa de izquierda (el tipo de unión predeterminado de qsjoin), dos registros
de un enfoque secundario no pueden compartir las mismas claves.
• En el caso de una unión externa de izquierda (el tipo de unión predeterminado de qsjoin), si un enfoque
secundario no contiene ningún registro que corresponda a un registro dado del enfoque primario,
qsjoin utiliza un registro nulo en su lugar.
• En el caso de una unión externa de izquierda (el tipo de unión predeterminado para qsjoin), si más
de un registro del enfoque primario tienen el mismo conjunto de claves, se unen copias de los registros
correspondientes (si los hay) de los enfoques secundarios con cada uno de estos registros.
• Si se utiliza la opción -onetoone, para cada conjunto de registros del enfoque primario que comparten
una combinación determinada de valores de campos clave, qsjoin intenta unir campos de registros
sucesivos de un enfoque secundario que comparten la misma combinación de valores de campos
clave, de forma tal que los registros coincidan uno a uno
Si, para una clave determinada, hay menos registros en un enfoque secundario que en un enfoque
primario, qsjoin utiliza registros nulos en lugar de perder registros del enfoque secundario.
Si, para una clave determinada, hay más registros en un enfoque secundario que en un enfoque
primario, qsjoin utiliza los registros excedentes del enfoque secundario como no coincidentes. Si se
utiliza la opción -unmatched, qsjoin preserva estos registros en un enfoque de salida alternativo.
• Si, de alguna otra manera, la operación de unión da por resultado nombres de campo duplicados,
qsjoin cambiará el nombre de los campos según sea necesario al agregarles sufijos numéricos.
88
Portrait Miner 7.1
Capítulo 6: Comandos para combinar enfoques
• Si se especifica un enfoque de destino, este comparte datos subyacentes con el enfoque primario
(pero independientemente del enfoque secundario).
• Al hacer coincidir los registros, qsjoin generalmente trata a cada caso del valor nulo de un campo
clave como un valor nuevo y diferente: un registro con el valor nulo de un campo clave nunca
corresponde a un registro de otro enfoque. Se puede anular este comportamiento mediante el uso
de la opción -equalnulls.
• En el caso de la compatibilidad con versiones anteriores, si se especifica solo un enfoque secundario
y se utiliza la opción -match o -unmatched, el nombre del enfoque secundario no se utiliza para
nombrar el campo de coincidencia ni el enfoque de salida alternativo.
• Utilizando Portrait Miner, se puede acceder a la mayoría de las funciones de qsjoin mediante el
asistente Unir campos con el enfoque. .
Ejemplos
Crear un enfoque RetailAprilAnalysis1.ftr combinando registros de los enfoques
RetailCustApril.ftr y RetailAggregationsApril.ftr:
qsjoin -input RetailCustApril.ftr -join RetailAggregationsApril.ftr
-keys CustomerID -output RetailAprilAnalysis1.ftr
Otra opción es agregar solo los campos numberPurchases y totalAmount del enfoque
RetailAggregationsApril.ftr:
qsjoin -fields numberPurchases,totalAmount
-input RetailCustApril.ftr -join RetailAggregationsApril.ftr
-keys CustomerID -output RetailAprilAnalysis2.ftr
Crear el enfoque RetailAprilAnalysis3.ftr combinando registros de los enfoques
RetailCustApril.ftr, RetailAggregationsApril.ftr, y RetailAggregationsMay.ftr:
qsjoin -input RetailCustApril.ftr -join RetailAggregationsApril.ftr
-join RetailAggregationsMay.ftr
-keys CustomerID -output RetailAprilAnalysis3.ftr
Repetir el paso anterior y escribir cualquier registro de transacción sin coincidencia en el enfoque
unmatchedRetailAggregationsApril.ftr o unmatchedRetailAggregationsMay.ftr:
qsjoin -unmatched unmatched
-input RetailCustApril.ftr -join RetailAggregationsApril.ftr
-join RetailAggregationsMay.ftr
-keys CustomerID -output RetailAprilAnalysis4.ftr
Repetir el paso anterior, uniendo solamente un subconjunto de los campos de los enfoques secundarios:
qsjoin -unmatched unmatched
-input RetailCustApril.ftr
-join RetailAggregationsApril.ftr
-fields numberPurchasesApr,totalAmountApr
-join RetailAggregationsMay.ftr
-fields numberPurchasesMay,totalAmountMay
-keys CustomerID -output RetailAprilAnalysis5.ftr
También consulte
qsmerge en la página 90
Guía de referencia del comando de creación de datos y TML
89
qsmerge
qsmerge
Sinopsis qsmerge
-input <enfoque primario> [-subfocus <subenfoque>]
{-keys <campo clave> [, <campo clave>] [, <campo clave>] | -key @<archivo
clave>}
[-equalnulls]
-output <enfoque de destino> [-force]
[-nodups]
-merge <enfoque secundario> [ -subfocus <subenfoque>][-merge <enfoque
secundario> [ -subfocus <subenfoque>] ...]
Descripción Combina registros de los enfoques primarios y secundarios al intercalarlos para crear el
enfoque de destino, de manera tal que se mantengan ordenados según los campos clave [consulte
qssort en la página 62].
Argumentos opcionales
Opción
Efecto
-equalnulls
Al hacer una prueba para detectar claves
duplicadas, trate el valor null de un campo clave
como un valor ordinario (es decir, considere a todos
los casos del valor nulo como iguales entre ellos,
pero diferentes a todos los otros valores).
-force
Consulte la La opción de línea de comandos
-force en la página 24.
-nodups
Evite duplicar valores de campos clave: si dos o
más registros comparten valores de campos clave,
retenga el primero de esos registros del primer
enfoque para contener dicho registro (tratando los
enfoques en el siguiente orden: primario,
secundario mencionado en primer lugar, etc.);
descarte el resto de los registros que tienen los
mismos valores de campos clave.
-subfocus <subenfoque>
Utilice los subenfoques especificados del enfoque
primario o secundario mencionado en último lugar
en la línea de comando (mediante el uso de
-input o -merge).
Además de estas opciones de línea de comando, qsmerge acepta las opciones comunes a todos los
comandos de creación de datos [consulte Opciones estándar de la línea de comandos en la página
21].
90
Portrait Miner 7.1
Capítulo 6: Comandos para combinar enfoques
Nota: • Los enfoques primarios y secundarios deben estar clasificados según los campos clave [consulte
qssort en la página 62]. Si los enfoques no están clasificados de forma apropiada, se produce
una falla en qsmerge y se envía un mensaje de error a tal efecto.
• Los campos correspondientes en los enfoques primarios y secundarios (identificados por
nombre) deben ser exactamente del mismo tipo, pero no necesariamente deben estar ordenados
de la misma manera.
• El enfoque de destino contiene el mismo conjunto de campos que el enfoque primario, ordenado
de la misma manera. Si un enfoque secundario contiene campos que no están en el enfoque
primario, qsmerge los ignora. Si el enfoque primario contiene campos que no están en un
enfoque secundario, qsmerge utiliza el valor nulo en el lugar de los valores que faltan en el
enfoque secundario.
• Si dos o más registros comparten los mismos valores de campos clave, aquellos del enfoque
primario aparecen primero en el enfoque de destino, seguidos por aquellos de cada enfoque
secundario de a uno a la vez. A menos que se utilice la opción -nodups, la operación de
combinación no elimina ningún registro que tenga claves duplicadas.
• Al utilizar el mismo enfoque dos veces en la línea de comando, como argumento tanto para
-input como para -merge, y utilizar la opción -nodups, se puede utilizar qsmerge para
eliminar registros que tienen valores clave duplicados de un enfoque.
• El enfoque de destino es independiente de los enfoques primario y secundario, es decir que
no comparten datos subyacentes.
• Al ordenar los registros o realizar pruebas para detectar claves duplicadas, qsmerge trata al
valor nulo de un campo clave como un valor nuevo y distinto: un registro con el valor nulo de
un campo clave nunca corresponde a un registro de otro enfoque. Se puede anular este
comportamiento mediante el uso de la opción -equalnulls.
• Al utilizar Portrait Miner, se puede acceder a la mayoría de las funciones de qsmerge mediante
el cuadro de diálogo Combinar registros. .
• Si los enfoques combinados contienen tipos de datos heredados, en el enfoque de salida los
tipos heredados se convierten en el tipo de dato admitido más apropiado.
Si se produce un error en la conversión debido a que el tipo de dato no tiene almacenamiento
suficiente, en lugar de que se trunque el contenido, el campo contendrá el valor null. En este
caso, aparece un mensaje de resumen que muestra el campo afectado y la cantidad de entradas
al momento de la finalización.
• Para combinar dos enfoques, los campos que se combinarán deben incluir tipos de datos
compatibles.
Ejemplos
Crear un enfoque, RetailTransAprilMayJune.ftr, que contenga todos los registros de los enfoques
RetailTransAprilSorted.ftr, RetailTransMaySorted.ftr y RetailTransJuneSorted.ftr:
qsmerge -input RetailTransAprilSorted.ftr
-merge RetailTransMaySorted.ftr
-merge RetailTransJuneSorted.ftr
-keys CustomerID -output RetailTransAprilMayJune.ftr
Otra opción es incluir solo los registros del enfoque RetailTransAprilSorted.ftr, cuyos valores
clave también aparecen en el enfoque RetailTransMaySorted.ftr:
qsmerge -nodups
-input RetailTransAprilSorted.ftr
Guía de referencia del comando de creación de datos y TML
91
qsmerge
-merge RetailTransMaySorted.ftr
-keys CustomerID -output RetailTransAprilMayNodups.ftr
También consulte
qsjoin en la página 86
92
Portrait Miner 7.1
Capítulo
Comandos para administrar
enfoques
En esta sección:
•
•
•
•
•
•
qscopy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .94
qslink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .95
qsmove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .95
qsremove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .96
qsarchive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .97
qsunzip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .98
7
qscopy
qscopy
Sinopsis qscopy -from <enfoque de origen>
{-to <enfoque de destino> | -to <directorio>} [-force]
Descripción: Copiar el enfoque de origen al enfoque de destino o a un enfoque en el directorio
especificado (preservando el nombre del enfoque de origen). Copiar los datos subyacentes para que
el nuevo enfoque sea independiente de demás enfoques.
Argumentos opcionales
Opción
Efecto
-force
Consulte la La opción de línea de comandos
-force en la página 24.
Además de esta opción de línea de comandos, qscopy acepta las opciones comunes a todos los
comandos de creación de datos [consulte Opciones estándar de la línea de comandos en la página
21].
Debido a la independencia potencial de los enfoques, no debe intentar copiar un
enfoque mediante utilidades estándares del sistema operativo. En cambio, siempre
debe utilizar qscopy o qslink (o Portrait Miner).
Nota: • Si intenta copiar un enfoque sobre un enfoque existente, qscopy emite una advertencia y no
hace nada más.
• Para crear un copia enlazada de un enfoque, en la que la copia comparta los datos subyacentes
con el enfoque original, debe utilizar qslink.
• Para crear una copia de un enfoque, o de un subconjunto de un enfoque, sin incluir metadata
, debe utilizar qsimportfocus.
• También puede acceder a las funcionalidades de qscopy mediante Portrait Miner .
Ejemplo
Crear un nuevo enfoque, RetailArchiveMay.ftr, y guardar los resultados de la sesión de análisis
de mayo en el enfoque RetailAnalysisMay.ftr:
qscopy -from RetailAnalysisMay.ftr -to RetailArchiveMay.ftr
También consulte
qsmove en la página 95
qsremove en la página 96
94
Portrait Miner 7.1
Capítulo 7: Comandos para administrar enfoques
qslink
Sinopsis qslink -from <enfoque de origen>
{-to <enfoque de destino> | -to <directorio>} [-force]
Descripción: Copiar el enfoque de origen al enfoque de destino o a un enfoque en el directorio
especificado (preservando el nombre del enfoque de origen). Compartir los datos subyacentes con el
enfoque original. (El nuevo enfoque es dependiente del enfoque original).
Argumentos opcionales
Opción
Efecto
-force
Consulte la La opción de línea de comandos
-force en la página 24.
Además de esta opción de línea de comandos, qslink acepta las opciones comunes a todos los
comandos de creación de datos [consulte Opciones estándar de la línea de comandos en la página
21].
Nota: • Si intenta copiar un enfoque sobre un enfoque existente, qslink emite una advertencia y no
hace nada más.
• Para crear una copia independiente de un enfoque, en la que la copia no comparta los datos
subyacentes con el enfoque original, debe utilizar qscopy.
• También puede acceder a las funcionalidades de qslink mediante Portrait Miner .
Ejemplo
Crear un enfoque RetailLoyaltyProjectMay.ftr, que comparte datos subyacentes con el enfoque
RetailAnalysisMay.ftr:
qslink -from RetailAnalysisMay.ftr
-to RetailLoyaltyProjectMay.ftr
También consulte
qsimportfocus en la página 52
qsmove en la página 95
qsremove en la página 96
qsmove
Sinopsis qsmove -from <enfoque de origen>
-to {,<enfoque de destino> | <directorio>,}
Guía de referencia del comando de creación de datos y TML
95
qsremove
Descripción: Renombrar el enfoque de origen como enfoque de destino o mover el enfoque de origen
al directorio especificado, teniendo en cuenta posibles dependencias de los datos.
Argumentos opcionales Además de los argumentos requeridos, qscopy acepta las opciones comunes
a todos los comandos de creación de datos [consulte Opciones estándar de la línea de comandos
en la página 21].
Nota: • Si se intenta renombrar o mover un enfoque por encima de un enfoque existente, qsmove
emitirá una advertencia y no realizará ninguna operación.
• También se puede acceder a la función de qsmove mediante Portrait Miner .
Debido a la posible interdependencia de los datos de los enfoques, no se debe
intentar renombrar o mover un enfoque con utilidades estándares del sistema
operativo. En su lugar, siempre se debe utilizar qsmove (o Portrait Miner).
Ejemplos
Renombrar el enfoque RetailTransAprilSorted.ftr como RetailTransAprilSort.ftr:
qsmove -from RetailTransAprilSorted.ftr
-to RetailTransAprilSort.ftr
Mover el enfoque RetailArchiveMay.ftr al directorio Retail:
qsmove -from RetailArchiveMay.ftr -to Retail
También consulte
qscopy en la página 94
qslink en la página 95
qsremove en la página 96
qsremove
Sinopsis qsremove -focus <archivo de enfoque>
[-focus <archivo de enfoque> ...]
[-force]
[-recursive]
Descripción: Eliminar uno o más archivos de enfoque, teniendo en cuenta las posibles dependencias
de datos.
Argumentos opcionales
96
Opción
Efecto
-force
Ignorar los errores provocados por la incapacidad
de actualizar enlaces relacionados con los
enfoques.
Portrait Miner 7.1
Capítulo 7: Comandos para administrar enfoques
Opción
Efecto
-recursive
Eliminar el enfoque y todos los enfoques
dependientes.
Además de estas opciones de línea de comandos, qsremove acepta las opciones comunes a todos
los comandos de creación de datos [consulte Opciones estándar de la línea de comandos en la
página 21].
Debido a la posible interdependencia de los datos de los enfoques, no se debe
intentar eliminar un enfoque con utilidades estándares del sistema operativo. En
su lugar, siempre se debe utilizar qsremove (o Portrait Miner).
Nota: • Si existe una dependencia circular en la cadena o la cadena de enfoque principal no se puede
escribir, se mostrará un error. En tal caso, se debe utilizar -force y -recursive para eliminar
el enfoque.
• Si se utiliza más de un argumento -focus y qsremove no puede eliminar uno de los enfoques,
continuará eliminando los enfoques posteriores (pero emitirá un mensaje de error y devolverá
un estado que no será cero al salir).
• Eliminar un enfoque con qsremove no será posible si no se tiene permiso de escritura para
el archivo de enfoque .ftr.
• Tras eliminar un enfoque con qsremove, es posible que quede una copia de seguridad del
archivo .ftr. Se puede eliminar sin problemas como si lo hiciera con cualquier archivo.
• También se puede acceder a la función de qsremove mediante Portrait Miner .
Ejemplos
Eliminar el enfoque RetailTransApril6Months.ftr y todos los enfoques dependientes:
qsremove -focus RetailTransApril6Months.ftr
Eliminar dos enfoques RetailTransAprilCA.ftr y RetailTransApril2Customers.ftr:
qsremove -focus RetailTransAprilCA.ftr
-focus RetailTransApril2Customers.ftr
También consulte
qscopy en la página 94
qslink en la página 95
qsmove en la página 95
qsarchive
Sinopsis qsarchive -input <enfoque o carpeta>
[, -input <enfoque o carpeta> ...]-output <archivo de archivo>
Guía de referencia del comando de creación de datos y TML
97
qsunzip
Descripción: Crear un archivo de archivo de una lista de enfoques o carpetas.
Argumentos opcionales: además de los argumentos requeridos, qsarchive acepta las opciones
comunes de todos los comandos de creación de datos [consulte Opciones estándar de la línea de
comandos en la página 21].
Nota: • Si crea un archivo de archivos a partir de una carpeta que contiene enfoques enlazados a
datos fuera de la carpeta, los datos externos se copiarán en el archivo.
• Se puede acceder a la mayoría de las funciones del comando de creación de datos qsarchive
al utilizar el cuadro de diálogo Archivar de Portrait Miner.
Ejemplo
Crear un archivo de archivo FirstQuarter.zip que comparta datos subyacentes con los enfoques
January.ftr, February.ftr y March.ftr:
qsarchive -input January.ftr -input February.ftr -input March.ftr
-output FirstQuarter.zip
También consulte
qsunzip en la página 98
qsunzip
Sinopsis qsunzip -input <archivo de archivo > [-output <directorio de salida>]
[-overwrite]
Descripción: Extraer archivos y carpetas de un archivo de archivo .
Argumentos opcionales
Opción
Efecto
-output <directorio de salida>
Extraer en el directorio alternativo donde está
ubicado el archivo de archivo . Si no se proporciona
una opción -output, los archivos y las carpetas
se extraerán al directorio actual.
-overwrite
Sobrescribe los archivos y las carpetas si se los
extrae a una ubicación que contiene el mismo
contenido que el archivo zip.
Además de estas opciones de línea de comando, qsunzip acepta las opciones comunes de todos los
comandos de creación de datos [consulte Opciones estándar de la línea de comandos en la página
21].
Nota: • Si no se utiliza la opción -overwrite y se extraen los archivos y las carpetas a una ubicación
que contiene los mismos archivos y carpetas de origen, se producirá un error en la extracción.
• Se puede acceder a la mayoría de las funciones del comando de creación de datos qsunzip
mediante el cuadro de diálogo Extraer de Portrait Miner.
98
Portrait Miner 7.1
Capítulo 7: Comandos para administrar enfoques
Ejemplo Extraer archivo s y carpetas del mismo archivo de archivo firstquarter.zip a la misma
ubicación que firstquarter.zip:
qsunzip -input firstquarter.zip
También consulte
qsarchive en la página 97
Guía de referencia del comando de creación de datos y TML
99
Capítulo
Comandos para elaborar
informes
En esta sección:
•
•
•
•
•
•
•
•
•
qssettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .102
qsaudit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .102
qsdescribe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .106
qsdescribestat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .107
qshtmlunpack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .108
qsdtsnapshot, qsscsnapshot . . . . . . . . . . . . . . . . . . . . .109
qsxt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .112
qsinfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .113
qsdescribelicense . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .114
8
qssettings
qssettings
Sinopsis qssettings [<property>=<valor> ...]
Descripción: establezca el valor de cada propiedad enumerada para controlar aspectos de la salida
de los comandos que generan informes qsaudit, qsdtsnapshot y qsscsnapshot.
Puede establecer los valores de las siguientes propiedades:
• DateFormat, donde 0 corresponde a europeo, 1 corresponde a americano y 2 corresponde a AMD
• NumDecimalPlaces
• StripTrailingZeroes
• ThousandSeparators
• TwelveHour
Argumentos opcionales Además de los argumentos necesarios, qssettings acepta las opciones
comunes a todos los comandos de creación de datos [consultar Opciones estándar de la línea de
comandos en la página 21].
Nota: El comando qssettings crea o modifica el archivo settings.xml en su directorio de
configuración, específico según el usuario, de Portrait Miner. Utilice este archivo en conjunto
con qsaudit, qsdtsnapshot, o qsscsnapshot especificando la opción Opciones estándar
de la línea de comandos en la página 21-settings [consultar ].
Ejemplo Cree un archivo de configuraciones para que muestre las fechas en formato YMD, hora en
formato de 12 horas y números con ceros posteriores, en cuatro posiciones decimales y un separador
de miles específico según el lugar:
qssettings DateFormat=2 TwelveHour=true StripTrailingZeroes=false
NumDecimalPlaces=4 ThousandSeparators=true
También consulte
Formatos de fecha en la página 55 qsaudit en la página 102 qsdtsnapshot, qsscsnapshot en la
página 109
qsaudit
Sinopsis qsaudit [-generate Full]
-input <enfoque> [-subfocus <subenfoque>]
[-reference <informe HTML archivado> | -reference <informe XML archivado>]
-output <informe HTML archivado>
-fields <campo> [, <campo> ...] | -fields @<archivo de campos> | -tags
<etiqueta> [, <etiqueta> ...]]
102
Portrait Miner 7.1
Capítulo 8: Comandos para elaborar informes
-xfields <campo> [, <campo> ...] | -xfields @<archivo de campos> | -xtags
<etiqueta> [, <etiqueta> ...]]
[-records <expresión FDL> | -records @<archivo FDL>]
[-targets <campo> [, <campo> ...] | -targets @<archivo de campos> | -notarget]
[-overwrite]
[-htmlimages largepng | -htmlimages smallpng | -htmlimages svg | -htmlimages
none]
[-paginate]
[-nopartition]
-partitionfield <campo>
qsaudit -generate XML
-input <enfoque> [-subfocus <subenfoque>]
[-reference <informe HTML archivado> | -reference <informe XML archivado>]
-output <informe XML archivado>
-fields <campo> [, <campo> ...] | -fields @<archivo de campos> | -tags
<etiqueta> [, <etiqueta> ...]]
-xfields <campo> [, <campo> ...] | -xfields @<archivo de campos> | -xtags
<etiqueta> [, <etiqueta> ...]]
[-records <expresión FDL> | -records @<archivo FDL>]
[-targets <campo> [, <campo> ...] | -targets @<archivo de campos> | -notarget]
[-overwrite]
[-nopartition]
[-partitionfield <campo>] qsaudit -generate HTML
{-input <informe HTML archivado> | -input <informe XML archivado>}
-output <informe HTML archivado>
[-overwrite]
[-htmlimages largepng | -htmlimages smallpng | -htmlimages svg | -htmlimages
none] [-paginate]
Descripción: crea un informe de Perfil y Auditoría en el enfoque especificado, o un informe de
comparación que describa las diferencias entre el enfoque especificado y el enfoque descripto en un
informe de referencia (con la opción -reference). De manera predeterminada, realizar una auditoría
de todos los campos del enfoque, en relación con el objetivo del enfoque, si es que lo hay. Este es un
proceso de dos etapas: primero, el comando genera un archivo XML intermedio (empaquetado en un
archivo .qsxml), y luego, a partir de este archivo intermedio, crea el informe con formato HTML terminado
(empaquetado en un archivo .qshtml).
Guía de referencia del comando de creación de datos y TML
103
qsaudit
Opcionalmente puede crear solamente el archivo intermedio .qsxml o el archivo .qshtml a partir de
un archivo .qshtml o .qsxml preexistente.
Para descomprimir archivos .qshtml y .qsxml, visualizarlos o reutilizarlos fuera de Portrait Miner,
utilice qshtmlunpack.
Argumentos opcionales
Opción
Efecto
-fields <campo> [, <campo> ...]
Realice una auditoría sólo sobre los campos
especificados (excepto los campos excluidos con
-xfields).
-fields @<archivo de campos>
Realice una auditoría sólo sobre los campos
enumerados (uno por línea) en el archivo de
campos.
-generate HTML
Crea un informe HTML a partir de un informe XML
o HTML.
-generate Full
Crea un informe HTML directamente
(predeterminado si usted no especifica una opción
-generate).
-generate XML
Crea un informe XML .
-htmlimages largepng
Incluye imágenes PNG de mapa de bits y SVG
optimizadas para imprimir y para ver en pantalla.
-htmlimages none
No incluye ninguna imagen.
-htmlimages smallpng
Incluye imágenes PNG de mapa de bits y SVG
optimizadas para pantalla (predeterminado si usted
no especifica una opción -htmlimages).
-htmlimages svg
Incluye solamente imágenes SVG.
-nopartition
Crea un perfil y auditoría no uplift, ignorando toda
interpretación de partición en el enfoque.
-notarget
No realiza auditorías sobre campos relacionados
con campos objetivo, aunque el enfoque tenga un
objetivo.
-overwrite
Sobrescribe cualquier informe preexistente.
De lo contrario, si ya hay un informe con el mismo
nombre, qsaudit emite una advertencia y no hace
nada más.
104
-paginate
Crea una página HTML individual para cada campo
auditado.
-partitionfield <campo>
Usar el campo especificado como el campo de
partición.
Portrait Miner 7.1
Capítulo 8: Comandos para elaborar informes
Opción
Efecto
-records <expresión FDL>
Informa solamente los registros en los cuales la
expresión FDL numérica no es cero ("verdadero").
-records @<archivo FDL>
Informa solamente los registros en los cuales la
expresión FDL en el campo especificado no es
cero ("verdadero").
-reference <informe HTML archivado>
Utiliza el informe HTML creado anteriormente y
archivado como informe de referencia y crea un
informe comparativo.
-subfocus <subenfoque>
Usar el subenfoque especificado del enfoque.
-tags <etiqueta> [, <etiqueta> ...]
Audita solamente los campos que tienen las
etiquetas especificadas (excepto cualquier campo
excluido con -xtags).
-targets <campo> [, <campo> ...]
Audita campos en el enfoque en relación con los
campos objetivo especificados, en lugar del
enfoque objetivo.
-targets @<archivo de campos>
Audita campos en el enfoque en relación con los
campos objetivo enumerados (uno por línea) en el
archivo de campos.
-xfields <campo> [, <campo> ...]
No audita los campos especificados.
-xfields @<archivo de campos>
No audita los campos enumerados (uno por línea)
en el archivo de campos.
-xtags <etiqueta> [, <etiqueta> ...]
No audita los campos que tienen las etiquetas
especificadas.
Además de estas opciones de líneas de comandos, qsaudit acepta la opción -settings, como también
opciones comunes para todos los comandos de creación de datos [consultar Opciones estándar de
la línea de comandos en la página 21].
Nota: • De manera predeterminada, un informe de comparación incluye los mismos campos que el
informe de referencia. Si selecciona explícitamente los campos por incluir en el informe de
comparación (con la opción -fields), se agregarán a los campos que ya tienen un perfil.
• Un informe de comparación utiliza los mismos campos objetivo que el informe de referencia.
Los campos objetivos especificados explícitamente son ignorados.
• Las opciones adicionales de formato de informes están disponibles a través de las preferencias
de Auditorías y Fotos (consultar la Ayuda de Portrait Miner).
• Si no incluye una opción de objetivo y -target, qsaudit no podrá auditar el enfoque.
• Con Portrait Miner, puede acceder a la mayoría de las funciones de qsaudit mediante el
cuadro de diálogo Crear perfil y auditar. .
Ejemplos
Guía de referencia del comando de creación de datos y TML
105
qsdescribe
Crear un nuevo Perfil y auditoría RetailCustApril.qshtml desde el enfoque
RetailCustApril.ftr:
qsaudit -input RetailCustApril.ftr -output RetailCustApril.qshtml
Crear un nuevo Perfil y auditoría RetailCustMay.qshtml desde el enfoque RetailCustMay.ftr,
auditando todos los campos por Age:
qsaudit -targets Age -input RetailCustMay.ftr
-output RetailCustMay.qshtml
Sobrescribir para crear un Perfil y auditoría en el cual cada auditoría de campo se encuentre en una
página HTML independiente:
qsaudit -paginate -targets Age -overwrite -input RetailCustMay.ftr
-output RetailCustMay.qshtml
Crear un Perfil y auditoría RetailCustAprilnoimages.qshtml sin imágenes, desde el enfoque
RetailCustApril.ftr, solamente para los campos StartDate, Age, and Gender:
qsaudit -fields "StartDate, Age, Gender" -htmlimages none
-input RetailCustApril.ftr
-output RetailCustAprilnoimages.qshtml
Crear nuevamente la salida HTML, con una página HTML distinta por cada campo auditado (y sin recrear
los datos subyacentes de auditoría):
qsaudit -generate HTML -paginate
-input RetailCustApril.qshtml
-output RetailCustAprilpaginate.qshtml
Crear un informe de comparación RetailCustMayApril.qshtml a partir del enfoque
RetailCustMay.ftr comparado con el informe de referenciaRetailCustApril.qshtml:
qsaudit -reference RetailCustApril.qshtml
-input RetailCustMay.ftr -output RetailCustMayApril.qshtml
También consulte
XML en Portrait Miner en la página 342 qsdescribe en la página 106 qsdtsnapshot, qsscsnapshot en
la página 109 qssettings en la página 102
qsdescribe
Sinopsis qsdescribe
-input <enfoque de origen> [-subfocus <subenfoque>]
[-output <archivo de informe>]
[-fields [-detail]]
Descripción: Muestra información resumida sobre el enfoque, como texto sin formato, inclusive la
cantidad de campos y registros y el historial del enfoque.
Argumentos opcionales
106
Portrait Miner 7.1
Capítulo 8: Comandos para elaborar informes
Opción
Efecto
-detail
Brinda información más detallada de los campos
del enfoque, inclusive estadísticas de campos,
expresiones de derivación y semillas para campos
derivados.
-fields
Brinda información sobre cada uno de los campos
del enfoque.
-output <archivo de informe>
Escribe el informe en el archivo especificado, en
lugar de la salida estándar.
-subfocus <subenfoque>
Usar el subenfoque especificado del enfoque de
origen.
Además de estas opciones de la línea de comandos, qsdescribe acepta las opciones comunes a todos
los comandos de creación de datos [consultar Opciones estándar de la línea de comandos en la
página 21].
Nota: • De manera predeterminada, qsdescribe informa sobre toda la jerarquía de subenfoques dentro
de un enfoque. Si utiliza la opción -subfocus, qsdescribe informa solamente sobre el
subenfoque que usted especifique.
• Con Portrait Miner, podrá acceder a la mayoría de las funciones de qsdescribe a través del
cuadro de diálogo Mostrar información de enfoque .
Ejemplos
Informar la cantidad de campos, registros y el historial del enfoque RetailCustApril.ftr:
qsdescribe -input RetailCustApril.ftr
Además, podrá informar los nombres y tipos de campos:
qsdescribe -fields -input RetailCustApril.ftr
Finalmente, podrá informar las estadísticas, selecciones, los comentarios y las derivaciones de los
campos:
qsdescribe -detail -fields -input RetailCustApril.ftr
También consulte
qsaudit en la página 102
qssettings en la página 102
qsdescribestat
Sinopsis qsdescribestat -input <conjunto de datos de origen>
[-output <archivo de informe>]
[-type <tipo de conjunto de datos>]
Guía de referencia del comando de creación de datos y TML
107
qshtmlunpack
[-detail]
Descripción: Mostrar una lista de los nombres de campo en un conjunto de datos de origen de terceros,
en formato de texto plano. Los conjuntos de datos SAS, SPSS y de Excel son algunos de los conjuntos
admitidos (consulte http://support.quadstone.com/info/requirements/ para obtener una lista detallada).
Argumentos opcionales
Opción
Efecto
-detail
Enumerar los tipos de datos de campo junto con
sus nombres.
-output <archivo de informe>
Escribe el informe en el archivo especificado, en
lugar de la salida estándar.
-type <tipo de conjunto de datos>
Interpretar el conjunto de datos de origen como el
tipo de conjunto de datos especificado, y anular la
interpretación por defecto (que depende de la
extensión del archivo). Los tipos de conjuntos de
datos válidos incluyen sas, spss y excel; para
consultar una lista completa, utilice la opción -help.
Además de estas opciones de línea de comandos, qsdescribestat acepta las opciones comunes a
todos los comandos de creación de datos [consulte Opciones estándar de la línea de comandos en
la página 21].
Ejemplos
Informar los nombres de campos de los conjuntos de datos SAS RetailCustApril.sas7bdat:
qsdescribestat -input RetailCustApril.sas7bdat
Además, informar los tipos de campos:
qsdescribestat -detail -input RetailCustApril.sas7bdat
También consulte
qsexportstat en la página 50
qsimportstat en la página 48
qshtmlunpack
Sinopsis qshtmlunpack <informe archivado> <directorio de salida> [<nombre de
archivo HTML>]
Descripción: descomprimir un informe generado por Portrait Miner como archivo .qshtml o .qsxmly
crear el directorio de salida especificado que contenga los componentes del informe. En el caso de un
informe HTML archivado, el archivo HTML (dentro del directorio de salida) recibe de manera
predeterminada el nombre qsreport.html.
Argumentos opcionales
108
Portrait Miner 7.1
Capítulo 8: Comandos para elaborar informes
Opción
Efecto
<nombre de archivo HTML>
Utilizar este nombre de archivo para el archivo
HTML en un informe HTML sin descomprimir, en
lugar de qsreport.html.
Al descomprimir un informe XML archivado,
qshtmlunpack ignora este argumento.
Nota: Con Portrait Miner puede acceder a la mayoría de las funciones de qshtmlunpack a través
de la opción del botón secundario del mouse Descomprimir a carpeta.
Ejemplo
Descomprimir el archivo RetailCustApril.qshtml como Perfil y Auditoría HTML
RetailCustApril.html en el subdirectorio www:
qshtmlunpack RetailCustApril.qshtml www RetailCustApril.html
También consulte
qsaudit en la página 102
qsdtsnapshot, qsscsnapshot en la página 109
qsdtsnapshot, qsscsnapshot
Sinopsis
{qsdtsnapshot -input <árbol de decisión> | qsscsnapshot -input <cuadro de
mando>} [-generate Full]
-output <informe HTML archivado>
[-focus <enfoque> [-subfocus<subenfoque>]]
[-audit modeled | -audit all | -audit none]
[-description <archivo de texto>]
[-overwrite]
[-htmlimages largepng | -htmlimages smallpng | -htmlimages svg | -htmlimages
none]
{qsdtsnapshot -input <árbol de decisión> | qsscsnapshot -input <cuadro de
mando>}
-generate XML
-output <informe XML archivado>
[-focus <enfoque> [-subfocus<subenfoque>]]
[-audit modeled | -audit all | -audit none]
Guía de referencia del comando de creación de datos y TML
109
qsdtsnapshot, qsscsnapshot
[-overwrite]
[-htmlimages largepng | -htmlimages smallpng | -htmlimages svg | -htmlimages
none]
{qsdtsnapshot | qsscsnapshot}
-generate HTML
{-input <informe HTML archivado> | -input <informe XML archivado>}
-output <informe HTML archivado>
[-description <archivo de texto>
[-overwrite]
[-htmlimages largepng | -htmlimages smallpng | -htmlimages svg | -htmlimages
none]
Descripción: crear una foto de modelo del árbol de decisión especificado (archivo .qsdt) o cuadro de
mando (archivo .qssc). De manera predeterminada, auditar todos los campos utilizados en el modelo.
Este es un proceso de dos etapas: primero, el comando genera un archivo XML intermedio (empaquetado
en un archivo .qsxml), y luego, a partir de este archivo intermedio, crea el informe con formato HTML
terminado (empaquetado en un archivo .qshtml).
Opcionalmente puede crear solamente el archivo intermedio .qsxml o el archivo .qshtml a partir de
un archivo .qshtml o .qsxml preexistente.
Para descomprimir archivos .qshtml y .qsxml, visualizarlos o reutilizarlos fuera de Portrait Miner,
utilice qshtmlunpack.
Argumentos opcionales
110
Opción
Efecto
-audit all
Audita todos los campos del enfoque.
-audit modeled
Audita los campos utilizados en el modelo (los
predeterminados si no especifica una opción de
-audit).
-audit none
No audita ningún campo.
-description <archivo de texto>
Incluye el contenido de este archivo de texto como
descripción del modelo en la sección "Metadatos
provistos por el usuario" del informe.
-focus <enfoque>
Informe del modelo según se lo aplica en el
enfoque especificado, en lugar de en el enfoque
utilizado para crear el modelo.
-generate HTML
Crea un informe HTML a partir de un informe XML
o HTML.
Portrait Miner 7.1
Capítulo 8: Comandos para elaborar informes
Opción
Efecto
-generate Full
Crea un informe HTML directamente
(predeterminado si usted no especifica una opción
-generate).
-generate XML
Crea un informe XML .
-htmlimages largepng
Incluye imágenes PNG de mapa de bits y SVG
optimizadas para imprimir y para ver en pantalla.
-htmlimages none
No incluye ninguna imagen.
-htmlimages smallpng
Incluye imágenes PNG de mapa de bits y SVG
optimizadas para pantalla (predeterminado si usted
no especifica una opción -htmlimages).
-htmlimages svg
Incluye solamente imágenes SVG.
-overwrite
Sobrescribe cualquier informe preexistente.
De lo contrario, si ya hay un informe con el mismo
nombre, qsdtsnapshot/qsscsnapshot emite
una advertencia y no hace nada más.
-subfocus <subenfoque>
Usar el subenfoque especificado del enfoque.
Además de estas opciones de líneas de comandos, qsdtsnapshot y qsscsnapshot aceptan la
opción -settings como también opciones comunes para todos los comandos de creación de datos
[consultar Opciones estándar de la línea de comandos en la página 21].
Nota: • Si no utiliza la opción -focus de todos modos debe existir el enfoque utilizado para crear el
modelo.
• Las opciones adicionales de formato de informes están disponibles a través de las preferencias
de auditorías y fotos (consultar la Ayuda de Portrait Miner).
• Con Portrait Miner, puede acceder a la mayoría de las funciones de qsdtsnapshot y
qsscsnapshot a través de la caja de diálogo Foto de árbol de decisión o Scorecard
Snapshot. .
Ejemplos
Crear una foto de modelo del archivo de árbol de decisión early-adopter-modelApril.qsdt,
creado en el enfoque RetailCustApril.ftr, y aplicado al mismo enfoque:
qsdtsnapshot -input early-adopter-modelApril.qsdt
-output early-adopter-modelApril.qshtml
Aplicar este modelo al enfoque RetailCustMay.ftr, pero esta vez auditar todos los campos, en lugar
de hacerlo sólo sobre aquellos que participaron en la definición del modelo:
qsdtsnapshot -focus RetailCustMay.ftr -audit all
-input early-adopter-modelApril.qsdt
-output early-adopter-modelMay.qshtml
También consulte
Guía de referencia del comando de creación de datos y TML
111
qsxt
XML en Portrait Miner en la página 342
qsaudit en la página 102
qssettings en la página 102
qsxt
Sinopsis qsxt -focus <enfoque> [-subfocus <subenfoque>]
[-spec <archivo de tabulación cruzada>] [-comparable]
[-output <archivo de tabulación cruzada>]
[-description <archivo de texto>]
Descripción: Aplica una especificación de tabulación cruzada (proporcionada por defecto a una entrada
estándar) al enfoque especificado para crear una nueva tabulación cruzada (por defecto a una salida
estándar).
Argumentos opcionales
Opción
Efecto
-comparable
Cuando sea pertinente, utilice rangos de la parte
resultante de la tabulación cruzada proporcionada
en lugar de rangos de la parte de especificación.
-description <archivo de texto>
Incluir el contenido de este archivo de texto como
una descripción de la tabulación cruzada.
-output <archivo de tabulación
cruzada>
Cree este archivo de tabulación cruzada en lugar
de escribir la salida estándar.
-spec <archivo de tabulación cruzada> Utilice este archivo de tabulación cruzada en lugar
de leer desde la entrada estándar.
-subfocus <subenfoque>
Usar el subenfoque especificado del enfoque.
Además de estas opciones de línea de comando, qsxt acepta las opciones comunes de todos los
comandos de creación de datos [consulte Opciones estándar de la línea de comandos en la página
21].
Nota: • En la tabulación cruzada de salida, qsxt crea rangos de cada campo mediante el uso de una
de las siguientes opciones (en orden de preferencia decreciente): un rango para el campo de
la especificación de tabulación cruzada proporcionada (o la parte resultante si se utiliza la
opción -comparable); un rango para el campo del enfoque proporcionado; los parámetros
de rango predeterminados, según lo configurado por las preferencias de rango (consulte la
Ayuda de Portrait Miner).
• Al utilizar Portrait Miner, puede acceder a la mayoría de las funciones de qsxt mediante el
cuadro de diálogo Aplicar tabulación cruzada. .
112
Portrait Miner 7.1
Capítulo 8: Comandos para elaborar informes
Ejemplos
Crear una nueva tabulación cruzada, ageGenderMay.qstv, desde el enfoque RetailCustMay.ftr,
mediante el uso del archivo de la especificación de tabulación cruzada ageGenderApril.qstv
(generado desde Decision Studio):
qsxt -focus RetailCustMay.ftr -spec ageGenderApril.qstv
-output ageGenderMay.qstv
Además, se puede usar el rango contenido en el archivo de tabulación cruzada ageGenderApril.qstv
para crear el resultado ageGenderMay-binbyApril.qstv:
qsxt -comparable -focus RetailCustMay.ftr -spec ageGenderApril.qstv
-output ageGenderMay-binbyApril.qstv
También consulte
Especificación de tabulación cruzada para qsxt en la página 353
qsinfo
Sinopsis qsinfo -input <enfoque de origen>
[-generate HTML | -generate XML]
[-output <archivo de informe>]
Descripción: Mostrar información en las ubicaciones y los tamaños de archivos que conforman el
enfoque de origen, incluidos todos los archivos de datos que se comparten con los demás enfoques.
Mostrar las relaciones entre el enfoque de origen con los demás enfoques (enumerar los enfoques que
dependen del de origen y aquellos de los que depende este último). Por defecto, debe escribir el informe
en la salida estándar en un formato de archivo basado en XML.
Argumentos opcionales
Opción
Efecto
-generate HTML
Crear el informe en formato HTML.
-generate XML
Crear el informe en un formato de archivo basado
en XML (el predeterminado si no se especifica una
opción -generate).
-output <archivo de informe>
Escribe el informe en el archivo especificado, en
lugar de la salida estándar.
Además de estas opciones de línea de comandos, qsinfo acepta las opciones comunes a todos los
comandos de creación de datos [consulte Opciones estándar de la línea de comandos en la página
21].
Nota: • Un enfoque se almacena en el disco como un archivo .ftr (el "archivo de enfoque") junto
con una colección de archivos de datos y otros en dos carpetas; sus nombres finalizan con
.rdx ("Raw Data eXtract") y .xtr ("eXTRa").
Guía de referencia del comando de creación de datos y TML
113
qsdescribelicense
Un nuevo enfoque que se crea al copiar un enfoque existente [consulte qscopy en la página
94] o al importar datos de otro tipo de base de datos es independiente de otros enfoques. Por
otro lado, un enfoque que se guarda desde Decision Studio con un nombre nuevo, o uno que
se crea al hacer una copia enlazada [consultar qslink en la página 95] es dependiente de las
carpetas de datos que pertenecen a otros enfoques.
• Al utilizar Portrait Miner, se puede acceder a la mayoría de las funcionalidades de qsinfo
a través del cuadro de diálogo Mostrar propiedades de enfoque .
Ejemplo
Crear un nuevo informe de propiedades de enfoque HTML RetailCustApril.html, del enfoque
RetailCustApril.ftr:
qsinfo -input RetailAprilAnalysis.ftr -generate HTML
-output RetailAprilAnalysis.html
También consulte
XML en Portrait Miner en la página 342
qsdescribelicense
Sinopsis qsdescribelicense
[-input <archivo de licencia>]
[-output <archivo de informe>]
Descripción: muestra un informe sobre la licencia instalada de Portrait Miner en formato de texto
plano.
Argumentos opcionales
Opción
Efecto
-input <archivo de licencia>
Realiza un informe sobre el archivo de licencia
especificado en lugar de un archivo sobre la
licencia instalada.
-output <archivo de informe>
Escribe el informe en el archivo especificado, en
lugar de la salida estándar.
Además de estas opciones de línea de comando, qsdescribelicense acepta las opciones comunes
de todos los comandos de creación de datos [consulte Opciones estándar de la línea de comandos
en la página 21].
Nota: El informe puede incluir los siguientes componentes:
• el nombre del titular de la licencia
• la dirección IP o subred para la que la licencia es válida
• el tamaño máximo de enfoque para el que la licencia es válida
114
Portrait Miner 7.1
Capítulo 8: Comandos para elaborar informes
• fecha de inicio y finalización de la licencia
• una lista de componentes de Portrait Miner para los cuales existe una licencia, con posibles
anulaciones por componente para la dirección/subred IP, tamaño máximo del enfoque y fechas
de validez
Ejemplo
Muestra las claves de licencia del archivo de licencia actual de Portrait Miner:
qsdescribelicense
Guía de referencia del comando de creación de datos y TML
115
Capítulo
Comandos para construir
modelos
En esta sección:
•
•
•
•
•
•
Acerca del Asistente de scorecard . . . . . . . . . . . . . . . . .118
qsscorecardwizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .119
qsdecisiontree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .125
qsscorecard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .126
Acerca del Asistente para reglas de asociación . . . . . .128
qsruleminer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .129
9
Acerca del Asistente de scorecard
Acerca del Asistente de scorecard
El Asistente de scorecard automatiza el modelado de scorecards utilizando metodología de mejores
prácticas: crea rangos optimizados, luego reducción variable y finalmente crea una secuencia de modelos
en datos de prueba y capacitación para establecer el mejor "tamaño de modelo". La metodología de
modelado consta de las siguientes etapas.
Metodología de prueba/capacitación Metodología de prueba/capacitación Una parte de los datos de
origen se usa para capacitación y otra parte para pruebas: esta división puede generarse aleatoriamente
o utilizando un campo indicador binario designado.
Rango optimizado Creación de rangos optimizados Los datos de capacitación se usan para seleccionar
rangos para cada candidato de análisis que maximiza su poder predictivo univariante comparado con
el objetivo.
En el caso de los campos no categóricos, se utiliza el asistente de rangos optimizados de forma iterativa
para elegir el mejor rango. El número de rangos se aumenta hasta que el número de "puntos de ajuste"
en el gráfico del valor objetivo promedio por rango excede a un umbral configurable (un "punto de ajuste"
es un cambio de signo en la curva de un gráfico). Intuitivamente, esto asegura que el perfil del valor
objetivo promedio como función de cada candidato de análisis sea relativamente "parejo", sin demasiados
altos y bajos.
Para campos categóricos, se combinan las categorías donde el valor objetivo promedio no es
significativamente diferente de la media general. Se usa una prueba de diferencia de medias estándar
[consulte significance en la página 177], con una corrección de Bonferroni aplicada en función del
número total de categorías, c, que aparecen para el campo. Así, todas las categorías que tienen el nivel
de confianza
están combinadas (con un importante umbral configurable).
Durante esta fase, los campos con una correlación sospechosamente alta al objetivo se excluyen de
futuros análisis (con un mensaje de advertencia). También se emite una advertencia para los campos
en los que cualquiera de los rangos individuales contiene un número pequeño de registros. Ambos
umbrales son configurables.
Reducción variable: La fase de reducción variable reduce el grupo de candidatos a análisis (predictores
independientes) de aquellos inicialmente marcados como un grupo más pequeño de n, a fin de disminuir
el tiempo de ejecución de la última fase de "encontrar el tamaño correcto".
El proceso divide los candidatos para análisis en grupos de hasta dos campos 2n y crea un cuadro de
mando (mediante el uso de datos de capacitación) en cada grupo, lo que elimina los peores campos
mediante una exclusión gradual hasta que queden los mejores campos n del grupo. Repitiendo este
procedimiento eventualmente se identifican los n mejores campos en general.
Ajuste al tamaño correcto: la fase de encontrar el tamaño correcto elige la scorecard que equilibra
mejor la complejidad (número de predictores) con la generalización (medida por el rendimiento del
conjunto de prueba). Los datos de capacitación se usan para crear una secuencia de n scorecards. El
primero contiene los n candidatos de análisis y cada modelo subsiguiente excluye al peor predictor.
Luego se evalúa el rendimiento de cada modelo con los datos de prueba y se elige el mejor modelo con
un criterio configurable. En el paso final, se reajustan los coeficientes de ponderación del modelo
seleccionado, basándose en todos los datos (es decir, tanto los datos de prueba como los de capacitación)
118
Portrait Miner 7.1
Capítulo 9: Comandos para construir modelos
a fin de mejorar la precisión. Si se desea pueden guardarse todos los modelos interinos junto con el
modelo final.
Resultados: Se generan (en forma opcional) diversos resultados, entre otros:
• Un informe HTML que resume cómo se aplicó la metodología, incluidos los parámetros de entrada y
los enlaces al registro de ejecución detallado. Esto incluye una tabla de datos de rendimiento que
puede graficarse fácilmente en Excel.
• El modelo final recomendado (en formatos .qssc y QMML ).
• Un informe de Foto de modelo para el modelo recomendado.
• El conjunto de datos final, incluidos los candidatos de análisis seleccionados, los rangos optimizados
y las predicciones de modelos. También pueden guardarse si se desea los conjuntos de datos
intermedios que contienen la metadata generada por la metodología hasta ese momento. Estos a
menudo resultan útiles para tener un informe detallado y explorar las decisiones que se tomaron
durante el proceso.
También consulte
qsscorecardwizard en la página 119
qsscorecardwizard
Sinopsis qsscorecardwizard <archivo de parámetros>
Descripción: Crear un cuadro de mando en un enfoque específico utilizando un archivo de parámetros.
Nota: También se puede acceder a la funcionalidad del comando de creación de datos
qsscorecardwizard mediante el cuadro de diálogo Asistente de Scorecard de Portrait
Miner.
Parámetros de modelado: el proceso de modelado realizado por qsscorecardwizard está controlado
por el archivo de parámetros que se especifica como argumento de línea de comando. Por ejemplo, en
el caso de un archivo denominado parameters.ini que contenga:
[globals]
inputFocus=D:/Data/DirectBank/DirectBank.ftr
objectiveField=CardVisa
xmlReport=D:/Data/DirectBank/DirectBank.xml
[variable reduction]
maxVariables=5
[model development]
finalModel=D:/Data/DirectBank/DirectBank_auto.qssc
finalFocus=D:/Data/DirectBank/DirectBank_auto_3rightsized.ftr
el siguiente comando
qsscorecardwizard parameters.ini
crearía un modelo de cuadro de mando DirectBank_auto.qssc junto con un nuevo enfoque
DirectBank_auto_3rightsized.ftr, y un nuevo informe de modelo DirectBank.xml.
El archivo de parámetros tiene un formato similar a un archivo .ini de Windows:
Guía de referencia del comando de creación de datos y TML
119
qsscorecardwizard
• Cada sección se indica con un título de sección encerrado entre corchetes, p. ej., [globals]. A
continuación se especifican los cuatro nombres de sección válidos.
• Los parámetros de cada sección se definen al escribir el nombre del parámetro, un signo igual y el
valor del parámetro, p. ej., maxBins = 20.
• En los nombres de los parámetros no se distingue entre mayúsculas y minúsculas, y se ignora el
espacio en blanco al principio y al final de cada línea.
• Se ignoran las líneas en blanco y las líneas que comienzan con los caracteres de comentario # o ;
(junto con un espacio en blanco opcional al comienzo de la línea).
Existen valores predeterminados para varios de los parámetros, que se pueden modificar en todo el
sitio o por usuario, pero siempre son anulados por los parámetros especificados en el archivo .ini de
la línea de comando. Si se especifica un valor de parámetro en cualquiera de las siguientes ubicaciones,
esto anula cualquier configuración de una ubicación anterior (donde <principalPM> es el directorio
de instalación de Portrait Miner):
• Las configuraciones estándar por defecto requeridas en
<pmhome>/ext/scorecardwizard/defaults.ini.
• Configuraciones por defecto opcionales de todo el sitio en
<pmhome>/ext/scorecardwizard/scorecardwizard.ini
• Configuraciones por defecto opcionales por usuario en
<pmhome>/shared/users/<user>@<domain>/scorecardwizard.ini
• El archivo de parámetros requerido especificado en la línea de comando.
Parámetros de la sección [globals]
120
Parámetro
Default
Descripción
(Predeterminada)
inputFocus
(obligatorio)
La ubicación del enfoque de entrada.
objectiveField (ninguno)
El nombre del campo objetivo. Obligatorio a menos que el
enfoque contenga una interpretación de objetivo. Si está
establecida, esta configuración anula cualquier interpretación
de enfoque.
useFields
(ninguno)
Una lista separada por comas de los campos de candidatos
para análisis. Si está establecido, se ignora cualquier
interpretación de candidato para análisis del enfoque.
ignoreFields
(ninguno)
Una lista de campos separada por comas para excluir de la
lista de candidatos para análisis.
testTrainingField (ninguno)
El campo para utilizar como el indicador de capacitación de
prueba. El campo debe ser un campo numérico binario en el
que 1 indica datos de capacitación y 0 indica prueba. Si no
está establecido, se generará automáticamente una división.
Portrait Miner 7.1
Capítulo 9: Comandos para construir modelos
Parámetro
Default
Descripción
(Predeterminada)
trainingProportion 0.5
La proporción de registros (entre 0 y 1) para seleccionar para
la capacitación, excepto que testTrainingField esté
especificado.
randomSeed
(ninguno)
La semilla aleatoria que se utilizará. Si no está establecida,
se generará automáticamente una semilla aleatoria. Se puede
replicar una ejecución anterior al utilizar la semilla informada
por esa ejecución (en la sección "parameters").
verbose
false
Establecer en verdadero (true) para obtener información
adicional de diagnóstico en el registro de consola. Este detalle
adicional siempre está registrado en el registro de archivos;
consulte logFile.
logFile
(automático)
La ubicación para registrar el progreso de la ejecución. Si no
se especifica lo contrario, el registro se crea en
<params>-<YYYY-mm-dd-HH-MM-SS>.log al lado del
archivo de parámetros <params>.ini especificado en la
línea de comandos. (Cuando se ejecuta a través de Portrait
Miner, el registro se crea en
<pmhome>/shared/logs/qsscorecardwizard-<user>-<YYYY-mm-dd-HH-MM-SS>.log.)
xmlReport
(automático)
La ubicación para crear el informe de resumen XML. De forma
predeterminada, el informe se guarda en
<params>_report.xml al lado del archivo de parámetros
<params>.ini especificado en la línea de comandos.
Parámetros de la sección [optimized binning]
Parámetro
Default (Predeterminada)
Descripción
doOptimizedBinning
true
Establecer en falso para saltear
los rangos optimizados.
minBinSize
0
La cantidad mínima de registros
que debe aparecer en un rango
que no es nulo durante la
creación de rangos optimizados
de campos no categóricos.
Cualquier rango (incluidos los
rangos nulos y categóricos) que
tenga menos registros activará
una advertencia en el informe
final.
maxBins
20
La cantidad máxima de rangos
que se deben crear para los
campos no categóricos. La
Guía de referencia del comando de creación de datos y TML
121
qsscorecardwizard
Parámetro
Default (Predeterminada)
Descripción
cantidad seleccionada de rangos
podría ser menor, según la
restricción de "punto de ajuste"
(consulte la siguiente sección).
maxTurningPoints
2
La cantidad máxima de cambios
de signo en la diferencia de la
media del campo objetivo entre
rangos consecutivos (se excluyen
los rangos nulos sin clasificar).
Un valor de 0 hace que el rango
final sea monótono en la media
del campo objetivo. Un valor de
maxBins (o mayor) elimina esta
restricción. En general, un valor
de 1 ó 2 es razonable.
maxQuality
95
El porcentaje Gini (o R^2)
máximo "creíble". Los campos
con poder predictivo por encima
de este umbral serán excluidos
de los análisis posteriores. Tenga
en cuenta que este control se
realiza siempre (incluso cuando
la creación de rangos
optimizados está desactivada),
excepto que se especifique un
valor de 100.
pValue
0.001
El nivel de importancia que
determina si un rango categórico
tiene un índice de respuesta
significativamente diferente a la
población general. El valor está
especificado en una escala de 0
a 1, en general cerca de 0. Tenga
en cuenta que también se aplica
la corrección de Bonferroni.
binnedFocus
(ninguno)
La ubicación donde se guarda el
enfoque provisorio después de la
creación de rangos optimizados,
si se desea.
Parámetros de la sección [variable reduction]
122
Portrait Miner 7.1
Capítulo 9: Comandos para construir modelos
Parámetro
Default (Predeterminada)
Descripción
doVariableReduction
true
Establecer en falso para saltear
la reducción de la variable (y usar
todos los candidatos para análisis
en la etapa de ajuste del modelo
al tamaño correcto).
maxVariables
100
La cantidad máxima de
candidatos para análisis que se
permitirán en el modelo final (en
general entre 20 y 100).
reducedFocus
(ninguno)
La ubicación donde se guarda el
enfoque provisorio después de la
reducción de la variable, si se
desea.
Parámetros de la sección [model development]
Parámetro
Default (Predeterminada)
Descripción
doModelDevelopment
true
Establecer en falso para saltear
el ajuste del modelo al tamaño
correcto.
modelType
respuesta
Especifica el tipo de modelo para
los fines de etiquetado. Los
valores válidos son: response,
risk, churn,
satisfaction,
dissatisfaction.
regressionMethod
logística
Especifica si los modelos de
cuadro de mando deben tener
regresión logística o una
aproximación lineal (más
rápida).
regressionLevel
campo
Especifica la estimación de
parámetros del nivel campo o
rango en el cuadro de mando.
La ponderación del nivel rango
puede ser más exacta en los
datos de capacitación, pero es
más probable que tenga un
sobreajuste en los datos de
prueba.
rightSizeCriteria
min
Especifica el criterio de ajuste al
tamaño correcto utilizado para
Guía de referencia del comando de creación de datos y TML
123
qsscorecardwizard
Parámetro
Default (Predeterminada)
Descripción
elegir la mejor cantidad de
campos. Los valores válidos son:
BIC, que significa criterio de
información bayesiano, AIC, que
significa criterio de información
de Akaike (en general es más
débil que el valor BIC ya que
permite más campos), delta,
que significa la disminución de
devoluciones de la medición de
calidad en lo que respecta a los
resultados binarios (consulte
minQualityIncreasePct a
continuación), min o max, que
significa el mínimo (o máximo) de
todos los criterios recomendados
(excluido el valor delta en el
caso continuo).
124
minQualityIncreasePct
0.5
Este es el parámetro utilizado por
el formulario delta de
rightSizeCriteria: el modelo
recomendado es el que tiene
mayor cantidad de campos, de
forma tal que el peor campo
agregue al menos la cantidad
especificada en el porcentaje de
prueba-conjunto Gini (o R^2).
saveIntermediateModels
false
Establecer en verdadero para
guardar modelos intermedios
como archivos .qssc y .qmml;
de lo contrario, solo se guardará
la recomendación final.
predictionField
(automático)
Especificar el nombre del campo
de predicción para el modelo
final. Si no está establecido, se
utiliza un nombre de campo único
en base al tipo de modelo, p. ej.,
scorecardwizard__response.
finalFocus
(ninguno)
La ubicación donde se guardará
el enfoque que contiene los
candidatos para análisis finales
y el modelo recomendado, si se
lo desea.
Portrait Miner 7.1
Capítulo 9: Comandos para construir modelos
Parámetro
Default (Predeterminada)
Descripción
finalModel
(ninguno)
El directorio raíz para guardar el
archivo de modelo de cuadro de
mando final (tanto en formato
.qssc como .qmml), si se lo
desea.
runModelSnapshot
true
Si se especifica tanto
finalModel como finalFocus
y la opción es verdadera, se crea
una Foto de modelo (archivo
.qshtml) junto con los archivos
finalModel.
También consulte
Acerca del Asistente de scorecard en la página 118
qsdecisiontree
Sinopsis qsdecisiontree -input <enfoque de origen> [-subfocus<subenfoque>]
-build <decision-tree build specification> -result <decision-tree build
report> [-output <enfoque de destino>] [-force]
Descripción: Usar una especificación de creación de árbol de decisión para crear un árbol de decisión
en el enfoque especificado y un nuevo informe de creación de árbol de decisión (que contenga
estadísticas de árbol de decisión, un resultado de predicción de árbol de decisión y una tabulación
cruzada de calibración) en un formato de archivo basado en XML.
Argumentos opcionales
Opción
Efecto
-force
Consulte la La opción de línea de comandos
-force en la página 24.
-output <enfoque de destino>
Crear este enfoque, que contenga un campo
derivado adicional que aplique el nuevo resultado
de predicción de árbol de decisión en el enfoque
de entrada.
-subfocus <subenfoque>
Usar el subenfoque especificado del enfoque.
Además de estas opciones de línea de comando, qsdecisiontree acepta las opciones comunes de todos
los comandos de creación de datos [consulte Opciones estándar de la línea de comandos en la
página 21].
Guía de referencia del comando de creación de datos y TML
125
qsscorecard
Ejemplo: dada la especificación de creación del árbol de decisión,
decisiontree-specification.xml, con los siguientes contenidos:
<?xml version="1.0" encoding="UTF-8"?>
<decisiontree xmlns="http://www.quadstone.com/xml">
<specification nlevels="3">
<objectivefield>
<field name="Age"/>
</objectivefield>
<analysiscandidates>
<field name="Gender"/>
<field name="MaritalStatus"/>
<field name="HomeOwner"/>
</analysiscandidates>
<resultfield>
<field name="PredictedAge"/>
</resultfield>
</specification>
</decisiontree>
utilice esta especificación para crear un informe de creación de árbol de decisión
decisiontree-report.xml, y cree un nuevo enfoque RetailCustAprilPredictedAge.ftr
que contenga el campo de predicción del árbol de decisión derivado PredictedAge:
qsdecisiontree -build decisiontree-specification.xml
-input RetailCustApril.ftr -result decisiontree-report.xml
-output RetailCustAprilPredictedAge.ftr
También consulte
Especificación del árbol de decisión para qsdecisiontree en la página 357
qsscorecard en la página 126
qsscorecard
Sinopsis qsscorecard -input <enfoque de origen> [-subfocus <subenfoque>]
-build <scorecard build specification> -result <scorecard build report>
[-output <enfoque de destino>] [-force]
Descripción: Usar una especificación de creación de scorecard para crear una scorecard en el enfoque
especificado y crear un nuevo informe de creación de scorecard (que contenga estadísticas de scorecard,
un resultado de predicción de scorecard y una tabulación cruzada de calibración) en un formato de
archivos basado en XML.
Argumentos opcionales
126
Opción
Efecto
-force
Consulte la La opción de línea de comandos
-force en la página 24.
-output <enfoque de destino>
Crear este enfoque, que contenga un campo
derivado adicional que aplique el nuevo resultado
Portrait Miner 7.1
Capítulo 9: Comandos para construir modelos
Opción
Efecto
de predicción de scorecard en el enfoque de
entrada.
-subfocus <subenfoque>
Usar el subenfoque especificado del enfoque.
Además de estas opciones de línea de comando, qsscorecard acepta las opciones comunes de todos
los comandos de creación de datos [consulte Opciones estándar de la línea de comandos en la
página 21].
Nota: • Para un objetivo binario, qsscorecard usa la regresión logística; para un objetivo continuo,
usa la regresión lineal.
Ejemplo
Dada la especificación de creación de cuadro de mando scorecard-specification.xml con los
siguientes contenidos:
<?xml version="1.0" encoding="UTF-8"?>
<scorecard xmlns="http://www.quadstone.com/xml">
<specification modeltype="value" nfields="2" iscontinuous="true">
<objectivefield>
<field name="Age"/>
</objectivefield>
<analysiscandidates>
<field name="Gender"/>
<field name="MaritalStatus"/>
<field name="HomeOwner"/>
</analysiscandidates>
<resultfield>
<field name="PredictedAge"/>
</resultfield>
</specification>
</scorecard>
utilice esta especificación para crear un informe de creación de cuadro de mando
scorecard-report.xml, y crear un nuevo enfoque RetailCustAprilPredictedAge.ftr, que
contenga el campo de predicción de cuadro de mando derivado PredictedAge:
qsscorecard -build scorecard-specification.xml
-input RetailCustApril.ftr -result scorecard-report.xml
-output RetailCustAprilPredictedAge.ftr
También consulte
qsdecisiontree en la página 125
Especificación de creación de un cuadro de mando para qsscorecard en la página 359
Guía de referencia del comando de creación de datos y TML
127
Acerca del Asistente para reglas de asociación
Acerca del Asistente para reglas de asociación
El Asistente para reglas de asociación automatiza el descubrimiento de reglas de secuencia y asociación.
Por lo general, esto se utiliza para explorar datos de eventos, cestas o transacciones de clientes
detalladas para aplicaciones como las siguientes:
Análisis de "cesta" de compra: identifica combinaciones de productos que, comúnmente, aparecen
(o no aparecen) juntas dentro de una única transacción de compra (cesta de productos).
Mejor producto siguiente: determina la secuencia más común en la que se compran productos o
servicios; por ejemplo, es más probable que los clientes de bancos abran una cuenta de inversión/de
crédito después de abrir una caja de ahorro de intereses elevados.
Análisis de impacto de promoción comercial: identifica patrones de comunicaciones de promoción
comercial con mayores probabilidades de que se produzcan antes de una compra
Preparación de los datos: el Asistente para reglas de asociación se ejecuta directamente contra
transacciones o datos de eventos almacenados en un conjunto de datos de enfoque, que se beneficia
del acceso a datos de alto rendimiento de Portrait Miner.
• Para el análisis de Cesta de mercado, debe usar un conjunto de datos del nivel de elementos que
contenga un registro por elemento. El conjunto de datos debe contener un identificador de cesta que
agrupe a los elementos en la misma cesta, así como un campo identificador de producto (ordenado
por rangos y categórico) que indique el nombre de producto o el código de cada elemento. El conjunto
de datos se debe ordenar según el campo clave identificador de cesta.
• Para el análisis de Producto siguiente, debe elegir un conjunto de datos con un registro por producto
o servicio. El conjunto de datos debe contener un identificador de cesta, con frecuencia, el identificador
de cliente, que agrupe los productos, el identificador de producto (ordenado por rangos y categórico)
y la marca de hora del producto (entero o fecha) que indique el orden en que se adquirieron los
productos. El conjunto de datos se debe ordenar según el campo clave identificador de cesta.
Parámetros de algoritmos: el Asistente para reglas de asociación está basado sobre el algoritmo a
priori que es estándar en la industria y que incluye una amplia gama de funcionalidades para controlar
el descubrimiento de reglas.
El descubrimiento de reglas se puede restringir a productos de interés particulares, y se pueden controlar
diversos parámetros que definen lo que es una regla interesante (soporte, nivel de confianza, complejidad
de la regla, medidas de selección de reglas ampliadas). Observe que estas configuraciones pueden
tener un impacto sobre el tiempo de ejecución: en especial, si se reduce el valor mínimo de admisión,
el tiempo de ejecución aumentará, a menos que también se especifique una complejidad de regla
máxima (cantidad de antecedentes).
Términos el Asistente para reglas de asociación usa una variedad de términos que, tal vez, no le resulten
familiares, entre otros:
Regla: en general, una regla afirma que si se cumple con un conjunto de condiciones (el lado izquierdo
o el antecedente de la regla), entonces, se producirá otra condición (el lado derecho o el consecuente
de la regla). En las reglas de asociación o secuencia, las condiciones de la regla corresponden a la
presencia de elementos específicos en la cesta. Por ejemplo, una regla simple podría ser la siguiente:
si una cesta contiene pan, entonces, también contendrá mermelada.
128
Portrait Miner 7.1
Capítulo 9: Comandos para construir modelos
Antecedent: el lado izquierdo de una regla, es decir, el conjunto de elementos que deben aparecer en
la cesta para que la regla sea relevante.
Consequent: el lado derecho de una regla, es decir, el conjunto de elementos que la regla predice que
estarán presentes cuando se cumpla con el lado izquierdo (antecedente).
Soporte: el soporte (absoluto) de un conjunto de elementos es la cantidad de cestas que contienen
todos los elementos del conjunto. El soporte relativo es la misma cantidad expresada como un porcentaje
de la cantidad total de cestas.
Soporte de regla: el soporte de una regla es el del antecedente de la regla, es decir, la proporción de
cestas a la que se aplica el lado izquierdo de la regla. Esto mide la frecuencia con la que la regla es
relevante.
Fiabilidad de la regla: el nivel de confianza de una regla es el soporte del conjunto de todos los
elementos que aparecen en la regla (a la izquierda o a la derecha), dividido por el soporte del antecedente
de la regla. Mide la probabilidad de que el consecuente de la regla (lado derecho) sea verdadero si se
cumple con el antecedente de la regla; es decir, la probabilidad de que la regla sea correcta.
Diferencia de fiabilidad absoluta con el anterior: la proporción de las medidas del nivel de confianza
posteriores y anteriores (con y sin los elementos del antecedente). Mide cuán mayor (o menor) es la
probabilidad del consecuente de una regla cuando el lado izquierdo de la regla es verdadero. Por
ejemplo, la regla "si pan, entonces mermelada" no es muy interesante si su nivel de confianza es similar
a la regla "si (cualquier elemento), entonces mermelada".
Valor de mejora: la proporción de las medidas del nivel de confianza posteriores y anteriores (con y
sin los elementos del antecedente).
Resultados: se generan (en forma opcional) diversos resultados, entre otros:
• Un informe de modelo HTML interactivo que resume las reglas creadas, su métrica y la opción de
filtrar reglas interesantes.
• Un nuevo conjunto de datos clasificado que crea un conjunto de datos total (un registro por identificador
de cesta) y que indica si cada regla seleccionada se cumple para ese grupo de registros.
• Las reglas como código instalable en formato Transaction Measurement Language.
qsruleminer
Sinopsis qsruleminer -ini <archivo de configuración> -output <archivo de reglas>
[-force]
Descripción: Encuentra reglas de asociación o secuenciamiento.
Parámetros: El archivo de configuración controla cómo se ejecuta el proceso de extracción de reglas.
Cada línea del archivo puede especificar una de las siguientes opciones. Las líneas que comienzan
con # o que no tienen un signo igual (=) se ignoran. (Tenga en cuenta que no se permiten comentarios
a la derecha de la línea). Una línea que comienza con eof hace que se ignore el resto del archivo.
Por ejemplo, el siguiente archivo ini buscará reglas que muestren un valor de mejora como la medida
adicional con al menos tres elementos y como máximo 10, con una fiabilidad mínima de 20%, un soporte
mínimo de 5% y una mejora mínima de 25%:
Guía de referencia del comando de creación de datos y TML
129
qsruleminer
enfoque = C:/association/MarketBasket.ftr
task =market basket
key fields = TRANS_NO
product field = ProductName
options = -tr -el -d25 -s5.0 -c20.0 -n10 -m3
eof
130
Parámetro
Default (Predeterminada)
Descripción
focus
(obligatorio)
La ubicación del enfoque de
entrada.
task
(obligatorio)
Especifica la tarea de
descubrimiento. Los valores
válidos son: segment, market
basket, next product
key fields
(obligatorio)
Especifica un campo clave o
clave compuesta (una lista de
campos separados por comas)
que define una cesta. El conjunto
de datos de entrada debe estar
ordenado con respecto a la clave.
product field
(obligatorio)
Especifica el identificador del
campo de producto. El campo
debe tener rangos y ser
categórico. Cada rango define un
producto por separado (para que
se pueda usar una jerarquía de
rangos categóricos para trabajar
en diferentes niveles de detalle
en los mismos datos de producto
subyacentes). Las claves
compuestas no son compatibles.
rhs
(ninguno)
Lista de elementos separada por
comas que restringe los
elementos que pueden aparecer
en la parte derecha (el
consecuente) de la regla. Tenga
en cuenta que no se permite
ningún espacio en blanco
excedente; las etiquetas itemA,
itemB e itemC deben coincidir
exactamente con las etiquetas de
rango correspondientes del
campo de producto.
Portrait Miner 7.1
Capítulo 9: Comandos para construir modelos
Parámetro
Default (Predeterminada)
Descripción
timestamp field
(ninguno)
(solo tarea del siguiente producto)
Especifica el campo a utilizar
como marca de hora para cada
elemento. Debe ser de tipo fecha
o entero. No se admiten las
claves compuestas de marca de
hora.
segment fields
(ninguno)
(solo tarea de segmentos)
Especifica una lista de campos
separados por comas para utilizar
en la tarea de descubrimiento de
segmentos. Las etiquetas de
rango de los campos
especificados corresponderán a
los elementos de la tarea de
descubrimiento.
options
(ninguno)
Pasa todo lo posterior al signo
igual directamente al algoritmo
apriori.
Las opciones de soporte apriori incluyen (también consulte
http://www.borgelt.net/doc/apriori/apriori.html#options):
Opción
Descripción
-tr
Descubre reglas de asociación
-s<#>
Valor de soporte mínimo (valor predeterminado:
10%)
-S<#>
Valor de soporte máximo: positive: percentage;
negative: absolute number (valor predeterminado:
100%)
-c<#>
Valor de fiabilidad mínimo (valor predeterminado:
80%)
-m<#>
Cantidad mínima de elementos por regla (valor
predeterminado: 1)
-n<#>
Cantidad máxima de elementos por regla (valor
predeterminado: sin límite)
-ex
No utiliza una medida de evaluación de regla
adicional
-d<#>
Valor mínimo para la medida de evaluación de
regla adicional (valor predeterminado: 10%).
Guía de referencia del comando de creación de datos y TML
131
qsruleminer
Opción
Descripción
Para especificar la medida de evaluación de regla adicional:
132
-ec
Fiabilidad de la regla
-ed
Diferencia de fiabilidad absoluta con el anterior
-el
Valor de mejora
-ea
Diferencia del valor de mejora con 1
-eq
Diferencia del cociente de mejora con 1
-ev
Convicción
-ee
Diferencia de convicción con 1
-er
Diferencia del cociente de convicción con 1
-ef
Factor de certeza
-en
Medida de Chi cuadrado normalizado
-ep
Medida de valor de P desde Chi cuadrado
-ei
Diferencia de información con el anterior
-eg
Valor de P desde el estadístico G
-eb
Registro binario del cociente de soporte
Portrait Miner 7.1
Capítulo
Comandos para trabajar con
archivos QMML
En esta sección:
•
•
•
•
•
•
qsqmmlview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .134
qsqmmledit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .134
qslt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .137
qsqmml2sas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .139
qsqmml2sql . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .139
qsqsfmtosas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .140
10
qsqmmlview
qsqmmlview
Sinopsis qsqmmlview -input <archivo QMML de origen>
[-prettyprint | -rulesets | -ruleset <ruleset>]
Descripción: Visualiza información sobre el archivo QMML de origen: muestra los contenidos en un
XML perfectamente formateado (la opción -prettyprint). Muestra información de resumen para
todos los conjuntos de reglas del archivo (la opción -rulesets) o muestra información detallada de
un conjunto de reglas especificado (la opción -ruleset).
Por defecto, qsqmmlview muestra información detallada de todos los conjuntos de reglas del archivo.
Argumentos opcionales: además de los argumentos requeridos, qsqmmlview acepta las opciones
comunes a todos los comandos de creación de datos [consulte Opciones estándar de la línea de
comandos en la página 21].
Nota: • Si se especifica la opción -rulesets o -ruleset y el archivo QMML no tiene la forma
qmml:rules, se produce un error en qsqmmlview.
• Si se utiliza la opción -ruleset y el archivo QMML no contiene un conjunto de reglas con el
nombre especificado, se produce un error en qsqmmlview.
• Para obtener información sobre las reglas y los conjuntos de reglas QMML, consulte Lenguaje
de marcado de metadata Quadstone.
Ejemplos
Verificar cuál de los conjuntos de reglas (si hay alguno) del documento de reglas QMML model.qmml
están activados:
qsqmmlview -input model.qmml -rulesets
Ver los nombres y tipos de los campos de entrada y salida del conjunto de reglas (compilado)
OutcomeRules en el documento de reglas QMML model.qmml:
qsqmmlview -input model.qmml -ruleset OutcomeRules
También consulte
XML en Portrait Miner en la página 342
qsqmmledit en la página 134
qsqmmledit
Sinopsis qsqmmledit -input <archivo QMML de origen> [-output <archivo QMML de
destino>]
-addrule <archivo de reglas>
134
Portrait Miner 7.1
Capítulo 10: Comandos para trabajar con archivos QMML
qsqmmledit -input <archivo QMML de origen> [-output <archivo QMML de destino>]
-addruleset <conjuntos de reglas> <rule> [<reglae> ...]
qsqmmledit -input <archivo QMML de origen> [-output <archivo QMML de destino>]
-deleteruleset <conjuntos de reglas> qsqmmledit -input <archivo QMML de
origen>
[-output <archivo QMML de destino>]
-parse
[-s]
qsqmmledit -input <archivo QMML de origen> [-output <archivo QMML de destino>]
{-compile | -compile <conjuntos de reglas> [<conjuntos de reglas> ...] }
[-l] [-s]
qsqmmledit
-input <archivo QMML de origen> [-output <archivo QMML de destino>]
{-setlive | -setlive <conjuntos de reglas> | -setlive <conjuntos de reglas>
true | -setlive <conjuntos de reglas> false}
Descripción: modifica el archivo QMML de origen (si no se utiliza la opción -output) al realizar una
de las siguientes operaciones:
• Agregar una regla del archivo de reglas, que es un archivo XML estándar que contiene elementos
<field> o un archivo de intercambio QMML FDL que contiene reglas en elementos
<fdl-derivation> y <fdl-function>.
A una regla no denominada se le otorga el nombre Rule. Si el archivo QMML de origen no tiene la
forma qmml:rules o ya contiene una regla con el mismo nombre que alguna de las reglas del archivo
de reglas, se produce un error en qsqmmledit.
• Agregar un conjunto de reglas que contenga una o más reglas (ya presentes como elementos <field>
en el archivo QMML de origen).
Si el archivo QMML de origen no tiene la forma qmml:rules, ya contiene un conjunto de reglas con
el nombre de conjunto de reglas especificado o no contiene reglas con todos los nombres especificados,
se produce un error en qsqmmledit.
• Eliminar un conjunto de reglas (pero no las reglas que contiene).
Si el archivo QMML de origen no tiene la forma qmml:rules o no contiene un conjunto de reglas
con el nombre especificado, se produce un error en qsqmmledit.
• Analizar el archivo.
Si utiliza Archivo->Exportar como QMML en Decision Studio para crear el archivo QMML de origen,
Portrait Miner analiza el archivo QMML automáticamente. En este caso, no es necesario utilizar el
comando -parse. De lo contrario, el comando -parse es un requisito previo para la compilación.
Si el archivo QMML no tiene la forma qmml:rules, qsqmmledit no hace nada (excepto que se
utilice la opción -s, en cuyo caso se produce un error). Si el archivo QMML de origen tiene la forma
qmml:rules, qsqmmledit intenta analizar todas las reglas no analizadas. Si no se puede analizar
Guía de referencia del comando de creación de datos y TML
135
qsqmmledit
una regla, qsqmmledit envía un mensaje de advertencia y continúa con la siguiente regla (excepto
que se utilice la opción -s, en cuyo caso se produce un error).
• Compilar todos los conjuntos de reglas o los conjuntos de reglas especificados (un requisito previo
para la implementación).
Si el archivo QMML no tiene la forma qmml:rules, qsqmmledit no hace nada (excepto que se
utilice la opción -s, en cuyo caso se produce un error). Si no se analiza una regla, se produce un
error en qsqmmledit.
• Marcar todos los conjuntos de reglas como activos (listos para la implementación) o marcar un conjunto
de reglas especificado como activo (true/por defecto) o no (false).
Si el archivo QMML de origen no tiene la forma qmml:rules, no contiene un conjunto de reglas con
el nombre especificado o no se compila el conjunto de reglas especificado, se produce un error en
qsqmmledit.
Argumentos opcionales
Opción
Efecto
-l
Marca cada conjunto de reglas como activo, a
medida que se compilan.
-output <archivo QMML de destino>
En lugar de modificar el archivo QMML de origen,
crea el archivo QMML de destino especificado y le
aplica los cambios solicitados.
-s
Trata el archivo rigurosamente, deshabilitando los
conjuntos de reglas vacíos. Cuando se lo utiliza
con la opción -parse, se produce un error si el
archivo QMML de origen no tiene la forma
qmml:rules o si no se puede analizar cualquier
regla no analizada del archivo de origen. Cuando
se lo utiliza con la opción -compile, se produce
un error si el archivo QMML de origen no tiene la
forma qmml:rules.
Además de estas opciones de línea de comando, qsqmmledit acepta las opciones comunes de todos
los comandos de creación de datos [consulte Opciones estándar de la línea de comandos en la
página 21].
Nota: • Para obtener información sobre las reglas y los conjuntos de reglas QMML, consulte Lenguaje
de marcado de metadata Quadstone.
• Solo se puede analizar una regla si es compatible con la variante RealTime de FDL.
Ejemplos
Agregar reglas del archivo de intercambio QMML FDL model.xfdl al documento de reglas QMML
model.qmml:
qsqmmledit -input model.qmml -addrule model.xfdl
136
Portrait Miner 7.1
Capítulo 10: Comandos para trabajar con archivos QMML
Asignar una regla Outcome del documento de reglas QMML model.qmml a un nuevo conjunto de
reglas OutcomeRules:
qsqmmledit -input model.qmml
-addruleset OutcomeRules Outcome
Implementar el documento de reglas QMML model.qmml al analizar todos los FDL insertados, compilar
todos los conjuntos de reglas y marcar el conjunto de reglas OutcomeRules como activo:
qsqmmledit -input model.qmml -parse
qsqmmledit -input model.qmml -compile
qsqmmledit -input model.qmml -setlive OutcomeRules
También consulte
XML en Portrait Miner en la página 342
qslt en la página 137
qsqmmlview en la página 134
qslt
Sinopsis qslt {-input <archivo de origen> | -input -}
[-output <archivo de destino> | -output -]
[[-source <tipo de origen>] [-target <tipo de destino>] | -transform
<transformación denominada>]
[-spec <archivo de especificación>]
Descripción: trasforma el archivo de origen especificado o la entrada estándar (con -input-) en un
formato diferente al escribir el resultado en una salida estándar por defecto.
Por defecto, en el caso de un archivo de origen XML, qslt deduce los tipos de archivo de origen y de
destino de las extensiones del nombre de archivo (si las hay) y de los contenidos del archivo. Luego
intenta buscar y aplicar una transformación que coincida con estos tipos. Si no existe ninguna
transformación o existe más de una transformación posible, el comando no hace nada, excepto emitir
un mensaje de error, y se produce el fallo.
Las transformaciones estándar que coinciden con los tipos de archivo origen y de destino son:
• Desde fdl (una expresión FDL o un conjunto de instrucciones createTML) hacia
qmml:expressions (FDL totalmente analizado en QMML)
• Desde fdl (una expresión FDL o un conjunto de instrucciones create TML) hacia qmml:x-fdl
(formato de intercambio QMML FDL) y viceversa
• Desde qmml:expressions (FDL totalmente analizado en QMML) hacia qmml:x-fdl (formato de
intercambio QMML FDL)
• Desde qmml:rules (formato de reglas QMML) hacia fdd (formato de descripción de datos planos)
Guía de referencia del comando de creación de datos y TML
137
qslt
La transformación estándar restante es la transformación denominada prettyprint, que transforma
XML arbitrario en XML perfectamente formateado (con saltos de línea y sangrías). Solo se lo puede
elegir al utilizar la opción -transform.
Argumentos opcionales
Opción
Efecto
-output <archivo de destino>
Escribe los datos transformados en este archivo
de destino (al sobrescribir cualquier archivo
existente con el mismo nombre).
-output -
Escribe los datos transformados en la salida
estándar (la opción predeterminada si no se
especifica la opción -output).
-source <tipo de origen>
Considera solo las transformaciones que coincidan
con este tipo de origen (al anular un tipo de origen
deducido, si lo hay). Se debe especificar esta
opción si qslt está leyendo desde una entrada
estándar.
-spec <archivo de especificación>
Ubica la transformación solicitada en este archivo,
ignorando las transformaciones estándar y
cualquier personalización que se aplique a todo el
sistema o esté especificada por el usuario.
-target <tipo de destino>
Considera solo las transformaciones que coincidan
con este tipo de destino (al anular un tipo de
destino deducido, si lo hay). Se debe especificar
esta opción si qslt está escribiendo en una salida
estándar.
-transform <transformación denominada> Utiliza la transformación denominada en lugar de
seleccionar una transformación según los tipos de
origen y de destino.
Además de estas opciones de línea de comando, qslt acepta las opciones comunes a todos los
comandos de creación de datos [consulte Opciones estándar de la línea de comandos en la página
21].
Nota: • Al convertir entre el tipo fdl y el tipo QMML, las instrucciones create TML corresponden a
derivaciones de campos denominados en QMML, mientras que las expresiones FDL simples
corresponden a derivaciones de archivos no denominados en QMML.
• La conversión desde qmml:rules hacia el tipo fdd omite los campos derivados.
• Además de los tipos de transformación estándar, se pueden definir transformaciones
personalizadas que se apliquen a todo el sistema o a un usuario en particular. Las
transformaciones personalizadas pueden aceptar opciones de línea de comando adicionales.
• Para obtener información detallada sobre las formas QMML qmml:expressions,
qmml:rules, y qmml:x-fdl, consulte Lenguaje de marcado de metadata Quadstone.
Ejemplos
138
Portrait Miner 7.1
Capítulo 10: Comandos para trabajar con archivos QMML
Transformar la metadata de campos representada por el archivo FDD model.fdd en un documento
de reglas QMML "vacío" model.qmml (que describa un conjunto de campos, pero que no contenga
ninguna regla), al utilizar una transformación especificada por el usuario descrita en el archivo
ext/qmml/qslt.xml:
qslt -source fdd -target qmml:rules -input model.fdd
-output model.qmml -spec ext/qmml/qslt.xml
Transformar una expresión FDL del archivo model.fdl en formato de intercambio QMML FDL, al
escribir el resultado en el archivo model.xfdl:
qslt -source fdl -target qmml:x-fdl -input model.fdl
-output model.xfdl
También consulte
XML en Portrait Miner en la página 342 qsqmmledit en la página 134
qsqmml2sas
Sinopsis qsqmml2sas <archivo QMML>
Descripción: Convierte un archivo QMML en un archivo SAS que tiene una instrucción SAS
independiente para cada derivación de campo.
Nota: • El comando es experimental.
• Se puede acceder a la mayoría de las funciones del comando de creación de datos qsqmml2sas
mediante el cuadro de diálogo Convertir a SAS de Portrait Miner.
Ejemplo
Convertir model.qmml en model.sas:
qsqmml2sas model.qmml
qsqmml2sql
Sinopsis qsqmml2sql <archivo QMML>
{Oracle | Teradata V2Rx | MS SQL Server}
<tabla de origen>
[<campo> [, <campo> ... ]]}
Descripción: utiliza un tipo de base de datos compatible y una tabla de origen para convertir un archivo
QMML en un archivo SQL que tenga una instrucción de SQL SELECT independiente para cada derivación
de campo.
Argumentos opcionales
Guía de referencia del comando de creación de datos y TML
139
qsqsfmtosas
Opción
Efecto
<campo> [, <campo> ... ]
Convierte solo los campos derivados.
Nota: • El comando es experimental.
• Se puede acceder a la mayoría de las funciones del comando de creación de datos
qsqmml2sql mediante el cuadro de diálogo Convertir en SQL de Portrait Miner.
Ejemplo
Convertir model.qmml en model.sql, crear instrucciones SELECT para el Servidor SQL de Microsoft
y utilizar prod.customer como la tabla de origen para cualquier puntaje.
qsqmml2sas model.qmml "MS SQL Server" prod.customer
qsqsfmtosas
Sinopsis qsqsfmtosas <archivo de metadata>
Descripción: Convierte derivaciones de un archivo de metadata en un archivo SAS que tiene una
instrucción SAS independiente para cada derivación de campo.
Nota: • El comando es experimental.
• Se puede acceder a la mayoría de las funciones del comando de creación de datos
qsqsfmtosas mediante el cuadro de diálogo Convertir a SAS de Portrait Miner.
Ejemplo
Convertir metadata.qsfm en metadata.sas:
qsqsfmtosas metadata.qsfm
140
Portrait Miner 7.1
Capítulo
Otros comandos
En esta sección:
• qsmapgen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .142
11
qsmapgen
qsmapgen
Sinopsis qsmapgen
-input <jerarquía categórica> [-input <jerarquía categórica> ...]
-name <nombre de mapa> -output <directorio> [-overwrite]
[-style radial_drill | -style radial_layers]
Descripción: A partir de uno o más archivos de jerarquía categórica (en general con la extensión de
nombre de archivo .hrc), crea una representación de las jerarquías categóricas apropiadas para su
uso en Decision Studio Visor de Mapa, con una región que corresponda a cada categoría. Crea un
mapa o mapas en el directorio especificado, al utilizar el nombre de mapa especificado como la base
para los nombres de archivos.
Argumentos opcionales
Opción
Efecto
-overwrite
Habilita nuevos archivos de mapa mediante las
opciones -name y -output para sobrescribir los
archivos existentes.
Sin la opción -overwrite, si alguno de los
archivos de mapa por crear ya existe, el comando
no hace nada (excepto emitir una advertencia).
-style radial_drill
Crea una jerarquía de mapas apropiada para
desglosar en el Visor de mapa de Decision Studio,
con el mapa del nivel superior (mostrado
inicialmente) basado en el rango de granularidad
más gruesa de cada jerarquía de rangos
categóricos (esta es la opción predeterminada si
no se especifica la opción -style).
-style radial_layers
Crea un mapa independiente para cada nivel de
las jerarquías de rangos categóricos, para que un
usuario de Decision Studio pueda elegir el grado
de borrosidad con el que se visualizarán los
campos en el Visor de mapa, aunque sin la opción
de desglosar.
Además de estas opciones de línea de comando, qsmapgen acepta las opciones comunes de todos
los comandos de creación de datos [consulte Opciones estándar de la línea de comandos en la
página 21].
Nota:
• Si un archivo de jerarquía categórica no especifica una jerarquía correcta, se produce un error en
qsmapgen.
142
Portrait Miner 7.1
Capítulo 11: Otros comandos
• No se debe usar un valor de campo en más de un archivo de jerarquía categórica. Si se hace, el
comportamiento de qsmapgen es indefinido.
• Si se especifica un nombre de categoría en más de un archivo de jerarquía categórica o en más de
un nivel del mismo archivo, qsmapgen agrega uno o más sufijos a los nombres de región para asegurar
que cada nombre sea único.
• En el caso de un mapa elaborado mediante -style radial_drill (o sin la opción -style
especificada), el mapa del nivel superior consta de los archivos .mif y .mid, denominados con el
nombre del mapa especificado. Los mapas detallados en el siguiente nivel de detalle se encuentran
en el siguiente subdirectorio. Los mapas del nivel subsiguiente de detalle (si los hay) se encuentran
en el siguiente subdirectorio de ese directorio, y así sucesivamente.
• Los mapas producidos mediante -style radial_layers constan de pares de archivos .mif y
.mid, cada uno denominado con el nombre del mapa dado junto con un sufijo numérico que corresponde
al nivel de la jerarquía.
• Al utilizar Portrait Miner, se puede acceder a la mayoría de las funciones de qsmapgen mediante
del cuadro de diálogo Crear mapa de categorías. .
Ejemplos: dado el archivo de jerarquía categórica Referrer.hrc, que contiene los siguientes
elementos:
B, Banner Ad (aviso publicitario), Comercialización
D, Direct (directo), Directo
E, E-mail Link (enlace de correo electrónico), Comercialización
G, Google, Motor de búsqueda
M, MSN, Motor de búsqueda
Y, Yahoo, Motor de búsqueda
L, Lycos, Motor de búsqueda
y el archivo de jerarquía categórica PurchasePage.hrc, que contiene los siguientes elementos:
01, Ropa de caballero
02, Mujeres
03, Niños
04, Hogar
crear un archivo de mapa clickthru.mif (y los archivos compatibles) apropiado para desglosar, en
un nuevo directorio webmaps:
qsmapgen -input Referrer.hrc -input PurchasePage.hrc
-output webmaps -name clickthru
El mapa del nivel superior tiene las siguientes regiones (donde las "puntas" de la circunferencia indican
regiones en las que se puede desglosar hasta el siguiente nivel):
Guía de referencia del comando de creación de datos y TML
143
qsmapgen
Al desglosar en la región "SearchEngine", se genera un mapa con las siguientes regiones:
Alternativamente puede crear archivos de mapa independientes clickthru_layer_1.mif y
clickthru_layer_2.mif (y los archivos compatibles) en el directorio webmaps:
qsmapgen -input Referrer.hrc -input PurchasePage.hrc
-output webmaps -name clickthru_layer -style radial_layers
El mapa clickthru_layer_1.mif tiene las siguientes regiones:
144
Portrait Miner 7.1
Capítulo 11: Otros comandos
y el mapa clickthru_layer_2.mif tiene las siguientes regiones:
Guía de referencia del comando de creación de datos y TML
145
Capítulo
Lenguaje de medición de
transacciones
En esta sección:
• Acerca de Transaction Measurement Language . . . . . .148
• Sintaxis de TML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .148
• Palabras reservadas en TML . . . . . . . . . . . . . . . . . . . . . .149
12
Acerca de Transaction Measurement Language
Acerca de Transaction Measurement Language
Transaction Measurement Language (TML) es una recopilación de envolturas sintácticas livianas
alrededor de expresiones FDL, que se utiliza para especificar derivaciones y agregaciones de campo
junto con los asistentes Derivar campos y Agregar registros asistentes, y los comandos de creación
de datos de Portrait Miner qsderive, qsmeasure, qstrack y qsselect.
También consulte
Acerca del lenguaje de derivación de campos (FDL) en la página 182
qsderive en la página 63
qsmeasure en la página 66
qsselect en la página 73
qstrack en la página 70
Sintaxis de TML en la página 148
Sintaxis de TML
Un archivo de derivaciones, rastreos, selecciones o agregaciones incluye una o más instrucciones
create de TML, mientras que un archivo de estadísticas incluye una o más instrucciones calculate
de TML.
• TML es un lenguaje que distingue mayúsculas de minúsculas:
• Las palabras clave de TML (create, by, string etc.) se escriben en minúsculas, a excepción de
STATISTIC.
• Los nombres de todas las funciones de agregación [consulte Funciones de agregación para
mediciones y derivaciones en la página 162] se escriben en minúsculas.
• Los nombres Average, average, y AVERAGE hacen referencia a distintos campos o estadísticas.
• Los nombres de campos y estadísticas deben comenzar con una letra ("A" — "Z" o "a" — "z"), incluir
solamente letras, dígitos y guión bajo ("_") y no tener más de 128 caracteres; como opción pueden
estar entre comillas simples, por ejemplo, 'CustomerID'. Debe encerrar el nombre de un campo o
estadística en comillas simples si coincide con una palabra reservada de TML o FDL, o si es diferente
de una sólo en fuente.
• La sintaxis de TML se describe utilizando diagramas de ferrocarriles similares al siguiente:
Siempre y cuando siga las flechas y no marche hacia atrás, cualquier ruta a través del diagrama del
ferrocarril lleva a TML de sintaxis válida (aunque no necesariamente significativo):
148
Portrait Miner 7.1
Capítulo 12: Lenguaje de medición de transacciones
• Las palabras en cuadros con forma de óvalo/circulares (como create) son palabras clave de TML;
debe escribirlas exactamente como aparecen.
• También debe escribir la puntuación en los cuadros con forma de óvalo (como ":" y ":=")
exactamente como aparece (no puede agregar espacios entre ":" y "=" en ":=").
• No olvide el punto y coma que finaliza cada instrucción de TML.
• Los términos en cuadros rectangulares (como expression) hacen referencia a otros diagramas de
ferrocarriles o a formas descritas en otro lugar en palabras; no debe escribirlos literalmente.
• TML es un lenguaje de formato libre: puede separar líneas o insertar espacios adicionales entre
elementos sintácticos (en cuadros con forma de óvalo/circulares en diagramas de ferrocarriles) sin
afectar la interpretación de un archivo de derivaciones, rastreos, selecciones, agregaciones o
estadísticas.
• Además de introducir espacios entre elementos sintácticos, puede incluir comentarios, que comienzan
con una barra doble ("//") y continúan hasta el final de la misma línea.
• Siempre que la sintaxis de TML requiera una expresión, puede utilizar cualquier expresión FDL
[consulte Expressions (Expresiones) en la página 186], excepto que una expresión que implique una
palabra reservada de TML, un punto y coma o llaves {...} debe encerrarse entre paréntesis (...).
También consulte
Acerca de Transaction Measurement Language en la página 148
Evaluación del enfoque de estadísticas: la instrucción de calcular en la página 158
Definición de campos: la instrucción create en la página 152
Palabras reservadas en FDL en la página 206
Palabras reservadas en TML en la página 149
Palabras reservadas en TML
Los siguientes símbolos son palabras reservadas en TML:
aggregation, all, and, as, auto, automatic, bin, binning, bool, boolean, by,
calculate, constant, create, crosstab, fecha, default, description, dimension,
double, drl, enum, except, fields, file, float, format, from, full, function,
group, include, inplace, input, int, integer, join, left, long, merge, meta,
modifiable, normal, on, open outer, outfile, output, parameter, pragma, real,
ref, reference, rename, right, separate_functions, short, show,
show_empty_segments, show_summaries, sort, state, statistic, strbytes, string,
suppress, table, temp, temporary, track, tracker, view, where
Para utilizar una palabra reservada o una palabra diferente únicamente en fuente de una palabra
reservada, como un nombre de campo o estadística en TML o como un identificador [consulte
Expressions (Expresiones) en la página 186] en FDL, debe encerrarla con comillas simples, por ejemplo,
'Date'.
También consulte
Guía de referencia del comando de creación de datos y TML
149
Palabras reservadas en TML
Acerca de Transaction Measurement Language en la página 148
Palabras reservadas en FDL en la página 206
150
Portrait Miner 7.1
Capítulo
Instrucciones TML
En esta sección:
• Definición de campos: la instrucción create . . . . . . . . .152
• Uso de funciones de agregación y las cláusulas where y
default . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .154
• División de agregaciones: la cláusula by . . . . . . . . . . . .156
• Evaluación del enfoque de estadísticas: la instrucción de
calcular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .158
13
Definición de campos: la instrucción create
Definición de campos: la instrucción create
La instrucción create define un campo por derivación o agregación, según el contexto en el que
aparece.
Derivaciones: el archivo de derivaciones para qsderive, o la ventana Derivar campos equivalente,
el archivo de rastreos para qstrack y el archivo de selecciones para qsselect deben incluir
instrucciones create de la siguiente forma:
El archivo de agregaciones para qsmeasure o la ventana Agregar registros equivalente puede como
opción incluir instrucciones create de la siguiente forma:
En ambos casos, la instrucción create define un campo llamado nombre en relación con una expresión
FDL [consulte la sección Expressions (Expresiones) en la página 186]. El tipo de datos del campo es
el tipo de datos de la expresión, a menos que los sobrescriba especificando un tipo compatible [consulte
la sección Tipos de datos en la página 184].
• Para cada instrucción create sucesiva en el archivo de derivaciones, qsderive o la ventana Derivar
campos deriva un campo en el enfoque de salida utilizando la expresión dada, que puede hacer
referencia a campos en el enfoque de origen y a campos derivados más temprano en el archivo de
derivaciones.
• Para cada instrucción create sucesiva en el archivo de rastreos, qstrack deriva un campo utilizando
la expresión dada, que puede hacer referencia a campos en el enfoque de origen y a campos derivados
más temprano en el archivo de rastreos, así como también a estadísticas de enfoque definidas en
cualquier archivo de estadísticas. La expresión comúnmente implica variables de estado [consulte la
sección Variables en la página 190].
• Dado un archivo de selecciones, qsselect deriva un campo correspondiente de forma predeterminada
con la primera instrucción create e ignora cualquier otra instrucción en el archivo. La expresión de
definición debe ser de tipo booleano (o compatible).
• Para cada instrucción create sucesiva de esta forma en el archivo de agregaciones, qsmeasure o
la ventana Agregar registros deriva un campo en el enfoque de salida utilizando la expresión dada,
que puede hacer referencia a campos derivados anteriormente en el archivo de agregaciones y a
estadísticas de enfoque definidas en cualquier archivo de estadísticas.
• Una instrucción temporary tiene el mismo efecto que la instrucción create, excepto que el campo
no aparece en el enfoque de salida. No obstante, aún puede hacer referencia al campo temporary
en las expresiones siguientes del archivo de agregaciones.
Agregaciones El archivo de agregaciones para qsmeasure o la ventana Agregar registros equivalente
puede incluir instrucciones create de la siguiente forma:
152
Portrait Miner 7.1
Capítulo 13: Instrucciones TML
Para cada instrucción create de esta forma en el archivo de agregaciones, qsmeasure o la ventana
Agregar registros deriva eficazmente un campo virtual correspondiente a la expresión siguiendo la
función de agregación. Esta expresión puede hacer referencia a campos en el enfoque de origen.
Después de derivar el campo virtual, qsmeasure o la ventana Agregar registros aplica la función de
agregación [consulte la sección Uso de funciones de agregación y las cláusulas where y default
en la página 154].
El tipo de datos por defecto de los campos resultantes depende de la función de agregación y los valores,
operadores y funciones implicados en la expresión a la que se aplica, pero puede sobrescribirlo
especificando un tipo compatible.
Una instrucción temporary tiene el mismo efecto que la instrucción create, excepto que el campo
no aparece en el enfoque de salida. No obstante, aún puede hacer referencia al campo temporary en
las expresiones siguientes del archivo de agregaciones.
Nota: • En qsderive los archivos de derivaciones Derivar campos, archivos de selecciones
qsselect y archivos de rastreos qstrack, la expresión puede implicar estadísticas de
campos, variables globales y funciones definidas en función de estos. Estas funciones FDL
no están disponibles en un archivo de agregaciones qsmeasure o Agregar registros.
• Debe colocar paréntesis adicionales en la expresión si incluye un punto y coma, corchetes o
una palabra reservada TML [consulte la sección Palabras reservadas en TML en la página
149].
• Cada instrucción create debe comenzar en una nueva línea.
Ejemplos
Dado el archivo de derivaciones, derivations-customer.tml, que contiene lo siguiente:
// Length of standing of customer in months
create CustMonths := countwholemonths(StartDate, today());
// A key field of extended length
create CustomerID_24 : string(24) := CustomerID;
Aplicar estas derivaciones al enfoque RetailCustApril.ftr para crear un nuevo enfoque
RetailCustAprilDeriv.ftr:
qsderive -derivations derivations-customer.tml
-input RetailCustApril.ftr -output RetailCustAprilDeriv.ftr
Dado el archivo de selecciones, selections-customer.tml, que contiene lo siguiente:
// Select male customers aged between 18 and 65 inclusive.
create Selection := Gender = 1 and Age >= 18 and Age <= 65;
Guía de referencia del comando de creación de datos y TML
153
Uso de funciones de agregación y las cláusulas where y default
Aplicar esta selección al enfoque RetailCustApril.ftr para crear un nuevo enfoque
RetailCustAprilSelection.ftr:
qsselect -selections selections-customer.tml
-input RetailCustApril.ftr%
-output RetailCustAprilSelection.ftr
Dado el archivo de agregaciones, aggregations-mostRecent.tml, que contiene lo siguiente:
temporary LastPurchase := max(PurchaseDate);
create AvgTransVal := mean(Amount - 0.01 * PointsRedeemed);
create NumTrans := count();
create MonthsSinceLastPurchase :=
countwholemonths(LastPurchase, today());
Aplique estas agregaciones al enfoque RetailTransApril.ftr para crear un enfoque orientado al
cliente RetailAggRecentApril:
qsmeasure -aggregations aggregations-mostRecent.tml
-input RetailTransAprilSorted.ftr -output RetailAggRecentApril%
-keys CustomerID
También consulte
Funciones de agregación para mediciones y derivaciones en la página 162
qsderive en la página 63
qsmeasure en la página 66
qsselect en la página 73
qstrack en la página 70
División de agregaciones: la cláusula by en la página 156
Uso de funciones de agregación y las cláusulas
where y default
Puede agregar registros utilizando qsmeasure o la ventana Agregar registros equivalente.
Cuando utiliza una instrucción create en un archivo de agregaciones [consulte la sección Definición
de campos: la instrucción create en la página 152], qsmeasure o la ventana Agregar registros
equivalente deriva eficazmente un campo virtual que corresponde a la expresión entre paréntesis que
sigue a la función de agregación.
Conceptualmente, qsmeasure o la ventana Agregar registros divide los registros en el enfoque de
origen (aumentado por el campo virtual) en grupos de registros con el mismo valor de campo clave.
Para cada grupo de registros (que corresponden a un único valor de campo clave), qsmeasure o la
ventana Agregar registros aplica la función de agregación a los valores del campo virtual dentro de
estos registros para producir un único valor de resultado.
154
Portrait Miner 7.1
Capítulo 13: Instrucciones TML
Los valores de resultado de todos los grupos en conjunto constituyen un nuevo campo, con el nombre
determinado en la instrucción create, a menos que la instrucción create incluya una cláusula by
[consulte la sección División de agregaciones: la cláusula by en la página 156].
Dentro de cada grupo de registros con un valor de campo clave común, determinadas funciones de
agregación ignoran los registros para los que el campo virtual incluye null [consulte la sección El valor
null en la página 184].
Si la instrucción create incluye una cláusula where, la función de agregación ignora registros para
los que la expresión asociada se evalúa en 0 ("false"). Esta expresión puede hacer referencia a campos
en el enfoque de origen.
Dado que las funciones de agregación pueden ignorar algunos de los registros en un grupo con un valor
de campo clave, es posible que se omitan todos los registros en el grupo. Muchas funciones de
agregación regresan el valor null en este caso. Al incluir una cláusula default, puede especificar una
expresión constante que se evaluará en lugar de la agregación en el caso de que devuelva el valor null.
Nota: Cuando utiliza la función sum de agregación [consulte la sección sum (un argumento) en la
página 179], comúnmente debe especificar una suma predeterminada de 0. Si no utiliza una
cláusula default, la suma de una selección vacía de registros es null, lo probablemente no
será lo que desea.
Ejemplos Dado el archivo de agregaciones, aggregations-purchaseSummary.tml, que incluye
lo siguiente:
create
create
create
create
firstPurchaseDate := first(PurchaseDate);
commonPaymentMethod := mode(PaymentMethod);
Spend := sum(Amount) default 0;
SpendInStore800 := sum(Amount)
where Store = "0800" default 0;
create proportionSpendInStore800 := SpendInStore800 / Spend;
create NumTransCRRedeemed := count()
where PaymentMethod = "CR" and not isnull(PointsRedeemed);
Aplique estas agregaciones al enfoque RetailTransApril.ftr para crear un enfoque orientado al
cliente RetailAggSummaryApril:
qsmeasure -aggregations aggregations-purchaseSummary.tml
-input RetailTransAprilSorted.ftr -output RetailAggSummaryApril
-keys CustomerID
Guía de referencia del comando de creación de datos y TML
155
División de agregaciones: la cláusula by
También consulte
Funciones de agregación para mediciones y derivaciones en la página 162
Expressions (Expresiones) en la página 186
División de agregaciones: la cláusula by
El archivo de agregaciones para qsmeasure o la ventana Agregar registros equivalente incluye una
secuencia de instrucciones create [consulte Definición de campos: la instrucción create en la
página 152]. Como parte de una instrucción create, también puede incluir una cláusula by para desglosar
su agregación de acuerdo con la aplicación de una función de división o la función bin a una expresión
derivada de otros campos.
Para cada posible entero i devuelto por la función de división o función bin, qsmeasure o la ventana
Agregar registros crea un campo separado, que incluye valores agregados de solo estos registros
para los que se evalúa la aplicación de la función en i. El nombre de cada uno de estos campos está
formado por el nombre en la instrucción create junto con un sufijo que depende de la función utilizada
para la división de la agregación.
• Están disponibles las siguientes funciones de división incorporadas (con sufijos de nombres de campo
determinados que corresponden a sucesivos valores de la función):
Función
Sufijos de nombres de campos
day
"_1," "_2," "_3," ..., "_31"
dayofweek
"Sun," "Mon," "Tue," ..., "Sat"
hour
"0000," "0100," "0200" ..., "2300"
isnull
"NonNull," "Null"
match
"MisMatch," "Match"
member
"NotMember," "Member"
minute
"0," "1," "2," ..., "59"
month
"Jan," "Feb," "Mar," ..., "Dec"
second
"0," "1," "2," ..., "59"
sgn
"Negative," "Zero," "Positive"
strmember
"NotMember," "Member"
weekofyear
"_1," "_2," "_3," ..., "_53"
• Puede utilizar la función bin para aplicar un rango FDL a una expresión. Si se utiliza como una función
de división, la función bin da lugar a sufijos de nombres ce campos "_1," "_2," ..., "_n," "_null," y
"_other" (donde n depende del número de rangos en la creación de rangos).
156
Portrait Miner 7.1
Capítulo 13: Instrucciones TML
• También puede definir su propia función de división [consulte la sección Funciones definidas por
el usuario en la página 192]. El atributo element_names define los sufijos de nombres de campos
correspondientes a los valores de devolución de la función.
Ejemplos Dado el archivo de agregaciones, aggregations-builtinSplit.tml, que incluye lo
siguiente:
create numberPurchases := count();
create numberPurchasesOn_ := count() by dayofweek(PurchaseDate);
create proportionPurchases_Mon :=
numberPurchasesOn_Mon / numberPurchases;
create purchaseAmountIn_ :=
sum(Amount) by month(PurchaseDate) default 0;
Aplique estas agregaciones al enfoque RetailTransApril.ftr para crear un enfoque orientado al
cliente RetailDateSplitsApril.ftr que incluya campos CustomerID, numberPurchases,
numberPurchasesOn_Sun, numberPurchasesOn_Mon, ..., numberPurchasesOn_Sat,
proportionPurchases_Mon, y purchaseAmountIn_Jan, purchaseAmountIn_Feb, ...,
purchaseAmountIn_Dec:
qsmeasure -aggregations aggregations-builtinSplit.tml -keys CustomerID -input RetailTransApril.ftr
-output RetailDateSplitsApril.ftr
Dado el archivo de agregaciones, aggregations-binSplit.tml, que incluye lo siguiente:
create numberPurchasesAmountBand :=
count() by bin(EqualRange(20,100,4),Amount);
create numberPurchasesDateBand := count() by
bin(PrePost(todate(19990401), todate(19990501),
todate(19990601)), PurchaseDate);
create ratioPrePost :=
numberPurchasesDateBand_3 / numberPurchasesDateBand_2;
Aplique estas agregaciones al enfoque RetailTransApril.ftr para crear un enfoque orientado al
cliente, RetailRangeSplitsApril.ftr, que incluye campos CustomerID,
numberPurchasesAmountBand_1, numberPurchasesAmountBand_2, ...,
numberPurchasesAmountBand_6, numberPurchasesAmountBand_null,
numberPurchasesAmountBand_other (correspondiente a dos rangos finales, cuatro rangos internos
y el rango no clasificado y null), numberPurchasesDateBand_1, numberPurchasesDateBand_2,
..., numberPurchasesDateBand_4, numberPurchasesDateBand_null,
numberPurchasesDateBand_other y ratioPrePost:
qsmeasure -aggregations aggregations-binSplit.tml -keys CustomerID -input RetailTransApril.ftr -output
RetailRangeSplitsApril.ftr
Dado el archivo de funciones FDL, fdl-functions-storeGroups.fdl, que incluye lo siguiente:
function StoreGroupFunction( Store )
[
element_names = "North, South, East, West"
]
{
case
Store = "0000" or Store = "0800" : 1;
Store = "0300" or Store = "0600" or Store = "0700" : 2;
Store = "0100" or Store = "0400" : 3;
default : 4;
}
Guía de referencia del comando de creación de datos y TML
157
Evaluación del enfoque de estadísticas: la instrucción de calcular
Dado el archivo de agregaciones, aggregations-userDefinedSplit.tml, que incluye lo siguiente:
create totalPurchases := sum(Amount);
create totalPurchasesByStore_ :=
sum(Amount) by StoreGroupFunction( Store );
create proportionPurchases_North :=
totalPurchasesByStore_North / totalPurchases;
Aplique estas agregaciones al enfoque RetailTransApril.ftr para crear un enfoque orientado al
cliente, RetailGroupSplitsApril.ftr, que incluye los campos CustomerID, totalPurchases,
totalPurchasesByStore_North, totalPurchasesByStore_South, totalPurchasesByStore_East,
totalPurchasesByStore_West y proportionPurchases_North:
qsmeasure -aggregations aggregations-userDefinedSplit.tml
-library fdl-functions-storeGroups.fdl
-keys CustomerID
-input RetailTransApril.ftr -output RetailGroupSplitsApril.ftr
También consulte
Funciones de agregación para mediciones y derivaciones en la página 162
Expressions (Expresiones) en la página 186
Uso de funciones de agregación y las cláusulas where y default en la página 154
Evaluación del enfoque de estadísticas: la
instrucción de calcular
El archivo de estadística para qsmeasure, la ventana Agregar registros equivalente o qstrack
contienen instrucciones calculate del siguiente tipo:
La instrucción calculate define una estadística de enfoque llamada nombre en términos de una
función de agregación aplicada a una expresión FDL [consulte Expressions (Expresiones) en la página
186], que puede referirse a los campos en el enfoque de origen.
Al igual que sucede con una medición [consulte Uso de funciones de agregación y las cláusulas
where y default en la página 154], qsmeasure, qstrack o la ventana Agregar registros deriva
efectivamente un campo virtual que corresponde a la expresión entre paréntesis que sigue a la función
de agregación.
La instrucción calculate genera un único valor de resultado, que se obtiene aplicando la función de
agregación a todos los valores en el campo virtual. (Por el contrario, la instrucción create en un archivo
158
Portrait Miner 7.1
Capítulo 13: Instrucciones TML
de agregaciones genera un campo en el que cada valor se obtiene aplicando la función de agregación
a los valores en el campo virtual para un grupo de registros.)
El tipo de dato por defecto de una estadística de enfoque depende de la función de agregación y de los
valores, los operadores y las funciones involucradas en la expresión a la que este se aplica, pero se lo
puede anular si se especifica un tipo compatible [consulte Tipos de datos en la página 184].
Si la instrucción calculate contiene una cláusula where, la función de agregación ignora los registros
para los que la expresión asociada evalúa a 0 ("falso"). Esta expresión puede hacer referencia a campos
en el enfoque de origen.
Una vez que se ha definido una estadística de enfoque en el archivo de estadística, se puede remitir a
ella en las expresiones del archivo de agregaciones o del archivo seguidor mediante la forma especial
STATISTIC.nombre. Se puede usar esta forma siempre que se desee remitirse a un campo en el
archivo seguidor o de enfoque de origen.
Ejemplos Dado el archivo de estadísticas, statistics-amount.tml, que contiene lo siguiente:
calculate averageAmount := mean(Amount);
Dado el archivo de agregaciones, aggregations-statistic.tml, que contiene:
create averageSpend := mean(Amount);
create bigSpender := averageSpend > STATISTIC.averageAmount;
Aplicar estas agregaciones al enfoque RetailTransApril.ftr para crear un enfoque orientado al
cliente RetailAprilBigSpenders.ftr que contenga los campos CustomerID, averageSpend y
bigSpender:
qsmeasure -statistics statistics-amount.tml
-aggregations aggregations-statistic.tml
-keys CustomerID
-input RetailTransApril.ftr -output RetailAprilBigSpenders.ftr
También consulte
Funciones de agregación para mediciones y derivaciones en la página 162
Guía de referencia del comando de creación de datos y TML
159
Capítulo
Funciones de agregación
En esta sección:
• Funciones de agregación para mediciones y
derivaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .162
• any . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .165
• confintlower . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .165
• confintupper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .166
• count . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .167
• countnonnull/countnonnulls . . . . . . . . . . . . . . . . . . . . . .167
• countnull/countnulls . . . . . . . . . . . . . . . . . . . . . . . . . . . . .168
• countunique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .169
• countuniquenonnull . . . . . . . . . . . . . . . . . . . . . . . . . . . . .169
• first . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .170
• last . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .171
• max (un argumento) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .171
• mean (un argumento) . . . . . . . . . . . . . . . . . . . . . . . . . . . .172
• median . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .173
• min (un argumento) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .173
• mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .174
• moderatio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .175
• percentage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .175
• percentagerate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .176
• segindex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .177
• significance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .177
• stdev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .178
• sum (un argumento) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .179
• variance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .179
14
Funciones de agregación para mediciones y derivaciones
Funciones de agregación para mediciones y
derivaciones
Existen varias funciones de agregación disponibles para su uso en mediciones y derivaciones.
Utilizar una función en un contexto de medida significa utilizarlo en un archivo de agregaciones [consulte
Uso de funciones de agregación y las cláusulas where y default en la página 154] o archivo de
estadísticas [consulte Evaluación del enfoque de estadísticas: la instrucción de calcular en la
página 158] para qsmeasure o la ventana equivalente Agregar registros, o en un archivo de estadísticas
para qstrack.
Utilizar una función en un contexto de derivación significa utilizarla en una derivación de Decision, en
el archivo de derivaciones para qsderive o la ventana equivalente Derivar campos, en el archivo de
rastreadores para qstrack, o en un archivo de selecciones para qsselect..
Excepto en el caso de que se indique lo contrario, una función de agregación toma un campo único
numérico, de cadena o de fecha como un argumento.
Funciones de agregación para mediciones y derivaciones Puede utilizar las siguientes funciones
de agregación tanto en contextos de medición como en aquellos de derivación:
Función
Resultado
count
Cantidad de registros en el grupo/segmento
(Esta función no toma un argumento)
max [consulte la sección max (un argumento) en El valor no nulo máximo del campo para el
la página 171]
grupo/segmento
(En un contexto de derivación, esta función no
acepta como argumento una expresión con valores
en cadena).
mean [consulte la sección mean (un argumento) La media (promedio común) de los valores no nulos
en la página 172]
del campo para el grupo/segmento
(Esta función requiere como argumento una
expresión numérica).
min [consulte la sección min (un argumento) en El valor no nulo mínimo del campo para el
la página 173]
grupo/segmento
(En un contexto de derivación, esta función no
acepta como argumento una expresión con valores
en cadena).
162
Portrait Miner 7.1
Capítulo 14: Funciones de agregación
Función
Resultado
stdev
La desviación estándar de los valores no nulos del
campo para el grupo/segmento
(Esta función requiere como argumento una
expresión numérica).
sum [consulte la sección sum (un argumento) en La suma de los valores no nulos del campo para
la página 179]
el grupo/segmento
(Esta función requiere como argumento una
expresión numérica).
variance
La varianza de los valores no nulos del campo para
el grupo/segmento
(Esta función requiere como argumento una
expresión numérica).
Funciones de agregación solo para mediciones Puede utilizar las siguientes funciones de agregación
solamente en un contexto de medición:
Función
Resultado
any
Un valor no nulo en el campo, extraído de un
registro no nulo arbitrario en el grupo/segmento
confintlower
Límite inferior de un intervalo de confianza del 95%
para la media de un campo del grupo
confintupper
Límite superior de un intervalo de confianza del
95% para la media de un campo del grupo
countnonnull [consulte la sección
countnonnull/countnonnulls en la página 167]
Cantidad de registros en el grupo para los cuales
el campo tiene valores no nulos [consulte la
sección El valor null en la página 184]
En las derivaciones, en cambio, utilice
countnonnulls.
countnull [consulte la sección
countnull/countnulls en la página 168]
Cantidad de registros en el grupo para los cuales
el campo contiene valore nulos [consulte la sección
El valor null en la página 184] En las derivaciones,
en cambio, utilice countnulls.
countunique
Cantidad de valores únicos que se dan en el
campo, posiblemente incluido el valor nulo
countuniquenonnull
Cantidad de valores únicos, sin incluir el valor nulo,
que se dan en el campo
first
El primer valor no nulo mínimo del campo para el
grupo
Guía de referencia del comando de creación de datos y TML
163
Funciones de agregación para mediciones y derivaciones
Función
Resultado
last
Último valor no nulo mínimo del campo para el
grupo
median
Mediana (valor medio) de los valores no nulos del
campo para el grupo
(Esta función requiere como argumento una
expresión numérica o con valores de cadena).
mode
Modo (valor más común) de los valores no nulos
del campo para el grupo
moderatio
Proporción de registros no nulos en el grupo que
contienen los valores no nulos más comunes del
campo
Funciones de agregación solo para derivaciones Puede utilizar las siguientes funciones de agregación
solamente en un contexto de derivación:
Función
Resultado
countnonnulls [consulte la sección
countnonnull/countnonnulls en la página 167]
Cantidad de registros en el segmento para el cual
el campo tiene valores no nulos [consulte la
sección El valor null en la página 184]
En las mediciones, en cambio, utilice countnonnull.
countnulls [consulte la sección
countnull/countnulls en la página 168]
Cantidad de registros en el segmento para el cual
el campo incluye valores nulos [consulte la sección
El valor null en la página 184]
En las mediciones, en cambio, utilice countnull.
percentage
Cantidad de registros en el segmento, como
porcentaje de la cantidad total de registros
(Esta función no toma un argumento)
percentagerate
Porcentaje de registros no nulos en el segmento
que contienen el valor 1 en el campo
El campo solo debe contener los valores 0 y 1.
segindex
Número positivo que identifica de manera única el
segmento que se encuentra dentro de la tabulación
cruzada formada por los campos de desglose
(Esta función no toma un argumento)
significance
164
Significancia estadística de cualquier discrepancia
entre el valor medio del campo en el segmento y
el valor medio del campo para toda la población,
Portrait Miner 7.1
Capítulo 14: Funciones de agregación
Función
Resultado
con un signo que indica la dirección de la
desviación
(Esta función requiere como argumento una
expresión numérica).
any
Objetivo: Tomar arbitrariamente un valor no nulo de un campo (posiblemente por grupo o por segmento).
Sintaxis any(x)
Argumentos
Tipo
Nombre
Descripción
entero, real, fecha, o cadena
x
El campo del que se elige un
valor
Resultado
Tipo
Descripción
como entrada
Un valor arbitrario no nulo del campo x
(posiblemente por grupo o por segmento)
Nota: No puede utilizar esta función en una derivación de Decision Studio, ni en el archivo de
derivaciones de qsderive ni en la ventana Derivar campos equivalente, ni en el archivo de
rastreo de qstrack, ni en un archivo de selecciones de qsselect.
También consulte
Funciones de agregación para mediciones y derivaciones en la página 162
first en la página 170
last en la página 171
confintlower
Objetivo: Calcular el límite inferior un intervalo de confianza de 95% para la media de un campo.
Sintaxis confintlower(x)
Argumentos
Guía de referencia del comando de creación de datos y TML
165
confintupper
Tipo
Nombre
Descripción
numérico
x
El campo que debe considerarse
Resultado
Tipo
Descripción
real
El límite inferior de un intervalo dentro del cual se
espera que la media de la población del segmento
para el campo x entre dentro de un 95% de
confianza
Nota: No puede utilizar esta función en una derivación de Decision Studio, ni en el archivo de
derivaciones de qsderive ni en la ventana Derivar campos equivalente, ni en el archivo de
rastreo de qstrack, ni en un archivo de selecciones de qsselect.
También consulte
Funciones de agregación para mediciones y derivaciones en la página 162
confintupper en la página 166
significance en la página 177
confintupper
Objetivo: Calcular el límite superior un intervalo de confianza de 95% para la media de un campo.
Sintaxis confintupper(x)
Argumentos
Tipo
Nombre
Descripción
numérico
x
El campo que debe considerarse
Resultado
Tipo
Descripción
real
El límite superior de un intervalo dentro del cual se
espera que la media de la población del segmento
para el campo x entre dentro de un 95% de
confianza
Nota: No puede utilizar esta función en una derivación de Decision Studio, ni en el archivo de
derivaciones de qsderive ni en la ventana Derivar campos equivalente, ni en el archivo de
rastreo de qstrack, ni en un archivo de selecciones de qsselect.
166
Portrait Miner 7.1
Capítulo 14: Funciones de agregación
También consulte
Funciones de agregación para mediciones y derivaciones en la página 162
confintlower en la página 165
significance en la página 177
count
Objetivo: Recuento del número de registros (posiblemente por grupo o segmento).
Sintaxis count()
Argumentos Ninguno
Resultado
Tipo
Descripción
entero
El número de registros (posiblemente por grupo o
segmento).
También consulte
Funciones de agregación para mediciones y derivaciones en la página 162
countnonnull/countnonnulls en la página 167
countnull/countnulls en la página 168
countunique en la página 169
countuniquenonnull en la página 169
countnonnull/countnonnulls
Objetivo: Recuento del número de registros para los cuales un campo tiene valores no-nulos
(posiblemente por grupo o segmento).
Sintaxis countnonnull(x)
Argumentos
Tipo
Nombre
Descripción
entero, real, fecha, o cadena
x
El campo que debe considerarse
Resultado
Guía de referencia del comando de creación de datos y TML
167
countnull/countnulls
Tipo
Descripción
entero
El número de registros para los cuales el campo
x tiene valores no nulos (posiblemente por grupo
o segmento).
Nota: En tabulaciones cruzadas de Decision Studio y en un contexto de medidas [consulte Funciones
de agregación para mediciones y derivaciones en la página 162] esta función es
countnonnull, mientras que en un contexto de derivaciones es countnonnulls.
También consulte
Funciones de agregación para mediciones y derivaciones en la página 162
count en la página 167
countnull/countnulls en la página 168
countunique en la página 169
countuniquenonnull en la página 169
countnull/countnulls
Objetivo: Recuento del número de registros para los cuales un campo contiene el valor nulo
(posiblemente por grupo o segmento).
Sintaxis countnull(x)
Argumentos
Tipo
Nombre
Descripción
entero, real, fecha, o cadena
x
El campo que debe considerarse
Resultado
Tipo
Descripción
entero
El número de registros para los cuales el campo
x es nulo (posiblemente por grupo o segmento).
Nota: En tabulaciones cruzadas de Decision Studio y en un contexto de medidas [consulte Funciones
de agregación para mediciones y derivaciones en la página 162] esta función es countnull,
mientras que en un contexto de derivaciones es countnulls.
También consulte
Funciones de agregación para mediciones y derivaciones en la página 162
count en la página 167
168
Portrait Miner 7.1
Capítulo 14: Funciones de agregación
countnonnull/countnonnulls en la página 167
countunique en la página 169
countuniquenonnull en la página 169
countunique
Objetivo: Recuento del número de valores únicos que ocurren en un campo y que incluyen
potencialmente el valor nulo (posiblemente por grupo o segmento).
Sintaxis countunique(x)
Argumentos
Tipo
Nombre
Descripción
entero, real, fecha, o cadena
x
El campo que debe considerarse
Resultado
Tipo
Descripción
entero
El número de valores únicos, incluyendo nulo, que
ocurren en x (posiblemente por grupo o segmento).
Nota: No puede utilizar esta función en una derivación de Decision Studio, ni en el archivo de
derivaciones de qsderive ni en la ventana Derivar campos equivalente, ni en el archivo de
rastreo de qstrack, ni en un archivo de selecciones de qsselect.
También consulte
Funciones de agregación para mediciones y derivaciones en la página 162
count en la página 167
countnonnull/countnonnulls en la página 167
countnull/countnulls en la página 168
countuniquenonnull en la página 169
countuniquenonnull
Objetivo: Recuento del número de valores únicos no nulos que ocurren en un campo (posiblemente
por grupo o segmento).
Sintaxis countuniquenonnull(x)
Guía de referencia del comando de creación de datos y TML
169
first
Argumentos
Tipo
Nombre
Descripción
entero, real, fecha, o cadena
x
El campo que debe considerarse
Resultado
Tipo
Descripción
entero
El número de valores únicos, excluyendo nulo, que
ocurren en x (posiblemente por grupo o segmento).
Nota: No puede utilizar esta función en una derivación de Decision Studio, ni en el archivo de
derivaciones de qsderive ni en la ventana Derivar campos equivalente, ni en el archivo de
rastreo de qstrack, ni en un archivo de selecciones de qsselect.
También consulte
Funciones de agregación para mediciones y derivaciones en la página 162
count en la página 167
countnonnull/countnonnulls en la página 167
countnull/countnulls en la página 168
countunique en la página 169
first
Objetivo: Elegir el primer valor no nulo en un campo (posiblemente por grupo o segmento).
Sintaxis first(x)
Argumentos
Tipo
Nombre
Descripción
entero, real, fecha, o cadena
x
El campo del que se elige un
valor
Resultado
170
Tipo
Descripción
como entrada
El primer valor mínimo no nulo encontrado en el
campo x (posiblemente por grupo o segmento)
Portrait Miner 7.1
Capítulo 14: Funciones de agregación
Nota: No puede utilizar esta función en una derivación de Decision Studio, ni en el archivo de
derivaciones de qsderive ni en la ventana Derivar campos equivalente, ni en el archivo de
rastreo de qstrack, ni en un archivo de selecciones de qsselect.
También consulte
Funciones de agregación para mediciones y derivaciones en la página 162
any en la página 165
last en la página 171
last
Objetivo: Elegir el último valor no nulo en un campo (posiblemente por grupo o segmento).
Sintaxis last(x)
Argumentos
Tipo
Nombre
Descripción
entero, real, fecha, o cadena
x
El campo del que se elige un
valor
Resultado
Tipo
Descripción
como entrada
El último valor no nulo encontrado en el campo x
(posiblemente por grupo o segmento)
Nota: No puede utilizar esta función en una derivación de Decision Studio, ni en el archivo de
derivaciones de qsderive ni en la ventana Derivar campos equivalente, ni en el archivo de
rastreo de qstrack, ni en un archivo de selecciones de qsselect.
También consulte
Funciones de agregación para mediciones y derivaciones en la página 162
any en la página 165
first en la página 170
max (un argumento)
Objetivo: Calcular el valor máximo no nulo en un campo (posiblemente por grupo o segmento).
Guía de referencia del comando de creación de datos y TML
171
mean (un argumento)
Sintaxis max(x)
Argumentos
Tipo
Nombre
Descripción
entero, real, fecha, o cadena
x
El campo cuyos valores deben
compararse
Resultado
Tipo
Descripción
como entrada
El valor máximo no nulo en el campo x
(posiblemente por grupo o segmento)
Nota: • No se debe confundir esta función aggregation con la función multi-argument [consulte max
(dos o más argumentos), maxnonnull en la página 282] del mismo nombre.
• En un contexto de derivación, esta función no acepta como argumento un campo con valor
de cadena o de fecha.
También consulte
Funciones de agregación para mediciones y derivaciones en la página 162
min (un argumento) en la página 173
mean (un argumento)
Objetivo: Calcular el promedio (media común) de los valores no nulos de un campo (posiblemente por
grupo o segmento).
Sintaxis mean(x)
Argumentos
Tipo
Nombre
Descripción
numérico
x
El campo cuya media debe
calcularse
Resultado
Tipo
Descripción
real
La media de los valores no nulos en un campo x
(posiblemente por grupo o segmento)
Nota: No se debe confundir esta función aggregation con la función multi-argument [consulte mean
(dos o más argumentos), meannonnull en la página 283] del mismo nombre.
172
Portrait Miner 7.1
Capítulo 14: Funciones de agregación
También consulte
Funciones de agregación para mediciones y derivaciones en la página 162
median en la página 173
mode en la página 174
median
Objetivo: Calcular la mediana (valor mediano) de los valores no nulos de un campo (posiblemente por
grupo o segmento).
Sintaxis median(x)
Argumentos
Tipo
Nombre
Descripción
entero, real o cadena
x
El campo cuya mediana debe
calcularse
Resultado
Tipo
Descripción
como entrada
La mediana de los valores no nulos en un campo
x (posiblemente por grupo o segmento)
Nota: No puede utilizar esta función en una derivación de Decision Studio, ni en el archivo de
derivaciones de qsderive ni en la ventana Derivar campos equivalente, ni en el archivo de
rastreo de qstrack, ni en un archivo de selecciones de qsselect.
También consulte
Funciones de agregación para mediciones y derivaciones en la página 162
mean (un argumento) en la página 172
mode en la página 174
min (un argumento)
Objetivo: Calcular el valor mínimo no nulo en un campo (posiblemente por grupo o segmento).
Sintaxis min(x)
Argumentos
Guía de referencia del comando de creación de datos y TML
173
mode
Tipo
Nombre
Descripción
entero, real, fecha, o cadena
x
El campo cuyos valores deben
compararse
Resultado
Tipo
Descripción
como entrada
El valor mínimo no nulo en el campo x
(posiblemente por grupo o segmento)
Nota: • No se debe confundir esta función aggregation con la función multi-argument [consulte min
(dos o más argumentos), minnonnull en la página 283] del mismo nombre.
• En un contexto de derivación, esta función no acepta como argumento un campo con valor
de cadena o de fecha.
También consulte
Funciones de agregación para mediciones y derivaciones en la página 162
max (un argumento) en la página 171
mode
Objetivo: Calcular la moda (el valor más común) de los valores no nulos de un campo (posiblemente
por grupo o segmento).
Sintaxis mode(x)
Argumentos
Tipo
Nombre
Descripción
entero, real, fecha, o cadena
x
El campo cuya moda debe
calcularse
Resultado
Tipo
Descripción
como entrada
El modo de los valores no nulos en un campo x
(posiblemente por grupo o segmento)
Nota: • En el caso de un empate en el valor más común, la función indica el valor que empata menos,
la fecha más temprana que empata o la primera cadena en orden alfabético que empata .
• No puede utilizar esta función en una derivación de Decision Studio, ni en el archivo de
derivaciones de qsderive ni en la ventana Derivar campos equivalente, ni en el archivo de
rastreo de qstrack, ni en un archivo de selecciones de qsselect.
174
Portrait Miner 7.1
Capítulo 14: Funciones de agregación
También consulte
Funciones de agregación para mediciones y derivaciones en la página 162
mean (un argumento) en la página 172
median en la página 173
moderatio en la página 175
moderatio
Objetivo: Calcular la proporción de registros no nulos que contienen el valor no nulo más común de un
campo (posiblemente por grupo o segmento).
Sintaxis moderatio(x)
Argumentos
Tipo
Nombre
Descripción
entero, real, fecha, o cadena
x
El campo cuyo coeficiente de
moda debe calcularse
Resultado
Tipo
Descripción
real
El coeficiente de moda del campo x (posiblemente
por grupo o segmento)
Nota: No puede utilizar esta función en una derivación de Decision Studio, ni en el archivo de
derivaciones de qsderive ni en la ventana Derivar campos equivalente, ni en el archivo de
rastreo de qstrack, ni en un archivo de selecciones de qsselect.
También consulte
Funciones de agregación para mediciones y derivaciones en la página 162
mode en la página 174
percentage
Sintaxis percentage()
Objetivo: Calcular el número de registros en un segmento de tabulación cruzada, como porcentaje del
total.
Argumentos Ninguno
Guía de referencia del comando de creación de datos y TML
175
percentagerate
Resultado
Tipo
Descripción
real
El porcentaje de registros (posiblemente por grupo
o segmento).
Nota: Sólo puede utilizar esta función en una derivación de Decision Studio, en el archivo de
derivaciones de qsderive o en la ventana Derivar campos equivalente en el archivo de rastreo
qstrack o en un archivo de selecciones de qsselect.
También consulte
Funciones de agregación para mediciones y derivaciones en la página 162
percentagerate
Objetivo: Para un campo binario (1/0), calcular la proporción de registros no nulos que contienen el
valor 1, como porcentaje.
Sintaxis percentagerate(x)
Argumentos
Tipo
Nombre
Descripción
numérico
x
El campo binario que debe
considerarse
Resultado
Tipo
Descripción
real
El porcentaje de registros en un campo binario que
tienen el valor 1 (posiblemente por grupo o
segmento)
Nota: Esta función no puede usarse en archivo de agregación [consulte Uso de funciones de
agregación y las cláusulas where y default en la página 154] ni en un archivo de estadísticas
[consulte Evaluación del enfoque de estadísticas: la instrucción de calcular en la página
158] para qsmeasure ni en la ventana equivalente de Agregar registros ni en un archivo de
estadísticas para qstrack.
También consulte
Funciones de agregación para mediciones y derivaciones en la página 162
176
Portrait Miner 7.1
Capítulo 14: Funciones de agregación
segindex
Objetivo: Generar un número de índice que represente un segmento.
Sintaxis segindex()
Argumentos Ninguno
Resultado
Tipo
Descripción
entero
Un número positivo que identifica únicamente a un
segmento dentro de una tabulación cruzada.
Nota: • Si se ocultan segmentos nulos, sin clasificar o vacíos en una vista de tabulación cruzada, aún
así reciben un índice de segmento, por lo que podrían aparecer huecos en la secuencia de
índices visibles.
• Esta función no puede usarse en archivo de agregación [consulte Uso de funciones de
agregación y las cláusulas where y default en la página 154] ni en un archivo de estadísticas
[consulte Evaluación del enfoque de estadísticas: la instrucción de calcular en la página
158] para qsmeasure ni en la ventana equivalente de Agregar registros ni en un archivo de
estadísticas para qstrack.
Ejemplo R–2: Marcación de deciles aproximados
Se pueden crear rangos en un campo "myfield" en diez rangos de igual población y luego derivar un
campo "decile":
segindex() by myfield
También consulte
Funciones de agregación para mediciones y derivaciones en la página 162
bin en la página 326
significance
Objetivo: Calcular la significancia estadística de cualquier discrepancia entre el valor medio de un
campo para un segmento de una tabulación cruzada y el valor medio del mismo campo para toda la
población.
Sintaxis significance(x)
Argumentos
Guía de referencia del comando de creación de datos y TML
177
stdev
Tipo
Nombre
Descripción
numérico
x
El campo que debe considerarse
Resultado
Tipo
Descripción
real
Un valor entre -1 and 1, cuyo signo indica la
dirección en la cual la media del segmento de x
se desvía de la media de la población de x y cuyo
valor absoluto indica la significación estadística de
tal desviación, teniendo en cuenta el tamaño del
segmento.
Nota: Esta función no puede usarse en archivo de agregación [consulte Uso de funciones de
agregación y las cláusulas where y default en la página 154] ni en un archivo de estadísticas
[consulte Evaluación del enfoque de estadísticas: la instrucción de calcular en la página
158] para qsmeasure ni en la ventana equivalente de Agregar registros ni en un archivo de
estadísticas para qstrack.
También consulte
Funciones de agregación para mediciones y derivaciones en la página 162
confintlower en la página 165
confintupper en la página 166
stdev
Objetivo: Calcular la desviación estándar de los valores no nulos de un campo (posiblemente por grupo
o segmento).
Sintaxis stdev(x)
Argumentos
Tipo
Nombre
Descripción
numérico
x
El campo cuya desviación
estándar debe computarse
Resultado
178
Tipo
Descripción
real
La desviación estándar de los valores no nulos en
un campo x (posiblemente por grupo o segmento)
Portrait Miner 7.1
Capítulo 14: Funciones de agregación
También consulte
Funciones de agregación para mediciones y derivaciones en la página 162
sum (un argumento)
Objetivo: Calcular la suma de los valores no nulos en un campo (posiblemente por grupo o segmento).
Sintaxis sum(x)
Argumentos
Tipo
Nombre
Descripción
numérico
x
El campo cuyos valores se
sumarán
Resultado
Tipo
Descripción
como entrada
La suma de los valores no nulos en el campo x
(posiblemente por grupo o segmento)
Nota: • No se debe confundir esta función aggregation con la función multi-argument [consulte sum
(dos o más argumentos), sumnonnull en la página 288] del mismo nombre.
• Tenga en cuenta que cuando la función sum de agregación se aplica a un conjunto vacío de
registros (por ejemplo, como consecuencia del filtrado de registros), el resultado es null.
Normalmente debería sobrescribir este comportamiento mediante la configuración del valor
predeterminado en 0.
También consulte
Funciones de agregación para mediciones y derivaciones en la página 162
variance
Objetivo: Calcular la varianza estadística de los valores no nulos de un campo (posiblemente por grupo
o segmento).
Sintaxis variance(x)
Argumentos
Guía de referencia del comando de creación de datos y TML
179
variance
Tipo
Nombre
Descripción
numérico
x
El campo cuya varianza debe
computarse
Resultado
Tipo
Descripción
real
La varianza de los valores no nulos en el campo
x (posiblemente por grupo o segmento)
También consulte
Funciones de agregación para mediciones y derivaciones en la página 162
180
Portrait Miner 7.1
Capítulo
Lenguaje de derivación de
campos
En esta sección:
• Acerca del lenguaje de derivación de campos (FDL) . .182
15
Acerca del lenguaje de derivación de campos (FDL)
Acerca del lenguaje de derivación de campos (FDL)
Field Derivation Language (FDL) es un lenguaje simple que permite especificar la creación de campos
nuevos en enfoques de Portrait Miner. Puede utilizar FDL en Visor de Tablas en Decision Studio, los
asistentes Derivar campos y Agregar registros asistentes de configuración y los comandos de creación
de datos de Portrait Miner: qsderive, qsmeasure, qstrack y qsselect.
Puede emplear FDL para lo siguiente:
•
•
•
•
Transformar, combinar y realizar una variedad de otros cálculos en campos existentes en un enfoque
Dividir un enfoque en un conjunto de muestras aleatorias
Definir segmentaciones y modelos predictivos
Seleccionar registros de acuerdo con un criterio que elija
Comúnmente lo utiliza en expresiones de "una línea" simples, tal como aquellas descritas en Expresiones
básicas en la página 186, pero también puede utilizarlo para construir scripts con rutas de ejecución
complejas dependientes de datos.
La sintaxis de FDL incluye:
• Operadores para aritmética [consulte la sección Operadores aritméticos en la página 195].
• Operadores para comparación [consulte Operadores relacionales en la página 196] y para la
combinación de expresiones lógicas [consulte la sección Operadores lógicos en la página 198].
• Dos construcciones alternativas para la evaluación condicional de instrucciones: if...then...else
y case [consulte la sección Expresiones condicionales en la página 187].
• Un conjunto integral de funciones incorporadas [consulte la sección Funciones incorporadas en la
página 199].
• La posibilidad de encapsular transformaciones comunes como funciones definidas por el usuario
[consulte la sección Funciones definidas por el usuario en la página 192] para volver a utilizar y
compartir.
• Variables, para retener valores para volver a utilizar dentro de un script FDL, incluido (en algunos
contextos) variables del "acumulador" global [consulte la sección Variables globales en Decision
Studio en la página 191].
• Una facilidad que permite incorporar tabulaciones cruzadas a derivaciones .
También consulte
Acerca de Transaction Measurement Language en la página 148
Expressions (Expresiones) en la página 186
182
Portrait Miner 7.1
Capítulo
Sintaxis FDL
En esta sección:
•
•
•
•
•
•
•
•
•
•
•
Tipos de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .184
Expressions (Expresiones) . . . . . . . . . . . . . . . . . . . . . . .186
Expresiones condicionales . . . . . . . . . . . . . . . . . . . . . . .187
Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .190
Funciones definidas por el usuario . . . . . . . . . . . . . . . .192
Operadores aritméticos . . . . . . . . . . . . . . . . . . . . . . . . . .195
Operadores relacionales . . . . . . . . . . . . . . . . . . . . . . . . .196
Operadores lógicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . .198
Prioridad de operadores . . . . . . . . . . . . . . . . . . . . . . . . .199
Funciones incorporadas . . . . . . . . . . . . . . . . . . . . . . . . .199
Palabras reservadas en FDL . . . . . . . . . . . . . . . . . . . . . .206
16
Tipos de datos
Tipos de datos
Los siguientes tipos de datos básicos son compatibles en FDL [consulte la sección Acerca del lenguaje
de derivación de campos (FDL) en la página 182]:
Tipo
Descripción
Ejemplos (como literales de
FDL)
entero
Un número sin una parte
78004, -100
fraccional (entre -2 147 483 647
y 2 147 483 646)
real
Un número con una parte
42,3, -0,56
fraccionaria, representado de
modo interno como un número
de "punto flotante" con precisión
de 15 dígitos (entre
y
, o 0)
fecha
Una fecha/hora entre AD 1507 y #2009/01/01,
AD 3015, con precisión de un
#2009/01/01:16:01:39
segundo
cadena
Una cadena de caracteres, que
representa datos textuales
"hello"
número pequeño
Un número pequeño sin una
parte fraccional (entre
qsminsmallint y
qsmaxsmallint)
42, -1
Nota: • Si utiliza un valor entero literal (tal como 12345678910) que es demasiado largo para un tipo
de datos entero, obtendrá un flujo excesivo. Con frecuencia puede trabajar con esto utilizando
en cambio un valor real: (en este caso, 12345678910.0).
• El tipo smallinteger tiene aplicabilidad limitada dentro de Portrait Miner, y solo debe utilizarse
cuando sea absolutamente necesario. En general, debe utilizar el tipo integer en su lugar.
El valor null
Además de los valores ordinarios para cada uno de los tipos de datos básicos, un campo o expresión
de tipo integer, real, fecha o cadena puede adquirir el valor especial null. El valor nulo siempre representa
un valor desconocido (a causa de datos faltantes, dado un flujo excesivo en un cálculo, tal como división
por cero, o por algún otro motivo). Se diferencia de cero y la cadena vacía "".
Las funciones y operaciones FDL preservan la incertidumbre introducida por un argumento u operando
nulo, con frecuencia proporcionando el valor nulo como resultado. No obstante, hay funciones, a saber
isnull y algunas funciones de agregación, que tratan especialmente el valor nulo.
184
Portrait Miner 7.1
Capítulo 16: Sintaxis FDL
Ejemplos
?
1 + null es igual a null.
1 != null es igual a null.
1 < null es igual a null.
null = null es igual a null.
null != null es igual a null.
false or null es igual a null.
true and null es igual a null.
true or null es igual a true.
false and null es igual a false.
También consulte
ifnull, nvl en la página 210
Datos booleanos
No hay tipo de datos booleano formal (verdadero/falso) en FDL. Sin embargo, puede tratar un campo
integer (o variable) que incluye solo los valores 0 y 1, o una expresión lógica tal como Ingresos <
10000, como si fueran del tipo buleano.
Las expresiones lógicas evalúan a 1 cuando son del tipo true y a 0 cuando son del tipo false. Expresiones
condicionales utilizan estos valores para determinar cuáles de dos o más expresiones evaluar.
Operadores lógicos también funcionan con estos valores. Un valor de 0 en un campo o variable integer
se interpreta como "falso" y cualquier otro valor (no nulo) se interpreta como "true".
Además, puede utilizar las palabras clave true y false como literales buleanos (que representan 1 y
0, respectivamente).
Compatibilidad de tipos
Los tipos de datos integer y real son compatibles con tipos, dado que puede utilizar un valor integer
siempre que se requiera un valor real (pero no viceversa), por ejemplo, como un argumento para una
función. Los tipos de datos date y string son únicamente compatibles con tipos entre sí mismos.
Los operandos de un operador aritmético binario [consulte la sección Operadores aritméticos en la
página 195] u operador relacional [consulte la sección Operadores relacionales en la página 196] deben
ser compatibles con tipos. De hecho, en el caso de un operador aritmético binario, ambos operandos
deben ser numéricos; el resultado es real a menos que los operandos sean enteros.
De igual forma, las expresiones de resultado en una expresión if o case [consulte la sección Expresiones
condicionales en la página 187] deben ser compatibles con tipos, de modo que el tipo del resultado
pueda determinarse antes de la evaluación. Si se combinan expresiones de valor integer y real, el
resultado es un valor real.
Guía de referencia del comando de creación de datos y TML
185
Conversión de tipos
Conversión de tipos
Además de utilizar la conversión de tipos de datos implícita (que se da cuando el tipo de datos de una
expresión se fuerza), puede convertir explícitamente entre tipos de datos con las funciones FDL tointeger,
toreal, todate y tostring.
Nota: Al convertir desde una cadena a un numérico, cualquier carácter no numérico posterior se
ignorará.
Expressions (Expresiones)
Una expresión FDL es una de las siguientes:
•
•
•
•
Una expresión básica [consulte la sección Expresiones básicas en la página 186]
Una expresión condicional [consulte la sección Expresiones condicionales en la página 187]
Una inicialización o asignación de variables [consulte la sección Variables en la página 190]
Una lista de expresiones separadas por puntos y coma (una lista de expresiones), encerrada entre
paréntesis
Cada expresión tiene un tipo de datos asociado [consulte Tipos de datos en la página 184] y puede
evaluarse.
Para evaluar una lista de expresiones en un contexto determinado, evalúe cada expresión constituyente
por vez, de la primera a la última; el valor de la lista de expresiones en su totalidad es el último valor
calculado.
Nota: • El tipo de datos se infiere automáticamente. No puede especificar uno diferente mediante el
uso de una variable local del tipo requerido, o mediante el uso de una expresión que fuerce
el tipo. Por ejemplo, la siguiente expresión fuerza el tipo para que sea real:
if false then 0.0 else ...
• Por lo general utiliza listas de expresiones en combinación con asignación de variables.
Expresiones básicas
Una expresión básica es una de las siguientes:
• Un identificador, opcionalmente citado entre comillas simples, por ejemplo, 'CustomerID'. Debe
encerrar un identificador entre comillas simples si no comienza con una letra ("A" — "Z" o "a" — "z"),
incluye caracteres diferentes a letras, dígitos y guiones bajos, o coincide con una palabra reservada
TML o FDL (o es diferente de uno únicamente en fuente). Un identificador no debe tener más de 128
caracteres.
• Un literal numérico, por ejemplo, 30, -3,28 o
3,1e8 (el último representa
• Un literal de cadena, encerrado en comillas dobles, por ejemplo, "Una cadena"
• Un literal de fecha, con el prefijo "#", por ejemplo, #2004/03/16 o #2004/03/16:09:12:13
186
Portrait Miner 7.1
Capítulo 16: Sintaxis FDL
• La palabra clave "null" (consulte la sección El valor null en la página 184)
• Una aplicación de función, que comprende el nombre de una función (un identificador) seguido de
una lista de argumentos separados por coma (expresiones) en paréntesis; por ejemplo, mean(IncomeA
+ IncomeB, TotalEstIncome)
• Una expresión aritmética, que comprende expresiones de valor numérico conectados por operadores
aritméticos [consulte la sección Operadores aritméticos en la página 195], por ejemplo, 365/52
• Una relación, que comprende expresiones de valor numérico o de cadena conectadas por operadores
relacionales [consulte la sección Operadores relacionales en la página 196], por ejemplo, Age >
30 o 'State' = "New York"
• Una expresión lógica, que comprende relaciones u otras expresiones de valor buleano conectadas
por operadores lógicos [consulte la secciónOperadores lógicos en la página 198 ], por ejemplo,
(Income > 250000) y (MaritalStatus = "Single")
• Un identificador estadístico, que comprende la palabra clave TML STATISTIC seguida de un
identificador, por ejemplo, STATISTIC.AverageIncome (solo en un archivo de agregaciones TML)
• Una estadística de campos — solo en una derivación de Decision Studio, un archivo de derivaciones
qsderive o un archivo de selecciones qsselect selections file>
Nota: • Los identificadores FDL distinguen entre mayúsculas y minúsculas. Por ejemplo, las expresiones
CustomerID y CUSTOMERID hacen referencia a campos diferentes, mientras que las
expresiones isnull(Age) y IsNull(Age) implican funciones diferentes.
• Un literal numérico se evalúa como un entero si no incluye punto decimal y no utiliza notación
científica. De lo contrario, se evalúa como número real.
• Un literal de cadena puede incluir caracteres diferentes a comillas dobles (") y caracteres de
línea nueva.
• Un literal de fecha al principio se evalúa en formato YMD [consulte Formatos de fecha en la
página 55]; si esto falla, se evalúa según la configuración de su preferencia read .
• Además de incorporar espacios entre elementos sintácticos, puede incluir comentarios que
comiencen con una barra vertical doble ("//") y continúen hasta el final de la línea. Por ejemplo,
// This is a comment.
2 + 2 // This is a comment.
También consulte
Palabras reservadas en FDL en la página 206
Palabras reservadas en TML en la página 149
Expresiones condicionales
En FDL, hay dos formas principales en las que puede evaluar condicionalmente una expresión: la
expresión if y la expresión case.
También consulte
Acerca del lenguaje de derivación de campos (FDL) en la página 182
Guía de referencia del comando de creación de datos y TML
187
La expresión if
Expressions (Expresiones) en la página 186
La expresión if
Si la condición (una expresión FDL que regresa un valor booleano [consulte la sección Datos booleanos
en la página 185]) es verdadero, la expresión que sigue a then se evalúa; de lo contrario, la expresión
que sigue a else se evalúa. El valor de la expresión es el valor de la expresión evaluada.
Nota: • Las expresiones que siguen a then y else deben ser compatibles con tipos [consulte la
sección Tipos de datos en la página 184].
• Si omite la parte "else" de una expresión if y la condición es false, el valor de la expresión if
es null [consulte la sección El valor null en la página 184].
• Una condición null [consulte la sección El valor null en la página 184] se trata por la expresión
if como si fuera falsa. Esta es una excepción a la regla general que indica que la incertidumbre
introducida por el valor null se preserva por las expresiones FDL. Esto puede dar lugar a
resultados imprevistos: por ejemplo, cuando Age es null, las siguientes expresiones (a primera
vista equivalentes) generan el valor null, 0 y 1 respectivamente:
Age > 40
if Age > 40 then 1 else 0
if Age <= 40 then 0 else 1
• Puede probar diferentes condiciones utilizando expresiones if agrupadas; si las expresiones
en la que la expresión que sigue a then o else es en sí misma una expresión if. Si la expresión
que sigue a then es una expresión if, debe encerrarla entre paréntesis para evitar ambigüedad.
Alternativamente, puede utilizar la expresión case [consulte la sección La expresión case en
la página 189].
• Si su condición se puede expresar como x = 0 (o
) para algún número X, también puede
utilizar la función FDL incorporada cond en lugar de una expresión if.
Ejemplos
if Age < 40 then "Young"
if Age < 40 then "Young" else "Senior"
if Age > 40 then "Young" else if Age < 60 then "MiddleAged" else "Senior"
if (Age >= 13 and Age < 20) then "Teenager"
if isnull(Age) then mean(Age) else Age
if Responder then RespondDate else StartDate
if match(Postcode, "^EH") then "Y" else "N"
if StartDate < #1998/09/08 then "Loyal" else "Recent"
188
Portrait Miner 7.1
Capítulo 16: Sintaxis FDL
La expresión case
Si la primera condición (una expresión FDL que regresa un valor booleano [consulte la sección Datos
booleanos en la página 185]) es true, la expresión correspondiente (a la derecha de los dos puntos) se
evalúa y regresa como el valor de la expresión case. De lo contrario, se prueba la siguiente condición;
de ser true, la expresión correspondiente se evalúa y regresa como el valor de la expresión case. De
lo contrario, se prueba la siguiente condición y así sucesivamente.
La palabra clave default especial se interpreta como una expresión siempre true: normalmente la
utilizaría como la última condición en una expresión case (dado que las condiciones subsiguientes se
ignorarían).
Nota: • Todas las expresiones que sucedan a la derecha de los dos puntos deben ser compatibles
con tipos [consulte la sección Tipos de datos en la página 184].
• Si ninguna de las condiciones es verdadera (y no hay palabra clave default), el valor de la
expresión case es null [consulte la sección El valor null en la página 184].
• Una condición null [consulte la sección El valor null en la página 184] se trata por la expresión
case como si fuera falsa. Esta es una excepción a la regla general que indica que la
incertidumbre introducida por el valor null se preserva por las expresiones FDL. Por ejemplo,
cuando Age es null, la siguiente expresión genera el valor 3:
case
Age > 40 : 1;
Age <= 40 : 2;
default : 3;
• Si utiliza una expresión case en una lista de expresiones o agrupa una expresión case como
condición (dentro de una expresión if u otra expresión case), debe encerrarla entre paréntesis
para evitar ambigüedad.
Ejemplos
case
Age < 40: "Young";
default: "NotYoung";
case
Response = "Exc": 7;
Response = "V. Sat": 6
Response = "Sat": 5;
Response = "F. Sat": 4;
Guía de referencia del comando de creación de datos y TML
189
Variables
Response = "Poor": 3;
Response = "Bad": 2;
default: 1;
Variables
Una variable en FDL es una ubicación de almacenamiento temporal para un valor real, entero, string o
date. Puede utilizar una variable local para evaluar una subexpresión% complicada, particularmente útil
si se da la misma subexpresión más de una vez%, o para evaluar una expresión que incluye una función
de números aleatorios, y así evitar que su valor cambie de una evaluación a la siguiente. También puede
utilizar variables global en Decision Studio [consulte la sección Variables globales en Decision Studio
en la página 191] y variables state en archivos de rastreo TML [consulte la sección Variables state en
Transaction Measurement Language en la página 191] para llevar información de un registro al siguiente.
Para asignar un valor a una variable, utilice la siguiente sintaxis:
La primera de tal asignación es una inicialización y determina la clase de la variable% — local (sin
palabra clave), global o state. La palabra clave global o state solo se utiliza en conjunto con la
primera asignación a una variable global o state (la inicialización).
El identificador [consulte la sección Expresiones básicas en la página 186] es el nombre de la variable
(que no debe coincidir con un nombre de campo en el enfoque).
Para cualquier clase de variable, su tipo de datos [consulte la sección Tipos de datos en la página 184]
es aquel del primer valor que se le asignó.
El valor de una expresión de asignación es simplemente el valor de la expresión a la derecha del signo
":=".
Por ejemplo, la siguiente lista de expresiones asigna aleatoriamente el valor 1 (al 20% de los registros),
2 (a otro 20% de los registros) o 0 (al resto de los registros):
x := rndUniform();
case
x < 0.2 : 1;
x < 0.4 : 2;
default : 0;
Puede escribirse equivalentemente en su forma más compacta:
case
190
Portrait Miner 7.1
Capítulo 16: Sintaxis FDL
( x := rndUniform() ) < 0.2 : 1;
x < 0.4 : 2;
default : 0;
No obstante, la siguiente lista de expresiones genera un resultado diferente (y probablemente no
deseado):
case
rndUniform() < 0.2 : 1;
rndUniform() < 0.4 : 2;
default : 0;
Variables globales en Decision Studio
Las variables son locales por defecto. Una variable local se destruye tan pronto como se evalúe la última
expresión en la lista de expresiones (la más cercana al paréntesis de cierre) [consulte la sección
Expressions (Expresiones) en la página 186] — La próxima vez que se utilice la misma variable, se
volverá a inicializar. Una variable local no puede llevar información de un registro al siguiente. Por
ejemplo, la siguiente lista de expresiones de derivación de campos produce un campo con 1 en cada
registro:
i := 0;
i := i + 1
Una variable global es diferente de una variable local en que no se destruye hasta que Decision Studio
o el comando de creación de datos haya calculado los valores de campos para todos los registros. La
inicialización solo sucede una vez, para el primer registro en el enfoque. Por ejemplo, la siguiente lista
de expresiones de derivación de campos produce un campo índice, con 1 en el primer registro, 2 en el
segundo, y así sucesivamente:
global i := 0;
i := i + 1
Puede utilizar una variable global en una lista de expresiones de derivación de campos en una derivación
de Decision Studio, en el archivo de derivaciones para qsderive o la ventana Derivar campos equivalente,
en un archivo de rastreo para qstracko en un archivo de selecciones para qsselect.
Variables state en Transaction Measurement Language
Puede utilizar una variable state en una definición del campo TML en el archivo de rastreo qstrack.
Una variable state es diferente de una variable local o global en que no se destruye hasta que qstrack
haya calculado todos los valores de campos para el grupo actual (según se define por el campo clave).
La inicialización sucede una sola vez para cada grupo.
Por ejemplo, la siguiente definición de campo define un campo de equilibrio de ejecución, suponiendo
que el campo "Deposit" incluye una cantidad depositada en una transacción (o un valor negativo para
una extracción) y el campo "InitialBalance" incluye el saldo inicial para el cliente (quizás de una tabla
del cliente unida anteriormente):
Guía de referencia del comando de creación de datos y TML
191
Funciones definidas por el usuario
create Balance := (
state bal := InitialBalance;
bal := bal + Deposit
)
Funciones definidas por el usuario
Para definir una función FDL que pueda utilizar como una función incorporada [consulte Funciones
incorporadas en la página 199], utilice la siguiente sintaxis:
El identificador [consulte Expresiones básicas en la página 186] seguido de la palabra clave de la
"función" es el nombre de la función. La lista de argumentos (formales) viene a continuación:
Cada argumento formal (excepto uno precedido por una palabra clave "field") actúa como una variable
local [consulte Variables en la página 190] que se inicia con el valor del argumento actual correspondiente
cuando se aplica la función. El tipo [consulte Tipos de datos en la página 184] de cada argumento formal
es el tipo especificado en la definición de la función, si la hay; si no, es el tipo del argumento utilizado
al aplicar la función. Los paréntesis de cierre son necesario incluso si no existen argumentos formales.
A la lista de argumentos le sigue una lista opcional de atributos de funciones [consulte Atributos de
funciones en la página 194], y después el cuerpo de definición de la función. La lista de expresiones
[consulte Expressions (Expresiones) en la página 186] está encabezada por asignaciones de variables
locales que corresponden a los argumentos formales (excepto uno precedido por una palabra clave
"field"), antes de ser evaluados para determinar el valor de retorno de la función. El tipo del valor de
retorno es similar al de la última expresión.
Ejemplos Defina un función para reemplazar ceros en el resultado de una expresión (de cualquier tipo)
con los resultados de otra expresión:
function replaceZeros(expr1, expr2)
{
si expr1 = 0 entonces expr2 si no expr1
192
Portrait Miner 7.1
Capítulo 16: Sintaxis FDL
}
Una función que toma un argumento en cadena y transforma la primer letra a mayúscula:
function titleCase(texto de la cadena)
{
concat(toupper(left(text, 1)), right(text, strlen(text) - 1));
}
Nota:
• Al especificar el tipo de argumento de función, utilice "real", "integer", "string" o "date."
• Puede incluir estadísticas de campo en la definición de un campo, pero cada argumento de función
que se utilice en una estadística de campo debe estar precedido por una palabra clave "field". Por
ejemplo, para comparar un valor con un resumen de todo el enfoque:
function MyBand(campo real x)
{
averageX := mean(x);
stdevX := stdev(x);
case
x < averageX - stdevX : "Lower";
x > averageX + stdevX : "Upper";
default: "Mid";
}
• Puede incluir definiciones de campo al principio de la lista de expresiones que define un campo
derivado. Estas funciones definidas son locales a la derivación de campo.
También puede definir funciones accesibles globalmente al almacenarlas en un archivo (o archivos)
en una carpeta que aparezca en la preferencia de bibliotecas de derivación . En Decision
Studio, en el panel Familia de funciones en el cuadro de diálogo Funciones de derivación del Visor
de Tablas, las funciones en los archivos "clase.fdl" aparecen en la clase con el mismo nombre. Por
ejemplo, las funciones en un archivo llamado Conditional.fdl aparecen en la clase Conditional. Puede
volver a utilizar el nombre de una clase existente, para agregarle las funciones definidas por el usuario
que desee, o puede crear una clase propia utilizando un nuevo nombre.
Al utilizar el comando de creación de datos qsmeasure de Portrait Miner, la ventana Agregar
registros equivalente, o el comando de creación de datos qstrack, puede especificar un archivo que
contenga definiciones de funciones globales adicionales.
• No puede definir funciones de agregación en un contexto de medidas, es decir, en un archivo de
agregaciones [consulte Uso de funciones de agregación y las cláusulas where y default en la
página 154] o archivo de estadísticas [consulte Evaluación del enfoque de estadísticas: la instrucción
de calcular en la página 158] para qsmeasure o la ventana equivalente Agregar registros, o en un
archivo de estadísticas para qstrack.
Guía de referencia del comando de creación de datos y TML
193
Atributos de funciones
• Si la lista de expresiones finaliza con un carácter alfabético, debe estar separado del paréntesis de
cierre por un punto y coma o un espacio en blanco.
Atributos de funciones
Para especificar los atributos de las funciones:
Atributos útiles:
sinopsis y descripción. Con estos atributos se puede hacer, de manera estándar, la función "con
documentación automática". Si se instala una función en una carpeta que aparece en la preferencia de
bibliotecas de derivación , la sinopsis se muestra cuando se selecciona la función en el panel
Funciones del cuadro de diálogo Funciones de derivación en el Visor de tabla. Si hace clic en el
botón Details, se podrá visualizar la descripción. El texto de sinopsis debería ser corto, pero el texto de
descripción puede ser más largo.
Por ejemplo:
function nvl(testNull, replaceValue)
[
sinopsis = "Reemplazar valores nulos"
descripción = "la función nvl() reemplaza los valores...las cadenas nulos".
]
(Observe que los atributos de descripción deben estar todos en la misma línea).
element_names. En un archivo de agregación, puede utilizar una función con el atributo
element_names para dividir una agregación y crear campos múltiples [consulte División de
agregaciones: la cláusula by en la página 156].
El valor de este atributo es una cadena con una lista de nombres separados por comas, asociados con
valores de retorno de la función 1, 2,..., en el orden que están listados.
Por ejemplo, el atributo element_names de la siguiente función asocia los nombres "Low", "Medium"
y "High" con los valores de retorno 1, 2 y 3 respectivamente:
function band(x)
[ element_names = "Low,Medium,High" ]
{
clamp(floor(x / 1000), 0, 2) + 1
}
El atributo element_names de la siguiente función asocia los nombres "North", "South", "East" y "West"
con los valores de retorno 1, 2, 3 y 4 respectivamente:
194
Portrait Miner 7.1
Capítulo 16: Sintaxis FDL
function StoreGroupFunction( Store )
[
element_names = "North, South, East, West"
]
{
case
Store = "0000" o Store = "0800" : 1;
Store = "0300" o Store = "0600" o Store = "0700" : 2;
Store = "0100" o Store = "0400" : 3;
por defecto : 4;
}
Operadores aritméticos
Excepto por el menos unario, que precede a su único operando, todos los operadores aritméticos FDL
son operadores binarios infijos, es decir, están escritos entre sus dos operandos.
Operator (Operador)
Operandos
Resultado
+ (adición)
numérico
La suma de los operandos
- (sustracción)
numérico
El resultado de restar el segundo
operando al primero
- (menos unario)
numérico
El negativo del operando
* (multiplicación)
numérico
El producto de los operandos
/ (división)
numérico
El resultado (real) al dividir el
primer operando por el segundo
div (división de enteros)
entero
El resultado (entero) al dividir el
primer operando por el segundo,
ignorando cualquier resto
mod (módulo)
entero
El resto al dividir el primer
operando por el segundo (el
módulo), con el mismo signo que
el primer operando, por ejemplo,
9 % 7 es igual a 2, pero -9 %
7 es igual a -2
Ejemplos
Guía de referencia del comando de creación de datos y TML
195
Operadores relacionales
2 + 5 es igual a 7.
2 - 5 es igual a -3.
- (2 + 5) es igual a -7.
2 * 5 es igual a 10.
2 / 5 es igual a 0.4.
2 div 5 es igual a 0.
2 mod 5 es igual a 2.
5 % 2 es igual a 1.
Nota: • Los operadores de adición, sustracción, menos unario, y multiplicación conservan el tipo de
sus operandos (que son compatibles según el tipo [consulte Compatibilidad de tipos en la
página 185]). Si un operando es un entero y el otro un número real, el resultado será real.
• Si el segundo operando de una división, división de enteros u operador módulo es cero, es
resultado será nulo [consulte El valor null en la página 184], ya que la división por cero no
está especificada.
• mod requiere operandos enteros.
• También puede utilizar % en lugar de mod.
También consulte
Operadores lógicos en la página 198
Prioridad de operadores en la página 199
Operadores relacionales en la página 196
Operadores relacionales
Todos los operadores relacionales son operadores binarios no fijos, es decir, están escritos entre sus
dos operandos.
196
Operator (Operador)
Operandos
Resultado
< (menor que)
entero, real, fecha, o cadena
Verdadero si el primer operando
es menor que el segundo; falso
si el primero es mayor o igual que
el segundo
<= (menor que o igual que)
entero, real, fecha, o cadena
Verdadero si el primer operando
es menor o igual que el segundo;
falso si el primero es mayor que
el segundo
> (mayor que o igual que)
entero, real, fecha, o cadena
Verdadero si el primer operando
es mayor que el segundo; falso
Portrait Miner 7.1
Capítulo 16: Sintaxis FDL
Operator (Operador)
Operandos
Resultado
si el primero es menor o igual que
segundo
>= (mayor que o igual que)
entero, real, fecha, o cadena
Verdadero si el primer operando
es mayor o igual que el segundo;
falso si el primero es menor que
el segundo
= (igualdad)
entero, real, fecha, o cadena
Verdadero si los dos operandos
tienen el mismo valor; falso si los
operandos tienen distintos
valores. Para tipos de cadenas,
la comparación ignora los
caracteres de espacio finales en
los dos operandos.
!= (desigualdad)
entero, real, fecha, o cadena
Verdadero si los operandos tiene
valores diferentes; falso si los dos
operandos tiene el mismo valor.
Para tipos de cadenas, la
comparación ignora los
caracteres de espacio finales en
los dos operandos.
Ejemplos
2 > 5 igual a 1 (TRUE).
5 < 5 igual a 0 (FALSE).
"A" < "B" igual a 1 (TRUE).
5 <= 5 igual a 1 (TRUE).
5 > 5 igual a 0 (FALSE).
7 > 5 igual a 1 (TRUE).
#2003/12/31 > #2003/11/30 igual a 1 (TRUE).
5 >= 5 igual a 1 (TRUE).
"A" = "A" igual a 1 (TRUE).
"A" = "a" igual a 0 (FALSE).
"A" != "A" igual a 0 (FALSE).
"A" != "a" igual a 1 (TRUE).
Nota: • Los operandos de los operadores relacionales binarios deben ser compatibles [consulte
Compatibilidad de tipos en la página 185].
Guía de referencia del comando de creación de datos y TML
197
Operadores lógicos
• Al comparar fechas, "menor que" significa antes que. Al comparar cadenas, "menor que"
significa antes en el alfabeto ( o más específicamente, antes en la representación de caracteres
subyacentes). Lo mismo pasa con "mayor que" etc.
• También puede usar == o eq en vez de = y <> en vez de !=.
También consulte
Operadores aritméticos en la página 195
Datos booleanos en la página 185
Operadores lógicos en la página 198
Operadores lógicos
El operador lógico de negación precede a su único operando, mientras que los operadores lógicos de
conjunción y disyunción son operadores binarios no fijos, es decir, están escritos entre sus dos operandos.
Operator (Operador)
Operandos
Resultado
and (conjunción lógica)
boolean
Verdadero si ambos operandos
son verdaderos; falso si uno de
los operandos es falso
or (disyunción lógica)
boolean
Verdadero si un operando es
verdadero; falso si los dos
operandos son falsos
not (negación lógica)
boolean
Verdadero si el operando es
falso; falso si el operando es
verdadero
Ejemplos
("A" = "A") and (5 = 5) igual a 1 (TRUE).
("A" = "B") and (5 = 5) igual a 0 (FALSE).
("A" = "B") and (5 = 2) igual a 0 (FALSE).
("A" = "A") or (5 = 5) igual a 1 (TRUE).
("A" = "B") || (5 = 5) igual a 1 (TRUE).
("A" = "B") or (5 = 2) igual a 0 (FALSE).
not ("A" = "A") igual a 0 (FALSE).
!(("A" = "B") or (5 = 2)) igual a 1 (TRUE).
Nota: • No hay ningún tipo de datos booleanos [consulte Datos booleanos en la página 185] en FDL,
por eso los operandos para los operadores lógicos con enteros. No debe aplicar estos
operadores a números enteros arbitrarios.
198
Portrait Miner 7.1
Capítulo 16: Sintaxis FDL
• Puede usar and en vez de and, || en vez de or, y ! en vez de not.
También consulte
Operadores aritméticos en la página 195
Prioridad de operadores en la página 199
Operadores relacionales en la página 196
Prioridad de operadores
Frente a la ausencia de paréntesis, las operaciones FDL en una expresión se llevan a cabo de acuerdo
a la prioridad de operadores, del mayor al menor:
Clase
Operadores
Menos unario
-
Operadores de multiplicaciones
* / div mod
Operadores de adición
+ -
Operadores relacionales
< <= > >= != =
Negación lógica
not
Operadores lógicos binarios
and or
Si hay igualdad de prioridad, las operaciones se realizan de izquierda a derecha.
Las subexpresiones entre paréntesis se evalúan siempre primero.
Ejemplos -5 + 12 / 4 * 2 + 20 * 3 es igual a 61.
es decir, la expresión se evalúa de la siguiente manera: -5 + ((12 / 4) * 2) + (20 * 3)
Al mover los paréntesis:
-(5 + 12 / (4 * 2) + 20) * 3 es igual a -79.5.
También consulte
Operadores aritméticos en la página 195
Operadores lógicos en la página 198
Operadores relacionales en la página 196
Funciones incorporadas
FDL incluye una larga lista de funciones incorporadas.
Guía de referencia del comando de creación de datos y TML
199
Funciones incorporadas
Funciones condicionales
Función
Descripción
clamp
Limitar un número para que se mantenga dentro
del intervalo dado.
cond
Producir uno o dos resultados, depende si la
expresión es cero o no cero.
iff
Producir uno o dos resultados, depende si la
expresión es cero o no cero.
ifnull, nvl
Reemplazar el valor nulo.
isnull
Comprobar si un valor es nulo o no.
isselected
Marcar los registros que están seleccionados.
replace
Reemplazar un número si no está dentro de un
intervalo dado.
Funciones de conversión de tipo de datos
Función
Objetivo
todate
Convertir un valor en una fecha.
tointeger
Convertir un valor en un entero.
toreal
Convertir un valor en un número real.
tostring
Convertir un valor en una cadena.
Funciones para trabajar con fechas
200
Función
Objetivo
addcenturies, addcenturiescountbackwards
Calcular una fecha a partir de otra fecha utilizando
un sistema de compensación en siglos.
adddays
Calcular una fecha a partir de otra fecha utilizando
un sistema de compensación en días.
addhours
Calcular una fecha a partir de otra fecha utilizando
un sistema de compensación en horas.
addminutes
Calcular una fecha a partir de otra fecha utilizando
un sistema de compensación en minutos.
addmonths, addmonthscountbackwards
Calcular una fecha a partir de otra fecha utilizando
un sistema de compensación en meses.
addseconds
Calcular una fecha a partir de otra fecha utilizando
un sistema de compensación en segundos.
Portrait Miner 7.1
Capítulo 16: Sintaxis FDL
Función
Objetivo
addweeks
Calcular una fecha a partir de otra fecha utilizando
un sistema de compensación en semanas.
addyears, addyearscountbackwards
Calcular una fecha a partir de otra fecha utilizando
un sistema de compensación en años.
countcenturies
Calcular la cantidad de siglos entre dos fechas.
countdays
Calcular la cantidad de días entre dos fechas.
counthours
Calcular la cantidad de horas entre dos fechas.
countminutes
Calcular la cantidad de minutos entre dos fechas.
countseconds
Calcular la cantidad de segundos entre dos fechas.
countweeks
Calcular la cantidad de semanas entre dos fechas.
countwholecenturies,
countwholecenturiesbackwards
Calcular la cantidad de siglos enteros entre dos
fechas.
countwholedays
Calcular la cantidad de días enteros entre dos
fechas.
countwholehours
Calcular la cantidad de horas enteras entre dos
fechas.
countwholeminutes
Calcular la cantidad de minutos enteros entre dos
fechas.
countwholemonths,
countwholemonthsbackwards
Calcular la cantidad de meses enteros entre dos
fechas.
countwholeseconds
Calcular la cantidad de segundos entre dos fechas.
countwholeweeks
Calcular la cantidad de semanas enteras entre dos
fechas.
countwholeyears, countwholeyearsbackwards Calcular la cantidad de años enteros entre dos
fechas.
countyears
Calcular la cantidad de años entre dos fechas.
day
Obtener el día del mes de una fecha.
dayofweek
Obtener un número que represente el día de la
semana de una fecha.
gmt2edt
Convertir una fecha en Hora Media de Greenwich
(GMT) al Horario del Este (EDT).
hour
Obtener las horas de una fecha.
minute
Obtener los minutos de una fecha.
month
Obtener los meses de una fecha.
Guía de referencia del comando de creación de datos y TML
201
Funciones incorporadas
Función
Objetivo
now
Obtener la fecha y la hora actuales.
second
Obtener los segundos de una fecha.
today
Obtener la fecha actual.
weekofyear
Calcular la semana del año de una fecha, tomando
una fecha de inicio específica.
year
Obtener el año de una fecha.
Funciones para trabajar con cadenas
Función
Objetivo
concat
Concatenar dos o más cadenas.
endswith
Probar si una cadena termina con otra.
find
Probar si una cadena está dentro de otra.
left
Devolver una subcadena de longitud específica
del inicio de una cadena.
mid
Devolver una subcadena de longitud específica
del medio de una cadena.
right
Devolver una subcadena de longitud específica
del final de una cadena.
soundex
Reducir las palabras a cadenas de cuatro
caracteres para un índice.
startswith
Probar si una cadena comienza con otra.
strlen
Obtener la longitud de una cadena.
strmember
Determinar la pertenencia a un conjunto.
substitute
Reemplazar una cadena por otra.
substr
Obtener una subcadena de una cadena.
tolower
Convertir una cadena a minúscula.
toupper
Convertir una cadena a mayúscula.
trim
Eliminar todos los espacios de una cadena de
texto, excepto los espacios individuales entre las
palabras.
Expresiones regulares y sus funciones asociadas
202
Portrait Miner 7.1
Capítulo 16: Sintaxis FDL
Función
Objetivo
match
Probar una cadena para encontrar una coincidencia
de expresión regular [consulte Expresiones
regulares en la página 268].
replaceall
Reemplazar todas las subcadenas que coinciden
con una expresión regular [consulte Expresiones
regulares en la página 268].
replacefirst
Reemplazar la primer subcadena que coincide con
una expresión regular [consulte Expresiones
regulares en la página 268].
Funciones matemáticas y estadísticas
Tipo
Descripción
abs
Calcular el valor absoluto de un número.
ceil
Redondear un número para arriba al entero más
cercano.
cos
Calcular el coseno de un ángulo.
exp
Calcular el exponencial de un número.
floor
Redondear un número para abajo al entero más
cercano.
log
Calcular el logaritmo natural (base e) de un
número.
log10
Calcular el logaritmo base 10 de un número.
logbase
Calcular el logaritmo de un número, en una base
específica.
max (dos o más argumentos), maxnonnull
Calcular el más alto de dos o más números, o la
más reciente de dos o más fechas, o la última en
el alfabeto de dos o más cadenas.
mean (dos o más argumentos), meannonnull
Calcular la media (el promedio) de dos o más
números.
min (dos o más argumentos), minnonnull
Calcular el más bajo de dos o más números, o la
más lejana de dos o más fechas, o la primera en
el alfabeto de dos o más cadenas.
normalize
Normalizar los campos de valores para ubicarlos
en el intervalo [0,1].
pow
Calcular el resultado de elevar un número a la
potencia de otro número.
product, productnonnull
Calcular el producto de dos o más números.
Guía de referencia del comando de creación de datos y TML
203
Funciones incorporadas
Tipo
Descripción
round
Redondear un número al entero más cercano.
sgn
Calcular el signum (signo) de un número.
sin
Calcular el seno de un ángulo.
sqrt
Calcular la raíz cuadrada de un número.
sum (dos o más argumentos), sumnonnull
Calcular la suma de dos o más números.
tan
Calcular la tangente de un ángulo.
Funciones de muestreo de datos
Función
Objetivo
numericTestTrainSplit
Crear una segmentación de prueba y capacitación
para usar en una validación de modelo.
numericTestTrainValidateSplit
Crear una segmentación de prueba, capacitación
y validación para usar en una validación de modelo.
sampleEqualSize
Crear, al azar, un índice de segmentación para los
grupos de igual tamaño.
sampleExactNumber
Marcar, aleatoriamente, una cantidad exacta de
clientes de una población especificada.
sampleExactPercentage
Marcar, aleatoriamente, un porcentaje exacto de
clientes de una población especificada.
sampleStratified
Marcar, aleatoriamente, una cantidad exacta de
clientes de un segmento y del resto de la población.
testTrainSplit
Crear una segmentación de prueba y capacitación
para usar en una validación de modelo.
testTrainValidateSplit
Crear una segmentación de prueba, capacitación
y validación para usar en una validación de modelo.
Funciones de números aleatorios
204
Función
Objetivo
rndBinomial
Generar un entero aleatorio basado en una
distribución binomial.
rndBool
Generar un 0 ó 1 de manera aleatoria (con
probabilidades iguales).
rndExp
Generar un número positivo aleatorio basado en
una distribución exponencial.
rndGamma
Generar un número positivo aleatorio basado en
una distribución gamma.
Portrait Miner 7.1
Capítulo 16: Sintaxis FDL
Función
Objetivo
rndNormal
Generar un número positivo aleatorio basado en
una distribución normal.
rndPoisson
Generar un número no negativo entero aleatorio
basado en un distribución de Poisson discreta.
rndUniform
Generar un número aleatorio entre 0 y 1 basado
en una distribución uniforme.
Funciones de rentabilidad de la inversión
Función
Objetivo
ActionROI
Estimar (en dinero) la contribución de rentabilidad
de la inversión por cliente al tomar medidas
diseñadas para generar una respuesta definitiva.
ActionROIAnnualized
Estimar el múltiplo anual de rentabilidad de la
inversión por cliente al tomar medidas diseñadas
para generar una respuesta definitiva de un cliente.
OfferROI
Estimar la contribución de rentabilidad de la
inversión por cliente al hacer una oferta diseñada
para generar una respuesta definitiva.
OfferROIAnnualized
Estimar el múltiplo anual de rentabilidad de la
inversión por cliente al hacer una oferta diseñada
para generar una respuesta definitiva de un cliente.
RetentionActionROI
Estimar (en dinero) la contribución de rentabilidad
de la inversión por cliente al tomar medidas
diseñadas para prevenir desgastes.
RetentionActionROIAnnualized
Estimar la contribución anual de rentabilidad de la
inversión por cliente al tomar medidas diseñadas
para prevenir desgastes.
RetentionOfferROI
Estimar la rentabilidad de la inversión por cliente
al hacer una oferta diseñada para prevenir
desgastes.
RetentionOfferROIAnnualized
Estimar la rentabilidad anual de la inversión por
cliente al hacer una oferta diseñada para prevenir
desgastes.
Funciones diversas
Función
Objetivo
dblookup
Buscar valores en una tabla de referencias
(guardada como enfoque).
Guía de referencia del comando de creación de datos y TML
205
Palabras reservadas en FDL
Función
Objetivo
member
Determinar la pertenencia a un conjunto.
rankOrder, rankOrderApprox
Identificar el orden de un valor dentro de una lista
de valores.
rankOrderMean, rankOrderApproxMean
Identificar el orden de un valor dentro de una lista
de valores.
rownum
Mostrar el número de cada fila en una tabla.
Rangos
Función
Objetivo
bin
Obtener un índice de rangos correspondientes a
un valor.
También consulte
Funciones definidas por el usuario en la página 192
Palabras reservadas en FDL
Los siguientes tokens son palabras reservadas en FDL: accum, agg, aggregate, aggregation,
y, by, case, date, default, div, double, else, eq, false, field, float,
function, global, if, int, integer, long, mod, not, null, number, numeric,
o, real, date, default, div, double, else, eq, false, field, float, function,
global, if, int, integer, long, mod, not, null, number, numeric, o, real,
short, state, string, then, true, where y while
Para utilizar una palabra reservada o una palabra diferente únicamente en fuente de una palabra
reservada, como un identificador [consulte Expressions (Expresiones) en la página 186] en FDL o
como un nombre de campo o estadística en TML, debe encerrarla con comillas simples, por ejemplo,
'State'.
Nota: Si bien los identificadores en FDL distinguen mayúsculas de minúsculas (fred y Fred son
distintos), las palabras reservadas no y, por lo tanto, se reservan en cualquier combinación de
fuente: por ejemplo, if, If, iF e IF son todas representaciones del mismo símbolo; este
tipo de combinaciones están reservadas y no puede utilizarse como identificadores.
También consulte
Acerca del lenguaje de derivación de campos (FDL) en la página 182
Palabras reservadas en TML en la página 149
206
Portrait Miner 7.1
Capítulo
Funciones condicionales
En esta sección:
•
•
•
•
•
•
•
clamp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .208
cond . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .208
iff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .209
ifnull, nvl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .210
isnull . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .211
isselected . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .212
replace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .212
17
clamp
clamp
Objetivo: Limitar un número para que se mantenga dentro del intervalo dado.
Sintaxis clamp(x, min, max)
Argumentos
Tipo
Nombre
Descripción
numérico
x
El número al que se aplicará la
función clamp
como x
min
El límite más bajo del intervalo
como x
max
El límite más alto del intervalo
Resultado
Tipo
Descripción
como entrada
x if
; min if x < min; max if x > max
Ejemplos
Para fijar valores dentro de un rango de 18 a 65 inclusive, reemplace los valores fuera del rango con
los límites adecuados del rango:
CustomerAge
clamp(CustomerAge,18,65)
9
18
18
18
66
65
43
43
También consulte
replace en la página 212
cond
Objetivo: Producir uno o dos resultados, depende si la expresión es cero o no cero.
Sintaxis cond(cond, trueExpr, falseExpr)
Argumentos
208
Portrait Miner 7.1
Capítulo 17: Funciones condicionales
Tipo
Nombre
Descripción
entero
cond
La expresión para probar
entero, real, fecha, o cadena
trueExpr
Rama "True" (no cero)
como trueExpr
falseExpr
Rama "False" (cero)
Resultado
Tipo
Descripción
como trueExpr, falseExpr
trueExpr Si cond
0; falseExpr Si cond = 0
Nota: A diferencia de la expresión if [consulte la sección La expresión if en la página 188] o la expresión
case [consulte la sección La expresión case en la página 189], ambas ramas se evalúan por la
función cond.
Más significativamente, cond preserva la incertidumbre de un valor null [consulte El valor null
en la página 184] en la condición.
Si este comportamiento no es necesario, utilice una expresión if o case para agilizar la acción.
Ejemplos
Para orientarse a clientes con un gasto cero en el Trimestre 2 para una campaña de correo:
SpendQtr2
cond(SpendQtr2, "Don't Mail", "Mail")
100.39
Don't Mail
0
Mail
-5.72
Mail
null
null
También consulte
clamp en la página 208
iff en la página 209
ifnull, nvl en la página 210
replace en la página 212
iff
Objetivo: Producir uno o dos resultados, depende si la expresión es cero o no cero.
Sintaxis iff(logical_text, value_if_true, value_if_false)
Argumentos
Guía de referencia del comando de creación de datos y TML
209
ifnull, nvl
Tipo
Nombre
Descripción
real
logical_text
La expresión para probar
entero, real, fecha, o cadena
value_if_true
Rama "True" (no cero)
como value_if_true
value_if_false
Rama "False" (cero o null)
Resultado
Tipo
Descripción
como value_if_true, value_if_false
value_if_true si logical_text 0;
value_if_false si logical_text = 0 o
logical_text es nulo
Ejemplos iff(Score > 650, "Mail", "No Mail")
También consulte
cond en la página 208
ifnull, nvl
Objetivo: Reemplazar el valor nulo. Puede utilizar nvl como alias para ifnull.
Sintaxis ifnull(testNull, replaceValue)
nvl(testNull, replaceValue)
Argumentos
Tipo
Nombre
Descripción
entero, real, fecha, o cadena
testNull
El valor que será comprobado
como testNull
replaceValue
El reemplazo para el valor null
Resultado
Tipo
Descripción
como entrada
Una copia del valor testNull con replaceValue
que reemplaza el valor null
Ejemplos:
Para reemplazar valores faltantes con un valor derivado de otro campo:
210
Portrait Miner 7.1
Capítulo 17: Funciones condicionales
SpendQtr1
AnnualSpend
ifnull(SpendQtr1,
AnnualSpend/4)
45.21
178.97
45.21
null
150.56
37.64
null
784.27
196.07
59.05
274.18
59.05
También consulte
cond en la página 208
isnull en la página 211
isnull
Objetivo: Comprobar si un valor es nulo o no.
Sintaxis isnull(x)
Argumentos
Tipo
Nombre
Descripción
entero, real, fecha, o cadena
x
El valor que será comprobado
Resultado
Tipo
Descripción
entero
1 if x es null; 0 de lo contrario
Ejemplos
Para reemplazar entradas de valor null en un campo con el valor medio de ese campo:
Age
if isnull(Age) then mean(Age) else Age
32
32
null
44
59
59
27
27
También consulte
División de agregaciones: la cláusula by en la página 156
Guía de referencia del comando de creación de datos y TML
211
isselected
isselected
Objetivo: Marcar los registros que están seleccionados.
Sintaxis isselected()
Argumentos Ninguno
Resultado
Tipo
Descripción
entero
1 si el registro está seleccionado, de lo contrario 0
Nota: El Visor de tabla admite la expansión inmediata de esta función.
Ejemplos if isselected() then "LowRisk" else "HighRisk"
replace
Objetivo: Reemplazar un número si no está dentro de un intervalo dado.
Sintaxis replace(x, min, max, y)
Argumentos
Tipo
Nombre
Descripción
numérico
x
El número que se probará
como x
min
El límite más bajo del intervalo
como x
max
El límite más alto del intervalo
como x
y
El valor de reemplazo
Resultado
Tipo
Descripción
como entrada
x si
; y de lo contrario
Ejemplos
Para fijar valores dentro de un intervalo de 18 a 65 inclusive, reemplace los valores fuera del rango con
el valor medio:
212
Portrait Miner 7.1
Capítulo 17: Funciones condicionales
CustomerAge
replace (CustomerAge, 18, 65,
mean(CustomerAge))
9
38
18
18
66
38
43
43
También consulte
clamp en la página 208
Guía de referencia del comando de creación de datos y TML
213
Capítulo
Funciones de conversión de
tipo de datos
En esta sección:
•
•
•
•
todate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .216
tointeger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .217
toreal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .217
tostring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .218
18
todate
todate
Objetivo: Convertir un valor en una fecha.
Sintaxis todate(x [, format] )
Argumentos
Tipo
Nombre
Descripción
entero, real, fecha, o cadena
x
El valor a convertir
cadena
format
El formato de fecha [consulte
Formatos de fecha en la página
55] a utilizar para la conversión
(opcional, y solo se puede elegir
si x es un tipo de cadena)
Resultado
Tipo
Descripción
fecha
x, como una fecha
Nota: • Si el argumento es un número entero, se asume que representará la fecha en el formato
AAAAMMDD.
• Si el argumento es un número real, se asume que representará la fecha en el formato
AAAAMMDD.HHMMSS.
• Si el argumento es de tipo de secuencia, y no se proporciona un argumento de formato de
fecha, se convierte la secuencia según la configuración de su preferencia de lectura .
Ejemplos (Valores de fechas en formato europeo.)
todate(20040109) igual a 09/01/2004:00:00:00.
todate(20040109.122853) igual a 09/01/2004:12:08:52.
todate("09/01/2004") igual a 09/01/2004:00:00:00.
todate("09-Jan-2004","%d-%b-%Y") igual a 09/01/2004:00:00:00.
todate(#09/01/2004:12:28:53) igual a 09/01/2004:12:28:53.
También consulte
tointeger en la página 217
toreal en la página 217
tostring en la página 218
Conversión de tipos en la página 186
216
Portrait Miner 7.1
Capítulo 18: Funciones de conversión de tipo de datos
tointeger
Objetivo: Convertir un valor en un entero.
Sintaxis tointeger(x)
Argumentos
Tipo
Nombre
Descripción
entero, real, fecha, o cadena
x
El valor a convertir
Resultado
Tipo
Descripción
entero
x, como un entero
Nota: • SI el argumento es un número real, se ignorarán los dígitos después de la coma decimal.
• Si el argumento es una fecha, el resultado tendrá el formato AAAAMMDD (se ignorará el
componente de hora).
• Si el argumento es una cadena, se ignorarán los caracteres numéricos finales.
Ejemplos
tointeger (100) igual a 100.
tointeger (100.65) igual a 100.
tointeger ("100.65") igual a 100.
tointeger (#09/01/2004:12:28:53) igual a 20040109.
También consulte
todate en la página 216
toreal en la página 217
tostring en la página 218
Conversión de tipos en la página 186
toreal
Objetivo: Convertir un valor en un número real.
Sintaxis toreal(x)
Argumentos
Guía de referencia del comando de creación de datos y TML
217
tostring
Tipo
Nombre
Descripción
entero, real, fecha, o cadena
x
El valor a convertir
Resultado
Tipo
Descripción
real
x, como un número real
Nota: • Si el argumento es una fecha, el resultado tendrá el formato AAAAMMDD.HHMMSS.
• Si el argumento es una cadena, se ignorarán los caracteres numéricos finales.
Ejemplos
toreal (100) igual a 100.0.
toreal (100.65) igual a 100.65.
toreal ("100.65") igual a 100.65.
toreal (#09/01/2004:12:28:53) igual a 20040109.122853.
También consulte
todate en la página 216
tointeger en la página 217
tostring en la página 218
Conversión de tipos en la página 186
tostring
Objetivo: Convertir un valor en una cadena.
Sintaxis tostring(x)
Argumentos
Tipo
Nombre
Descripción
entero, real, fecha, o cadena
x
El valor a convertir
Resultado
Tipo
Descripción
cadena
x, como una cadena
Nota: • Si el argumento es real, el resultado será en formato decimal normal (no científico).
218
Portrait Miner 7.1
Capítulo 18: Funciones de conversión de tipo de datos
• Si el argumento es de tipo de fecha, el resultado tiene el formato correspondiente a la
configuración de su preferencia de escritura de fecha .
Ejemplos
tostring ("100") igual a "100".
tostring (1.0065e2) igual a "100.650000".
tostring ("100.65") igual a "100.65".
tostring (#09/01/2004:12:28:53 igual a "09/01/2004:12:28:53".
También consulte
todate en la página 216
tointeger en la página 217
toreal en la página 217
Conversión de tipos en la página 186
Guía de referencia del comando de creación de datos y TML
219
Capítulo
Funciones para trabajar con
fechas
En esta sección:
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
addcenturies, addcenturiescountbackwards . . . . . . . . .223
adddays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .224
addhours . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .224
addminutes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .225
addmonths, addmonthscountbackwards . . . . . . . . . . . .226
addseconds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .228
addweeks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .229
addyears, addyearscountbackwards . . . . . . . . . . . . . . .230
countcenturies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .231
countdays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .231
counthours . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .232
countminutes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .233
countseconds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .234
countweeks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .235
countwholecenturies, countwholecenturiesbackwards .236
countwholedays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .237
countwholehours . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .238
countwholeminutes . . . . . . . . . . . . . . . . . . . . . . . . . . . . .238
countwholemonths, countwholemonthsbackwards . . .239
countwholeseconds . . . . . . . . . . . . . . . . . . . . . . . . . . . . .241
countwholeweeks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .242
countwholeyears, countwholeyearsbackwards . . . . . .243
countyears . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .244
day . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .245
dayofweek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .245
19
•
•
•
•
•
•
•
•
•
222
gmt2edt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .246
hour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .246
minute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .247
month . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .248
now . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .248
second . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .249
today . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .249
weekofyear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .250
year . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .251
Portrait Miner 7.1
Capítulo 19: Funciones para trabajar con fechas
addcenturies, addcenturiescountbackwards
Objetivo: Calcular una fecha a partir de otra fecha utilizando un sistema de compensación en siglos.
Sintaxis addcenturies(date, n)
addcenturiescountbackwards(date, n)
Argumentos
Tipo
Nombre
Descripción
fecha
date
Fecha de comienzo
entero
n
La cantidad de siglos a agregar
(puede ser un número negativo)
Resultado
Tipo
Descripción
fecha
La fecha n agrega siglos a la fecha date (que se
entiende como |n| siglos antes de date si n < 0).
La hora del resultado es la misma que la de date.
Consulte addmonths,
addmonthscountbackwards en la página 226 para
leer una explicación de las dos variantes.
Nota: El resultado de agregar n años con la función addcenturies (o addcenturiescountbackwards) es
el resultado de agregar 1200n meses con la función addmonths (o addmonthscountbackwards).
Ejemplos
Para calcular una fecha un siglo más tarde que d, mostrando la diferencia entre las variantes addcenturies
y addcenturiescountbackwards (formato de fecha AMD):
d
addcenturies(d,1)
addcenturiescountbackwards(d,1)
1900/02/14
2000/02/14
2000/02/15
También consulte
countcenturies en la página 231
countwholecenturies, countwholecenturiesbackwards en la página 236
Formatos de fecha en la página 55
Guía de referencia del comando de creación de datos y TML
223
adddays
adddays
Objetivo: Calcular una fecha a partir de otra fecha utilizando un sistema de compensación en días.
Sintaxis adddays(date, n)
Argumentos
Tipo
Nombre
Descripción
fecha
date
Fecha de comienzo
entero
n
Cantidad de días a agregar
(puede ser un número negativo)
Resultado
Tipo
Descripción
fecha
La fecha n agrega años a la fecha date (que se
entiende como |n| días antes de date si n < 0).
La hora del resultado es la misma que la de date.
Ejemplos
Formato de fecha europeo: adddays (#09/01/2004, 25) igual a 03/02/2004.
Formato de fecha europeo: adddays (09/01/2004:11:43:46, 25) igual a 03/02/2004:11:43:46.
Formato de fecha estadounidense: adddays (#01/09/2004, 25) igual a 02/03/2004.
Formato de fecha estadounidense: adddays (#01/09/2004:11:43:46, 25) igual a
02/03/2004:11:43:46.
Formato de fecha AMD: adddays (#2004/01/09, 25) igual a 2004/02/03.
Formato de fecha AMD: adddays (#2004/01/09:11:43:46, 25) igual a 2004/02/03:11:43:46.
También consulte
countdays en la página 231
countwholedays en la página 237
Formatos de fecha en la página 55
addhours
Objetivo: Calcular una fecha a partir de otra fecha utilizando un sistema de compensación en horas.
224
Portrait Miner 7.1
Capítulo 19: Funciones para trabajar con fechas
Sintaxis addhours(date, n)
Argumentos
Tipo
Nombre
Descripción
fecha
date
Fecha de comienzo
entero
n
Cantidad de horas a agregar
(puede ser un número negativo)
Resultado
Tipo
Descripción
fecha
La fecha n agrega horas a la fecha date (que se
entiende como |n| |horas antes de date si n < 0)
Nota: Todas las fechas en FDL incluyen un componente de hora.
Ejemplos
Formato de fecha europeo: addhours (#09/01/2004:12:28:53, 25) igual a
10/01/2004:13:28:53.
Formato de fecha estadounidense: addhours (#01/09/2004:12:28:53, 25) igual a
01/10/2004:13:28:53.
Formato de fecha AMD: addhours (#2004/01/09:12:28:53, 25) igual a 2004/01/10:13:28:53.
También consulte
counthours en la página 232
countwholehours en la página 238
Formatos de fecha en la página 55
addminutes
Objetivo: Calcular una fecha a partir de otra fecha utilizando un sistema de compensación en minutos.
Sintaxis addminutes(date, n)
Argumentos
Tipo
Nombre
Descripción
fecha
date
Fecha de comienzo
entero
n
Cantidad de minutos a agregar
(puede ser un número negativo)
Guía de referencia del comando de creación de datos y TML
225
addmonths, addmonthscountbackwards
Resultado
Tipo
Descripción
fecha
La fecha n agrega minutos a la fecha date (que
se entiende como |n| minutos antes de date si
n < 0)
Nota: Todas las fechas en FDL incluyen un componente de hora.
Ejemplos
Formato de fecha europeo: addminutes (#09/01/2004:12:28:53, 25) igual a
09/01/2004:12:53:53.
Formato de fecha estadounidense: addminutes (#01/09/2004:12:28:53, 25) igual a
01/09/2004:12:53:53.
Formato de fecha AMD: addminutes (#2004/01/09:12:28:53, 25) igual a
2004/01/09:12:53:53.
También consulte
countminutes en la página 233
countwholeminutes en la página 238
Formatos de fecha en la página 55
addmonths, addmonthscountbackwards
Objetivo: Calcular una fecha a partir de otra fecha utilizando un sistema de compensación en meses.
Sintaxis addmonths(date, n)
addmonthscountbackwards(fecha, n)
Argumentos
Tipo
Nombre
Descripción
fecha
date
Fecha de comienzo
entero
n
La cantidad de meses a agregar
(puede ser un número negativo)
Resultado
226
Portrait Miner 7.1
Capítulo 19: Funciones para trabajar con fechas
Tipo
Descripción
fecha
La fecha n agrega meses a la fecha date (que se
entiende como |n| meses antes de date si n <
0).
Las partes de mes y año del resultado están
determinadas por el desplazamiento n.
El día del mes del resultado es el mismo de la
fecha date (para addmonths) o la misma cantidad
de días desde el último día del mes como en la
fecha date (para addmonthscountbackwards).
Si el día del mes resulta ser anterior al comienzo
del mes o posterior a su finalización (porque el mes
de resultado es un mes más corto que el mes de
date), se fijará en el primer o último día del mes,
según corresponda.
La hora del resultado es la misma que la de date.
Nota: • Si agrega n meses utilizando la función (o addmonthscountbackwards), no obtendrá el
mismo resultado que al agregar un mes n veces, ya que el día del mes estará limitado por un
mes corto intermedio en el último caso.
• Los resultados al agregar meses con addmonths y addmonthscountbackwards puede
ser diferentes si el mes de la fecha y el mes del resultado tienen una cantidad diferente de
días.
Ejemplos
Para calcular una fecha un mes más tarde que d, mostrando la propagación de las partes de hora
(formato de fecha AMD):
d
addmonths(d,1)
2007/08/14:00:00:00
2007/09/14:00:00:00
2007/08/14:12:34:56
2007/09/14:12:34:56
Para calcular una fecha un mes más tarde que d, mostrando la diferencia entre las variantes addcenturies
y addcenturiescountbackwards (formato de fecha AMD):
d
addmonths(d,1)
addmonthscountbackwards(d,1)
2007/08/14
2007/09/14
2007/09/13
Para calcular una fecha un mes más tarde que d, mostrando el comportamiento de fijación de addmonths
al final de un mes (formato de fecha AMD):
Guía de referencia del comando de creación de datos y TML
227
addseconds
d
addmonths(d,1)
2007/08/31
2007/09/30
Para calcular una fecha un mes más tarde que d, mostrando el comportamiento de fijación de
addmonthscountbackwards al final de un mes (formato de fecha AMD):
d
addmonthscountbackwards(d,1)
2007/08/02
2007/09/01
2007/08/01
2007/09/01
Para calcular los seis meses desde el día de adquisición de cada cliente utilizando el campo de fecha
de adquisición del cliente StartDate:
addmonths(StartDate, 6)
También consulte
countwholemonths, countwholemonthsbackwards en la página 239
Formatos de fecha en la página 55
addseconds
Objetivo: Calcular una fecha a partir de otra fecha utilizando un sistema de compensación en segundos.
Sintaxis addseconds(date, n)
Argumentos
Tipo
Nombre
Descripción
fecha
date
Fecha de comienzo
entero
n
Cantidad de segundos a agregar
(puede ser un número negativo)
Resultado
Tipo
Descripción
fecha
La fecha n agrega segundos a la fecha date (que
se entiende como |n| segundos antes de date
si n < 0)
Nota: Todas las fechas en FDL incluyen un componente de hora.
Ejemplos
228
Portrait Miner 7.1
Capítulo 19: Funciones para trabajar con fechas
Formato de fecha europeo: addseconds (#09/01/2004:12:28:53, 25) igual a
09/01/2004:12:54:18.
Formato de fecha estadounidense: addseconds (#01/09/2004:12:28:53, 25) igual a
01/09/2004:12:54:18.
Formato de fecha AMD: addseconds (#2004/01/09:12:28:53, 25) igual a
2004/01/09:12:54:18.
También consulte
countseconds en la página 234
countwholeseconds en la página 241
Formatos de fecha en la página 55
addweeks
Objetivo: Calcular una fecha a partir de otra fecha utilizando un sistema de compensación en semanas.
Sintaxis addweeks(date, n)
Argumentos
Tipo
Nombre
Descripción
fecha
date
Fecha de comienzo
entero
n
Cantidad de semanas a agregar
(puede ser un número negativo)
Resultado
Tipo
Descripción
fecha
La fecha n agrega semanas a la fecha date (que
se entiende como |n| semanas antes de date si
n < 0)
La hora del resultado es la misma que la de date.
Ejemplos
Formato de fecha europeo: addweeks (#09/01/2004, 8) igual a 05/03/2004.
Formato de fecha estadounidense: addweeks (#01/09/2004, 8) igual a 03/05/2004.
Formato de fecha AMD: addweeks (#2004/01/09, 8) igual a 2004/03/05.
También consulte
countweeks en la página 235
Guía de referencia del comando de creación de datos y TML
229
addyears, addyearscountbackwards
countwholeweeks en la página 242
Formatos de fecha en la página 55
addyears, addyearscountbackwards
Objetivo: Calcular una fecha a partir de otra fecha utilizando un sistema de compensación en años.
Sintaxis addyears(date, n)
addyearscountbackwards(fecha, n)
Argumentos
Tipo
Nombre
Descripción
fecha
date
Fecha de comienzo
entero
n
Cantidad de años a agregar
(puede ser un número negativo)
Resultado
Tipo
Descripción
fecha
La fecha n agrega años a la fecha date (que se
entiende como |n| años antes de date si n < 0).
La hora del resultado es la misma que la de date.
Consulte addmonths,
addmonthscountbackwards en la página 226 para
leer una explicación de las dos variantes.
Nota: El resultado de agregar n años con la función addyears (o addyearscountbackwards) es el
resultado de agregar 12n meses con la función addmonths (o addmonthscountbackwards).
Ejemplos
Para calcular una fecha un año más tarde que d, mostrar la diferencia entre las variantes addyears y
addyearscountbackwards (formato de fecha AMD):
d
addyears(d,1)
addyearscountbackwards(d,1)
2007/02/14
2008/02/14
2008/02/15
Para calcular el primer aniversario de la adquisición de cada cliente, utilizando el campo de fecha de
adquisición del cliente StartDate:
addyears(StartDate, 1)
También consulte
230
Portrait Miner 7.1
Capítulo 19: Funciones para trabajar con fechas
countwholeyears, countwholeyearsbackwards en la página 243
countyears en la página 244
Formatos de fecha en la página 55
countcenturies
Objetivo: Calcular la cantidad de siglos entre dos fechas.
Sintaxis countcenturies(date1, date2)
Argumentos
Tipo
Nombre
Descripción
fecha
date1
la primera fecha
fecha
date2
la segunda fecha
Resultado
Tipo
Descripción
real
El período entre date1 y date2 en siglos (un
número negativo si date1 es posterior a date2)
Nota: • Si el período no es un múltiplo exacto de 100 años (teniendo en cuenta las partes de hora en
las fechas) el resultado incluye una parte fraccionaria.
• El resultado de la función countcenturies es igual al resultado de la función countyears dividido
por 100.
Ejemplos
Formato de fecha europeo: countcenturies (#09/01/2004, #09/01/2054) igual a 0.5.
Formato de fecha estadounidense: countcenturies (#01/09/2004, #01/09/2054) igual a 0.5.
Formato de fecha AMD: countcenturies (#2004/01/09, #2054/01/09) igual a 0.5.
También consulte
countwholecenturies, countwholecenturiesbackwards en la página 236
Formatos de fecha en la página 55
countdays
Objetivo: Calcular la cantidad de días entre dos fechas.
Guía de referencia del comando de creación de datos y TML
231
counthours
Sintaxis countdays(date1, date2)
Argumentos
Tipo
Nombre
Descripción
fecha
date1
la primera fecha
fecha
date2
la segunda fecha
Resultado
Tipo
Descripción
real
El período entre date1 y date2 en días (un
número negativo si date1 es posterior a date2)
Nota: Si la hora entre las dos fechas difiere, el resultado incluye una parte fraccionaria.
Ejemplos
Formato de fecha europeo:
countdays (#09/01/2004, #03/02/2004) igual a 25.
countdays ((#09/01/2004:10:00:00, #03/02/2004:11:00:00) igual a 25.04.
countdays (#09/01/2004:11:00:00, #03/02/2004:10:00:00) igual a 24.96.
Formato de fecha estadounidense:
countdays (#01/09/2004, #02/03/2004) igual a 25.
countdays (#01/09/2004:10:00:00, #02/03/2004:11:00:00) igual a 25.04.
countdays (#01/09/2004:11:00:00, #02/03/2004:10:00:00) igual a 24.96.
Formato de fecha AMD:
countdays (#2004/01/09, #2004/02/03) igual a 25.
countdays(#2004/01/09:10:00:00, #2004/02/03:11:00:00) igual a 25.04.
countdays (#2004/01/09:11:00:00, #2004/02/03:10:00:00) igual a 24.96.
También consulte
adddays en la página 224
countwholedays en la página 237
Formatos de fecha en la página 55
counthours
Objetivo: Calcular la cantidad de horas entre dos fechas.
232
Portrait Miner 7.1
Capítulo 19: Funciones para trabajar con fechas
Sintaxis counthours(time1, time2)
Argumentos
Tipo
Nombre
Descripción
fecha
time1
la primera fecha/hora
fecha
time2
la segunda fecha/hora
Resultado
Tipo
Descripción
real
El período entre time1 y time2 en horas (un
número negativo si time1 es posterior a time2)
Nota: Si los minutos o segundos entre las dos fechas difieren, el resultado incluye una parte fraccionaria.
Ejemplos
Formato de fecha europeo: counthours (#09/01/2004:12:28:53, #10/01/2004:13:28:53)
igual a 25.
Formato de fecha estadounidense: counthours (#01/09/2004:12:28:53,
#01/10/2004:13:28:53) igual a 25.
Formato de fecha AMD: counthours (#2004/01/09:12:28:53, #2004/01/10:13:28:53) igual
a 25.
También consulte
countwholehours en la página 238
Formatos de fecha en la página 55
countminutes
Objetivo: Calcular la cantidad de minutos entre dos fechas.
Sintaxis countminutes(time1, time2)
Argumentos
Tipo
Nombre
Descripción
fecha
time1
la primera fecha/hora
fecha
time2
la segunda fecha/hora
Resultado
Guía de referencia del comando de creación de datos y TML
233
countseconds
Tipo
Descripción
real
El período entre time1 y time2 en minutos (un
número negativo si time1 es posterior a time2)
Nota: Si los segundos entre las dos fechas difieren, el resultado incluye una parte fraccionaria.
Ejemplos
Formato de fecha europeo: countminutes (#09/01/2004:12:28:53, #09/01/2004:12:53:53)
igual a 25.
Formato de fecha estadounidense: countminutes (#01/09/2004:12:28:53,
#01/09/2004:12:53:53) igual a 25.
Formato de fecha AMD: countminutes (#2004/01/09:12:28:53, #2004/01/09:12:53:53)
igual a 25.
También consulte
countwholeminutes en la página 238
Formatos de fecha en la página 55
countseconds
Objetivo Contar la cantidad de segundos entre dos fechas.
Sintaxis countseconds(time1, time2)
Argumentos
Tipo
Nombre
Descripción
fecha
time1
la primera fecha/hora
fecha
time2
la segunda fecha/hora
Resultado
Tipo
Descripción
real
La cantidad de segundos transcurridos entre
time1 y time2 (un número negativo si time1 es
posterior a time2)
Nota: La única diferencia entre esta función y countwholeseconds es que el resultado de la última
es un número entero.
Ejemplos
234
Portrait Miner 7.1
Capítulo 19: Funciones para trabajar con fechas
Formato de fecha europeo: countseconds (#09/01/2004:12:28:53, #09/01/2004:12:29:18)
igual a 25.
Formato de fecha estadounidense: countseconds (#01/09/2004:12:28:53,
#01/09/2004:12:29:18) igual a 25.
Formato de fecha AMD: countseconds (#2004/01/09:12:28:53, #2004/01/09:12:29:18)
igual a 25.
También consulte
Formatos de fecha en la página 55
countweeks
Objetivo: Calcular la cantidad de semanas entre dos fechas.
Sintaxis countweeks(date1, date2)
Argumentos
Tipo
Nombre
Descripción
fecha
date1
la primera fecha
fecha
date2
la segunda fecha
Resultado
Tipo
Descripción
real
El período entre date1 y date2 en semanas (un
número negativo si date1 es posterior a date2)
Nota: Si el período no es un múltiplo de 7 días (teniendo en cuenta la hora) el resultado incluye una
parte fraccionaria.
Ejemplos
Formato de fecha europeo: countweeks (#09/01/2004, #05/03/2004) igual a 8.
Formato de fecha estadounidense: countweeks (#01/09/2004, #03/05/2004) igual a 8.
Formato de fecha AMD: countweeks (#2004/01/09, #2004/03/05) igual a 8.
También consulte
countwholeweeks en la página 242
Formatos de fecha en la página 55
Guía de referencia del comando de creación de datos y TML
235
countwholecenturies, countwholecenturiesbackwards
countwholecenturies,
countwholecenturiesbackwards
Objetivo: Calcular la cantidad de siglos enteros entre dos fechas.
Sintaxis countwholecenturies(date1, date2) countwholecenturiesbackwards(date1,
date2)
Argumentos
Tipo
Nombre
Descripción
fecha
date1
la primera fecha
fecha
date2
la segunda fecha
Resultado
Tipo
Descripción
entero
La cantidad de siglos enteros transcurridos entre
date1 y date2 (un número negativo si date1 es
posterior a date2).
Consulte countwholemonths,
countwholemonthsbackwards en la página 239
para leer una explicación de las dos variantes.
Nota: • El resultado de la función countwholecenturies (o countwholecenturiesbackwards)
es el resultado de la función countwholemonths (o countwholemonthsbackwards)
dividido por 1200, ignorando cualquier resto.
• El resultado de una comparación de dos fechas con countwholecenturies y
countwholecenturiesbackwards puede variar, pero solo si las dos fechas son en febrero,
una de las dos en un año divisible por 400, y la otra en un año divisible por 100 pero no por
400.
Ejemplos
Para contar la cantidad de siglos enteros entre d1 y d2, mostrando la diferencia entre las variantes
countwholecenturies y countwholecenturiesbackwards (formato de fecha AMD):
236
d1
d2
countwholecenturies(d1,d2)
countwholecenturiesbackwards(d1,d2)
1900/02/14
2000/02/13
0
0
1900/02/14
2000/02/14
1
0
1900/02/14
2000/02/15
1
1
Portrait Miner 7.1
Capítulo 19: Funciones para trabajar con fechas
También consulte
addcenturies, addcenturiescountbackwards en la página 223
countcenturies en la página 231
Formatos de fecha en la página 55
countwholedays
Objetivo: Calcular la cantidad de días enteros entre dos fechas.
Sintaxis countwholedays(date1, date2)
Argumentos
Tipo
Nombre
Descripción
fecha
date1
la primera fecha
fecha
date2
la segunda fecha
Resultado
Tipo
Descripción
entero
La cantidad de períodos de 24 horas enteros
transcurridos entre date1 y date2 (un número
negativo si date1 es posterior a date2).
Ejemplos
Formato de fecha europeo:
countdays (#09/01/2004, #03/02/2004) igual a 25.
countdays (#09/01/2004:10:00:00, #03/02/2004:11:00:00) igual a 25.
countdays (#09/01/2004:11:00:00, #03/02/2004:10:00:00) igual a 24.
Formato de fecha estadounidense:
countdays (#01/09/2004, #02/03/2004) igual a 25.
countdays (#01/09/2004:10:00:00, #02/03/2004:11:00:00) igual a 25.
countdays (#01/09/2004:11:00:00, #02/03/2004:10:00:00) igual a 24.
Formato de fecha AMD:
countdays (#2004/01/09, #2004/02/03) igual a 25.
countdays (#2004/01/09:10:00:00, #2004/02/03:11:00:00) igual a 25.
countdays (#2004/01/09:11:00:00, #2004/02/03:10:00:00) igual a 24.
Guía de referencia del comando de creación de datos y TML
237
countwholehours
También consulte
adddays en la página 224
countdays en la página 231
Formatos de fecha en la página 55
countwholehours
Objetivo: Calcular la cantidad de horas enteras entre dos fechas.
Sintaxis countwholehours(time1, time2)
Argumentos
Tipo
Nombre
Descripción
fecha
time1
la primera fecha/hora
fecha
time2
la segunda fecha/hora
Resultado
Tipo
Descripción
entero
La cantidad de horas enteras transcurridas entre
time1 y time2 (un número negativo si time1 es
posterior a time2)
Ejemplos
Formato de fecha europeo: countwholehours (#09/01/2004:12:28:53,
#10/01/2004:13:28:53) igual a 24.
Formato de fecha estadounidense: countwholehours (#01/09/2004:12:28:53,
#01/10/2004:13:28:53) igual a 24.
Formato de fecha AMD: countwholehours (#2004/01/09:12:28:53, #2004/01/10:13:28:53)
igual a 24.
También consulte
counthours en la página 232
Formatos de fecha en la página 55
countwholeminutes
Objetivo: Calcular la cantidad de minutos enteros entre dos fechas.
238
Portrait Miner 7.1
Capítulo 19: Funciones para trabajar con fechas
Sintaxis countwholeminutes(time1, time2)
Argumentos
Tipo
Nombre
Descripción
fecha
time1
la primera fecha/hora
fecha
time2
la segunda fecha/hora
Resultado
Tipo
Descripción
entero
La cantidad de minutos enteros transcurridas entre
time1 y time2 (un número negativo si time1 es
posterior a time2)
Ejemplos
Formato de fecha europeo: countwholeminutes (#09/01/2004:12:28:53,
#09/01/2004:12:53:53) igual a 24.
Formato de fecha estadounidense: countwholeminutes (#01/09/2004:12:28:53,
#01/09/2004:12:53:53) igual a 24.
Formato de fecha AMD: countwholeminutes (#2004/01/09:12:28:53,
#2004/01/09:12:53:53) igual a 24.
También consulte
countminutes en la página 233
Formatos de fecha en la página 55
countwholemonths, countwholemonthsbackwards
Objetivo: Calcular la cantidad de meses enteros entre dos fechas.
Sintaxis countwholemonths(date1, date2) countwholemonthsbackwards(date1, date2)
Argumentos
Tipo
Nombre
Descripción
fecha
date1
la primera fecha
fecha
date2
la segunda fecha
Resultado
Guía de referencia del comando de creación de datos y TML
239
countwholemonths, countwholemonthsbackwards
Tipo
Descripción
entero
La cantidad de meses enteros transcurridos entre
date1 y date2 (un número negativo si date1 es
posterior a date2)
Nota: • Las partes de hora de date1 y date2 son ignoradas.
• La cantidad de meses enteros entre dos fechas es la mayor cantidad de meses que se pueden
agregar a la primera fecha (truncando la parte de hora y utilizando addmonths para
countwholemonths, y addmonthscountbackwards en caso de
countwholemonthsbackwards) de modo que si la segunda fecha es posterior a la primera,
el resultado no será posterior a la segunda fecha, y si la segunda fecha es anterior a la primera,
el resultado no podrá ser anterior a la segunda.
• Los resultados al comparar dos fechas con countwholemonths y
countwholemonthsbackwards pueden ser diferentes si las fechas tienen meses de diferente
duración.
• Debido al comportamiento de fijación de addmonths (y addmonthscountbackwards), el
valor absoluto de los resultados al comparar dos fechas con countwholemonths (o
countwholemonthsbackwards) dependerá del orden de los argumentos si las fechas tienen
meses de diferente duración.
Ejemplos
Para contar la cantidad de meses completos entre d1 y d2, truncando las partes de hora (formato de
fecha AMD):
d1
d2
countwholemonths(d1,d2)
2007/08/14:00:00:00
2007/09/14:00:00:00
1
2007/08/14:12:34:56
2007/09/14:00:00:00
1
Para contar la cantidad de meses enteros entre d1 y d2, mostrando la diferencia entre las variantes
countwholemonths y countwholemonthsbackwards (formato de fecha AMD):
d1
d2
countwholemonths(d1,d2)
countwholemonthsbackwards(d1,d2)
2007/08/14
2007/09/12
0
0
2007/08/14
2007/09/13
0
1
2007/08/14
2007/09/14
1
1
Para contar la cantidad de meses enteros entre d1 y d2, mostrando el comportamiento de fijación de
countwholemonths al final de un mes (formato de fecha AMD):
240
d1
d2
countwholemonths(d1,d2)
countwholemonths(d2,d1)
2007/08/31
2007/09/30
1
0
Portrait Miner 7.1
Capítulo 19: Funciones para trabajar con fechas
Para contar la cantidad de meses enteros entre d1 y d2, mostrando el comportamiento de fijación de
countwholemonths al principio de un mes (formato de fecha AMD):
d1
d2
countwholemonthsbackwards(d1,d2) countwholemonthsbackwards(d2,d1)
2007/07/01
2007/06/01
-1
0
Para contar la cantidad de comunicaciones por correo electrónico que recibió cada cliente, cuando las
comunicaciones se envían el día 5 de cada mes (y la última comunicación fue enviada el 5 de marzo
de 2006), utilizando el campo de fecha de adquisición de cliente StartDate:
-countwholemonths(#2006/03/05, StartDate)
Para contar la cantidad de estados mensuales que recibió cada cliente, cuando los estados se envían
siete días antes del cierre de cada mes (y el último fue enviado el 24 de marzo de 2006), utilizando el
campo de fecha de adquisición de cliente StartDate:
-countwholemonthsbackwards(#2006/03/24, StartDate)
También consulte
addmonths, addmonthscountbackwards en la página 226
Formatos de fecha en la página 55
countwholeseconds
Objetivo: Calcular la cantidad de segundos entre dos fechas.
Sintaxis countwholeseconds(time1, time2)
Argumentos
Tipo
Nombre
Descripción
fecha
time1
la primera fecha/hora
fecha
time2
la segunda fecha/hora
Resultado
Tipo
Descripción
entero
La cantidad de segundos transcurridos entre
time1 y time2 (un número negativo si time1 es
posterior a time2)
Nota: La única diferencia entre esta función y countseconds es que el resultado de la última es un
número real.
Ejemplos
Guía de referencia del comando de creación de datos y TML
241
countwholeweeks
Formato de fecha europeo: countwholeseconds (#09/01/2004:12:28:53,
#09/01/2004:12:29:18) igual a 25.
Formato de fecha estadounidense: countwholeseconds (#01/09/2004:12:28:53,
#01/09/2004:12:29:18) igual a 25.
Formato de fecha AMD: countwholeseconds (#2004/01/09:12:28:53,
#2004/01/09:12:29:18) igual a 25.
También consulte
Formatos de fecha en la página 55
countwholeweeks
Objetivo: Calcular la cantidad de semanas enteras entre dos fechas.
Sintaxis countwholeweeks(date1, date2)
Argumentos
Tipo
Nombre
Descripción
fecha
date1
la primera fecha
fecha
date2
la segunda fecha
Resultado
Tipo
Descripción
entero
La cantidad de semanas enteras transcurridos
entre date1 y date2 (un número negativo si
date1 es posterior a date2).
Ejemplos
Formato de fecha europeo: countwholeweeks (#09/01/2004, #09/03/2004) igual a 8.
Formato de fecha estadounidense: countwholeweeks (#01/09/2004, #03/09/2004) igual a 8.
Formato de fecha AMD: countwholeweeks (#2004/01/09, #2004/03/09) igual a 8.
También consulte
countweeks en la página 235
Formatos de fecha en la página 55
242
Portrait Miner 7.1
Capítulo 19: Funciones para trabajar con fechas
countwholeyears, countwholeyearsbackwards
Objetivo: Calcular la cantidad de años enteros entre dos fechas.
Sintaxis countwholeyears(date1, date2)
countwholeyearsbackwards(date1, date2)
Argumentos
Tipo
Nombre
Descripción
fecha
date1
la primera fecha
fecha
date2
la segunda fecha
Resultado
Tipo
Descripción
entero
La cantidad de años enteros transcurridos entre
date1 y date2 (un número negativo si date1 es
posterior a date2).
Consulte countwholemonths,
countwholemonthsbackwards en la página 239
para leer una explicación de las dos variantes.
Nota: • El resultado de la función countwholeyears(o countwholeyearsbackwards) es el
resultado de la función countwholemonths (o countwholemonthsbackwards) dividido
por 12, ignorando cualquier resto.
• El resultado de una comparación de dos fechas con countwholeyears y
countwholeyearsbackwards puede variar, pero solo si las dos fechas son en febrero, una
en año bisiesto y la otra no.
Ejemplos
Para contar la cantidad de años enteros entre d1 y d2, mostrando la diferencia entre las variantes
countwholeyears y countwholeyearsbackwards (formato de fecha AMD):
d1
d2
countwholeyears(d1,d2) countwholeyearsbackwards(d1,d2)
2007/02/14
2008/02/13
0
0
2007/02/14
2008/02/14
1
0
2007/02/14
2008/02/15
1
1
Para calcular la edad de cada cliente al 1 de marzo de 2007 desde un campo de fecha de nacimiento
DOB (formato de fecha AMD):
Guía de referencia del comando de creación de datos y TML
243
countyears
countwholeyears(DOB, #2007/03/01)
También consulte
addyears, addyearscountbackwards en la página 230
countyears en la página 244
Formatos de fecha en la página 55
countyears
Objetivo: Calcular la cantidad de años entre dos fechas.
Sintaxis countyears(date1, date2)
Argumentos
Tipo
Nombre
Descripción
fecha
date1
la primera fecha
fecha
date2
la segunda fecha
Resultado
Tipo
Descripción
real
El período entre date1 y date2 en años (un
número negativo si date1 es posterior a date2)
Nota: • Si las partes de meses, días y hora de las dos fechas difieren, el resultado incluye una parte
fraccionaria, y se cuenta el año incompleto como una fracción del número de días (365 ó 366)
en el año de la fecha más tardía.
Ejemplos
Formato de fecha europeo: countyears (#09/01/2004, #09/01/1994) igual a -10.
Formato de fecha estadounidense: countyears (#01/09/2004, #01/09/1994) igual a -10.
Formato de fecha AMD: countyears (#2004/01/09, #1994/01/09) igual a 10.
También consulte
countwholeyears, countwholeyearsbackwards en la página 243
Formatos de fecha en la página 55
244
Portrait Miner 7.1
Capítulo 19: Funciones para trabajar con fechas
day
Objetivo: Obtener el día del mes de una fecha.
Sintaxis day(date)
Argumentos
Tipo
Nombre
Descripción
fecha
date
Una fecha
Resultado
Tipo
Descripción
entero
El día del mes de date
Ejemplos
Formato de fecha europeo: day(#09/01/2004) igual a 9.
Formato de fecha estadounidense: day(#01/09/2004) igual a 9.
Formato de fecha AMD: day(#2004/01/09) igual a 9.
También consulte
Formatos de fecha en la página 55
División de agregaciones: la cláusula by en la página 156
dayofweek
Objetivo: Obtener un número que represente el día de la semana de una fecha.
Sintaxis dayofweek(date)
Argumentos
Tipo
Nombre
Descripción
fecha
date
Una fecha
Resultado
Tipo
Descripción
entero
El día de la semana de date (un número entre 0
y 6, dónde el 0 representa el domingo)
Guía de referencia del comando de creación de datos y TML
245
gmt2edt
Ejemplos
Formato de fecha europeo: dayofweek (#09/01/2004) igual a 5 (es decir, viernes).
Formato de fecha estadounidense: dayofweek (#01/09/2004) igual a 5 (es decir, viernes).
Formato de fecha AMD: dayofweek (#2004/01/09) igual a 5 (es decir, viernes).
También consulte
Formatos de fecha en la página 55
División de agregaciones: la cláusula by en la página 156
gmt2edt
Objetivo: Convertir una fecha en Hora Media de Greenwich (GMT) al Horario del Este (EDT).
Sintaxis gmt2edt(datetimeGMT)
Argumentos
Tipo
Nombre
Descripción
fecha
datetimeGMT
La fecha en GMT a convertir
Resultado
Tipo
Descripción
fecha
La fecha en EDT, teniendo en cuenta el horario de
verano
Ejemplos
Invierno: GMT2EDT(#09/01/2004:12:28:53) igual a 09/01/2004:07:28:53.
Verano: GMT2EDT(#09/07/2004:12:28:53) igual a 09/07/2004:08:28:53.
hour
Objetivo: Obtener las horas de una fecha.
Sintaxis hour(time)
Argumentos
246
Tipo
Nombre
Descripción
fecha
time
Una fecha/hora
Portrait Miner 7.1
Capítulo 19: Funciones para trabajar con fechas
Resultado
Tipo
Descripción
entero
Las horas de time
Ejemplos
Formato de fecha europeo: hour (#09/01/2004:12:28:53) igual a 12.
Formato de fecha estadounidense: hour (#01/09/2004:12:28:53) igual a 12.
Formato de fecha AMD: hour (#2004/01/09:12:28:53) igual a 12.
También consulte
Formatos de fecha en la página 55
División de agregaciones: la cláusula by en la página 156
minute
Objetivo: Obtener los minutos de una fecha.
Sintaxis minute(time)
Argumentos
Tipo
Nombre
Descripción
fecha
time
Una fecha/hora
Resultado
Tipo
Descripción
entero
Los minutos de time
Ejemplos
Formato de fecha europeo: minute (#09/01/2004:12:28:53) igual a 28.
Formato de fecha estadounidense: minute (#01/09/2004:12:28:53) igual a 28.
Formato de fecha AMD: minute (#2004/01/09:12:28:53) igual a 28.
También consulte
Formatos de fecha en la página 55
División de agregaciones: la cláusula by en la página 156
Guía de referencia del comando de creación de datos y TML
247
month
month
Objetivo: Obtener los meses de una fecha.
Sintaxis month(date)
Argumentos
Tipo
Nombre
Descripción
fecha
date
Una fecha
Resultado
Tipo
Descripción
entero
El mes de date
Ejemplos
Formato de fecha europeo: month (#09/01/2004) igual a 1.
Formato de fecha estadounidense: month (#01/09/2004) igual a 1.
Formato de fecha AMD: month (#2004/01/09) igual a 1.
También consulte
Formatos de fecha en la página 55
División de agregaciones: la cláusula by en la página 156
now
Objetivo: Obtener la fecha y la hora actuales.
Sintaxis now()
Argumentos Ninguno
Resultado
Tipo
Descripción
fecha
La fecha actual (incluyendo la hora), que se obtiene
del reloj del sistema
Ejemplos
Formato de fecha europeo: now () igual a 09/01/2004:12:28:53.
248
Portrait Miner 7.1
Capítulo 19: Funciones para trabajar con fechas
Formato de fecha estadounidense: now () igual a 01/09/2004:12:28:53.
Formato de fecha AMD: now () igual a 2004/01/09:12:28:53.
También consulte
Formatos de fecha en la página 55
today en la página 249
second
Objetivo: Obtener los segundos de una fecha.
Sintaxis second(time)
Argumentos
Tipo
Nombre
Descripción
fecha
time
Una fecha/hora
Resultado
Tipo
Descripción
entero
Los segundos de time
Ejemplos
Formato de fecha europeo: second (#09/01/2004:12:28:53) igual a 53.
Formato de fecha estadounidense: second (#01/09/2004:12:28:53) igual a 53.
Formato de fecha AMD: second (#2004/01/09:12:28:53) igual a 53.
También consulte
Formatos de fecha en la página 55
División de agregaciones: la cláusula by en la página 156
today
Objetivo: Obtener la fecha actual.
Sintaxis today()
Argumentos Ninguno
Resultado
Guía de referencia del comando de creación de datos y TML
249
weekofyear
Tipo
Descripción
fecha
La fecha actual que se obtiene del reloj del sistema,
con la hora configurada en 00:00:00
Ejemplos
Formato de fecha europeo: today () igual a 09/01/2004:00:00:00.
Formato de fecha estadounidense: today () igual a 01/09/2004:00:00:00.
Formato de fecha AMD: today () igual a 2004/01/09:00:00:00.
También consulte
Formatos de fecha en la página 55
now en la página 248
weekofyear
Objetivo: Calcular la semana del año de una fecha, tomando una fecha de inicio específica.
Sintaxis weekofyear(date, yearStart)
Argumentos
Tipo
Nombre
Descripción
fecha
date
La fecha de la que se quiere
calcular la semana del año
fecha
yearStart
La fecha de inicio (por ejemplo,
de una año financiero)
Resultado
Tipo
Descripción
entero
La semana del año de date, tomando como
referencia a yearStart
Nota: Solo se utilizan los meses y días de la fecha de inicio.
Ejemplos
Formato de fecha europeo: weekofyear (#09/07/2004, #01/04/2004) igual a 14.
Formato de fecha estadounidense: weekofyear (#07/09/2004, #04/01/2004) igual a 14.
Formato de fecha AMD: weekofyear (#2004/07/09, #2004/04/01) igual a 14.
También consulte
250
Portrait Miner 7.1
Capítulo 19: Funciones para trabajar con fechas
Formatos de fecha en la página 55
División de agregaciones: la cláusula by en la página 156
year
Objetivo: Obtener el año de una fecha.
Sintaxis year(date)
Argumentos
Tipo
Nombre
Descripción
fecha
date
Una fecha
Resultado
Tipo
Descripción
entero
El año de date
Ejemplos
Formato de fecha europeo: year (#09/01/2004) igual a 2004.
Formato de fecha estadounidense: year (#01/09/2004) igual a 2004.
Formato de fecha AMD: year (#2004/01/09) igual a 2004.
También consulte
Formatos de fecha en la página 55
Guía de referencia del comando de creación de datos y TML
251
Capítulo
Funciones para trabajar con
cadenas
En esta sección:
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
concat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .254
endswith . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .254
find . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .255
left . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .256
mid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .257
right . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .258
soundex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .259
startswith . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .260
strlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .261
strmember . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .261
substitute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .262
substr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .263
tolower . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .264
toupper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .265
trim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .265
20
concat
concat
Objetivo: Concatenar dos o más cadenas.
Sintaxis concat( , , ...)
Argumentos
Tipo
cadena
Nombre
Descripción
, , ...
Cadenas para ser concatenadas
Resultado
Tipo
Descripción
cadena
Cadena obtenida mediante la escritura de los
caracteres , seguida de los caracteres , etc.
Ejemplos
Ejemplo Obtiene el nombre completo de un cliente de dos campos FirstName y Surname:
FirstName
Surname
concat(FirstName,"
",Surname)
John
Brown
John Brown
David
Smith
David Smith
Obtener el nombre completo de un cliente, pero utilizando solo su inicial:
FirstName
Surname
concat(substr(FirstName,0,0),".
",Surname)
John
Brown
J. Brown
David
Smith
D. Smith
endswith
Objetivo: Probar si una cadena termina con otra.
Sintaxis endswith(find_text, within_text)
Argumentos
254
Portrait Miner 7.1
Capítulo 20: Funciones para trabajar con cadenas
Tipo
Nombre
Descripción
cadena
find_text
La cadena al final
cadena
within_text
La cadena que será comprobada
Resultado
Tipo
Descripción
entero
1 (true) si find_text se encuentra al final de
within_text; 0 (false) si no
Nota: La función endswith se basa en la función match. Añade un carácter $ a find_text antes de
tratar el resultado como una expresión regular [consulte Expresiones regulares en la página
268].
Ejemplos
Para derivar un campo que marca direcciones de correo electrónico desde dominios .net:
EmailAddress
endswith(".net", EmailAddress)
[email protected]
1
[email protected]
0
También consulte
find en la página 255
startswith en la página 260
find
Objetivo Probar si una cadena está dentro de otra.
Sintaxis find(find_text, within_text)
Argumentos
Tipo
Nombre
Descripción
cadena
find_text
La cadena que se debe encontrar
cadena
within_text
La cadena que será comprobada
Resultado
Guía de referencia del comando de creación de datos y TML
255
left
Tipo
Descripción
entero
1 (true) si find_text está dentro de
within_text; 0 (false) si no
Nota: La función encontrar se basa en la función match, y trata a find_text como una expresión
regular [consulte Expresiones regulares en la página 268].
Ejemplos
Ejemplo Marcar direcciones de correo electrónico que contienen el texto "portraitsoftware" en mayúscula,
minúscula o una combinación:
EmailAddress
find("portraitsoftware",
tolower(EmailAddress))
[email protected]
1
[email protected]
0
[email protected]
1
También consulte
endswith en la página 254
startswith en la página 260
left
Objetivo: Devolver una subcadena de longitud específica del final de una cadena.
Sintaxis left(text, num_chars)
Argumentos
Tipo
Nombre
Descripción
cadena
text
La cadena de la que se extrae
entero
num_chars
El número de caracteres
Resultado
Tipo
Descripción
cadena
La subcadena formada por caracteres num_chars
al principio de text
Nota: La función izquierda se basa en la función substr.
256
Portrait Miner 7.1
Capítulo 20: Funciones para trabajar con cadenas
Ejemplos
Para utilizar los dos primeros caracteres de un campo StateCode para identificar clientes de la costa
Este u Oeste:
StateCode
member (left(StateCode, 2), "CA",
"OR", WA")
OR009
1
CA043
1
UT005
0
WA027
1
También consulte
mid en la página 257
right en la página 258
trim en la página 265
mid
Objetivo: Devolver una subcadena de longitud específica del medio de una cadena.
Sintaxis mid(text, start_num, num_chars)
Argumentos
Tipo
Nombre
Descripción
cadena
text
La cadena de la que se extrae
cadena
start_num
El primer índice
cadena
num_chars
El número de caracteres
Resultado
Tipo
Descripción
cadena
La subcadena formada por los caracteres
num_chars de la posición de caracteres
start_num (incluido) de texto, donde las
posiciones de los caracteres están numeradas a
partir del 1
Nota: La función mid está basada en la función substr.
Guía de referencia del comando de creación de datos y TML
257
right
Ejemplos
Para derivar una ubicación desde el quinto hasta el séptimo carácter de un código de almacenamiento:
StoreCode
mid(StoreCode, 5, 3)
0114EDI256
EDI
1863LON836
LON
9326EDI039
EDI
0387BOS041
BOS
También consulte
left en la página 256
right en la página 258
trim en la página 265
right
Objetivo: Devolver una subcadena de longitud específica del final de una cadena.
Sintaxis right(text, num_chars)
Argumentos
Tipo
Nombre
Descripción
cadena
text
La cadena de la que se extrae
entero
num_chars
El número de caracteres
Resultado
Tipo
Descripción
cadena
La subcadena formada por caracteres num_chars
en el extremo de text
Nota: La función "right" está basada en la función substr.
Ejemplos
Para devolver el componente casa/calle de un campo de código postal del Reino Unido, es decir, los
últimos tres caracteres:
258
Postcodeold_text
right(Postcode, 3)
NE25 0AY
0AY
Portrait Miner 7.1
Capítulo 20: Funciones para trabajar con cadenas
Postcodeold_text
right(Postcode, 3)
EH3 7RA
7RA
SL4 1QX
1QX
EH9 0NJ
0NJ
También consulte
left en la página 256
mid en la página 257
trim en la página 265
soundex
Objetivo: Reducir las palabras a cadenas de cuatro caracteres para un índice.
Sintaxis soundex(text)
Argumentos
Tipo
Nombre
Descripción
cadena
text
El texto que se debe reducir
Resultado
Tipo
Descripción
cadena
Una codificación de índice reducida a cuatro
caracteres
Ejemplos
Derivar un código soundex para un apellido:
Surname
soundex(Surname)
Brown
B650
Smythe
S530
Smith
S530
Bruno
B650
Nota: La función Soundex no está definida para caracteres que no sean ascii.
Guía de referencia del comando de creación de datos y TML
259
startswith
startswith
Objetivo: Probar si una cadena comienza con otra.
Sintaxis startswith(find_text, within_text)
Argumentos
Tipo
Nombre
Descripción
cadena
find_text
La cadena a buscar en el inicio
cadena
within_text
La cadena que será comprobada
Resultado
Tipo
Descripción
entero
1 si find_text se encuentra al inicio de
within_text; 0 si no
Nota: La función startswith se basa en la función match. Añade un carácter ^ adelante de find_text
antes de tratar el resultado como una expresión regular [consulte Expresiones regulares en
la página 268].
Ejemplos
Para obtener el tipo de tarjeta de crédito utilizada en una transacción, como "Discover", "AmEx", "Visa"
o "MasterCard", basándose en los números prefijos de las tarjetas:
case
startswith ("6011", CC_Number): "Discover";
startswith ("4", CC_Number): "Visa";
startswith ("5", CC_Number): "MasterCard";
startswith ("34",CC_Number) o startswith ("37", CC_Number): "AmEx";
default: null;
CC_Number
CC_Type
4111-1111-1111-1111
Visa
5431-1111-1111-1111
MasterCard
341-1111-1111-1111
AmEx
6011-6011-6011-6611
Discover
También consulte
260
Portrait Miner 7.1
Capítulo 20: Funciones para trabajar con cadenas
endswith en la página 254
find en la página 255
strlen
Objetivo: Obtener la longitud de una cadena.
Sintaxis strlen(string)
Argumentos
Tipo
Nombre
Descripción
cadena
string
La cadena cuyo largo debe
determinarse
Resultado
Tipo
Descripción
entero
El número de caracteres en string
Ejemplos
Derivar un campo de cadena de exactamente cuatro caracteres, rellenando un campo de cadena más
corto con ceros adelante:
case
strlen(AccountID) = 1: concat("000", AccountID);
strlen(AccountID) = 2: concat("00", AccountID);
strlen(AccountID) = 3: concat("0", AccountID);
default: AccountID;
AccountID
Account
1
0001
22
0022
333
0333
4444
4444
strmember
Objetivo: Determinar la pertenencia a un conjunto.
Guía de referencia del comando de creación de datos y TML
261
substitute
Sintaxis strmember(x, , , ...)
Argumentos
Tipo
Nombre
Descripción
cadena
x
El valor que será comprobado
como x
, , ...
Los elementos del conjunto
Resultado
Tipo
Descripción
entero
1 (true) if x está en el conjunto
contrario 0 (false)
; de lo
Nota: • Solo puede usar los valores literales de una cadena para la lista de los elementos del conjunto.
• Los espacios en blanco al final de los valores no son ignorados.
• Se prefiere la función más general miembro a esta función.
También consulte
División de agregaciones: la cláusula by en la página 156
substitute
Objetivo: Reemplazar una cadena por otra.
Sintaxis substitute(text, old_text, new_text)
Argumentos
Tipo
Nombre
Descripción
cadena
text
La cadena que se debe buscar
cadena
old_text
La cadena que será reemplazada
cadena
new_text
La cadena de reemplazo
Resultado
Tipo
Descripción
cadena
Una copia de la cadena text con new_text que
reemplaza cada instancia no superpuesta de
old_text
Nota: La función "substitute" está basada en la función replaceall y trata al old_text como a una
expresión regular [consulte Expresiones regulares en la página 268].
262
Portrait Miner 7.1
Capítulo 20: Funciones para trabajar con cadenas
Ejemplos
Eliminar espacio en blanco de campo llamado PostalCode:
PostalCode
substitute(PostalCode, "[[:blank:]]",
"")
ND 069
ND069
IN 099
IN099
UT 0 0 5
UT005
O R 009
OR009
También consulte
replacefirst en la página 274
substr
Objetivo: Obtener una subcadena de una cadena.
Sintaxis substr(string, start, end)
Argumentos
Tipo
Nombre
Descripción
cadena
string
La cadena de inicio
entero
start
El primer índice
entero
end
El segundo índice
Resultado
Tipo
Descripción
cadena
La subcadena formada por caracteres desde
start hasta end (inclusive) de string, donde
los caracteres están numerados comenzando con
0. Los valores de índice positivos van desde el
inicio de una cadena y los valores de índice
negativos van desde el final de la cadena.
Ejemplos
Para seleccionar los primeros dos y los últimos tres caracteres de un campo PostalCode para obtener
el código del estado:
Guía de referencia del comando de creación de datos y TML
263
tolower
PostalCode
substr(PostalCode, 0, 1) substr(PostalCode, -3,
-1)
MA015
MA
015
WA055
WA
055
UT005
UT
005
MN119
MN
119
Para obtener el tipo de tarjeta de crédito utilizada en una transacción, como "Discover", "AmEx", "Visa"
o "MasterCard", basándose en los números prefijos de las tarjetas:
case
substr(CC_Number, 0, 3) = "6011": "Discover";
substr(CC_Number, 0, 0) = "4": "Visa";
substr(CC_Number, 0, 0) = "5": "MasterCard";
substr(CC_Number, 0, 1) = "34" o substr(CC_Number, 0, 1) = "37": "AmEx";
default: null;
CC_Number
CC_Type
4111-1111-1111-1111
Visa
5431-1111-1111-1111
MasterCard
341-1111-1111-1111
AmEx
6011-6011-6011-6611
Discover
tolower
Objetivo: Convertir una cadena a minúscula.
Sintaxis tolower(string)
Argumentos
Tipo
Nombre
Descripción
cadena
string
Una cadena que debe convertirse
Resultado
264
Portrait Miner 7.1
Capítulo 20: Funciones para trabajar con cadenas
Tipo
Descripción
cadena
La cadena obtenida de string reemplazando
todas las letras mayúsculas en string por las
letras minúsculas correspondientes
Ejemplos tolower("ZYXWV") es igual a "zyxwv"
También consulte
toupper en la página 265
toupper
Objetivo: Convertir una cadena a mayúscula.
Sintaxis toupper(string)
Argumentos
Tipo
Nombre
Descripción
cadena
string
Una cadena que debe convertirse
Resultado
Tipo
Descripción
cadena
La cadena obtenida de string reemplazando
todas las letras minúsculas en string por las
letras mayúsculas correspondientes
Ejemplos toupper ("abcde") es igual a "ABCDE"
También consulte
tolower en la página 264
trim
Objetivo: Eliminar todos los espacios de una cadena de texto, excepto los espacios individuales entre
las palabras.
Sintaxis trim(text)
Argumentos
Guía de referencia del comando de creación de datos y TML
265
trim
Tipo
Nombre
Descripción
cadena
text
La cadena que será comparada
Resultado
Tipo
Descripción
cadena
La cadena formada por text eliminar todos los
espacios excepto los espacios únicos entre
palabras
Nota: La función "trim" está basada en la función replaceall.
Ejemplos
Para derivar un campo que reemplaza múltiples caracteres de espacio en blanco por un único espacio:
266
CommentField
trim(CommentField)
Artículos defectuosos devueltos
Artículos defectuosos devueltos
Ausencia a una cita
Ausencia a una cita
Ingeniero que visita: Lunes
Ingeniero que visita: Lunes
Resuelto
Resuelto
Portrait Miner 7.1
Capítulo
Expresiones regulares y sus
funciones asociadas
En esta sección:
•
•
•
•
•
•
Expresiones regulares . . . . . . . . . . . . . . . . . . . . . . . . . . .268
Componentes básicos de una expresión regular . . . . .268
Operadores de las expresiones regulares . . . . . . . . . . .270
match . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .272
replaceall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .273
replacefirst . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .274
21
Expresiones regulares
Expresiones regulares
Las expresiones regulares se utilizan para hacer coincidir patrones en las cadenas [consulte la sección
Tipos de datos en la página 184]. Una expresión regular es una cadena con formato especial que
representa un patrón de caracteres. Por ejemplo, la expresión regular "ar{1,2}y\?$" representa "la letra
'a,' seguida por una o dos 'r', posiblemente seguidas por 'y,' seguidas por el final de la secuencia." (Ese
patrón ocurre en una secuencia como "Harry" y "amar" — pero no en "hay" o "amaras.")
Una expresión regular consiste en componentes básicos [consulte la sección Componentes básicos
de una expresión regular en la página 268] combinados usando operadores [consulte la sección
Operadores de las expresiones regulares en la página 270].
Si una expresión regular (distinta de una subexpresión) coincide con más de una parte de una cadena,
siempre coincidirá con la parte más larga y más a la izquierda. Por ejemplo, la expresión regular "a[^ad]\+"
(que representa "la letra 'a', seguida por una o más letras salvo la 'a' o la 'd'") coincide con "adaptationally."
La parte que coincide no es "acion," ya que hay otras partes más a la izquierda. Tampoco lo es "ap"
porque, aunque no haya más partes a la izquierda, hay una parte más larga que comienza en el mismo
carácter.
• Para buscar una coincidencia de una expresión regular en una cadena, use la función match.
• Para reemplazar una coincidencia en una cadena con otra cadena, use las funciones replacefirst o
replaceall.
Nota: • Las expresiones regulares son típicamente (pero no necesariamente) literales, en ese caso,
deben figurar entre comillas, por ejemplo, "ar{1,2}y\?$".
• Miner/FDL usa una expresión regular proporcionada por la biblioteca ICU. (Podemos vincularnos
con http://userguide.icu-project.org/strings/regexp)
• Las Expresiones regulares de ICU rigen conforme a la Norma técnica Unicode n.° 18, las
Expresiones regulares Unicode, nivel 1 y además incluye límites de Palabras predeterminadas
y Propiedades de nombre del nivel 2.
Componentes básicos de una expresión regular
Los componentes básicos de una expresión regular [consulte la sección Expresiones regulares en la
página 268] son átomos, delimitadores y referencias inversas.
Átomos
Un átomo coincide con uno de un conjunto de caracteres especificados:
268
Átomo
Carácter con el que coincide
. (cualquier coincidencia)
Cualquier carácter
[...] (lista de coincidencias)
Cualquiera de los caracteres especificados
Portrait Miner 7.1
Capítulo 21: Expresiones regulares y sus funciones asociadas
Átomo
Carácter con el que coincide
[^...] (lista sin coincidencias)
Cualquier de los caracteres no especificados
Un carácter diferente de ., ^, $, \, [, ] o
*, que ocurre fuera de una lista de coincidencias
o de una lista sin coincidencias
El carácter
., ^, $, \, [, ], o *, que ocurre fuera de El carácter
una lista de coincidencias o de una lista sin
coincidencias y precedido por una barra invertida
(\)
Una lista de coincidencias o una lista sin coincidencias pueden incluir caracteres simples, rango de
caracteres y clases de caracteres. No puedes utilizar los rangos o las clases de caracteres fuera de una
lista de coincidencias o una lista sin coincidencias.
Un rango de caracteres es un par de caracteres separados por un guión, equivalente a una lista de
todos los caracteres en ese rango (dentro del conjunto de caracteres). Por ejemplo, "a-e" es equivalente
a "abcde" en una lista de coincidencias.
Una clase de caracteres es uno de los siguientes tokens definidos previamente (donde los corchetes
de cierre son adicionales a los que cierran la lista de coincidencias y la lista sin coincidencias):
Token
Coincidencias
[:alnum:]
Un carácter alfanumérico, que puede ser un
carácter alfabético o un dígito decimal
[:alpha:]
Un carácter alfabético, es decir, "A" — "Z" y "a" —
"z"
[:blank:]
Una ficha o un carácter de espacio
[:cntrl:]
Un carácter de control
[:digit:]
Un dígito decimal, es decir, "0" — "9"
[:graph:]
Un carácter imprimible a parte del espacio
[:lower:]
Una letra en minúscula
[:print:]
Un carácter o espacio imprimible
[:punct:]
Un carácter de puntuación
[:space:]
Un carácter de espacio en blanco
[:upper:]
Un carácter en mayúscula
[:xdigit:]
Un dígito hexadecimal, es decir, "0" — "9," "A" —
"F" y "a" — "f"
Nota: • Puede incluir una mezcla de caracteres simples, rangos y clases de caracteres en una lista
de coincidencias única o en una lista sin coincidencias. Por ejemplo, la lista de coincidencias
Guía de referencia del comando de creación de datos y TML
269
Referencias inversas
"[a-ex[:digit:]]" coincide con las letras en minúscula "a" — "e" y "x" y con los dígitos
decimales ("0" — "9").
• Un guión en una lista de coincidencias o una lista sin coincidencias tiene significado propio
cuando está (a) al final de un rango, (b) al principio de una lista de coincidencias o una lista
sin coincidencias (en este caso también puede estar al principio de un rango), o (c) al final de
una lista de coincidencias o una lista sin coincidencias.
Delimitadores
Los caracteres ^ y $ son delimitadores; coinciden con el principio y el final de una cadena
respectivamente.
Por ejemplo, para hacer coincidir "The" al principio de una cadena y en ningún otro lugar, se puede usar
la expresión regular "^The."
Referencias inversas
Una referencia inversa es una barra invertida seguida por un solo dígito n (aparte de 0). Coincide con
los mismos caracteres que la subexpresión nth encerrada en \(...\).
Por ejemplo, para hacer coincidir "yoyo," "dodo," etc. — pero no "dojo" — se puede utilizar la expresión
regular "\(.o\)\1."
Nota: • La subexpresión con referencia inversa nth es siempre la subexpresión que comienza con
una barra invertida/paréntesis de apertura (aun cuando las subexpresiones están anidadas).
• La subexpresión vacía "\(\)" se puede utilizar en expresiones regulares que implican
alternancia [consulte la sección El operador de alternancia en la página 271]. Por ejemplo,
\(pan\(\)\|pérdida\(\)\)-y-\(agua\2\|ganancia\3\)
coincide con "pan-y-agua" y "pérdida-y-ganancia," pero no con "pan-y-ganancia" o
"pérdida-y-agua."
Operadores de las expresiones regulares
Un operador trabaja en una o dos expresiones regulares [consulte la sección Expresiones regulares
en la página 268] para crear una nueva expresión regular. Los operadores, de mayor a menor prioridad,
son los operadores de repetición [consulte la sección Operadores de repetición en la página 270], el
operador de concatenación [consulte la sección El operador de concatenación en la página 271], y el
operador de alternancia [consulte la sección El operador de alternancia en la página 271].
Si hay igualdad de prioridad, las operaciones se realizan de izquierda a derecha.
Las subexpresiones encerradas en \(...\) siempre se evalúan primero.
Operadores de repetición
Los operadores de repetición son unarios y están escritos siguiendo un solo operando.
270
Portrait Miner 7.1
Capítulo 21: Expresiones regulares y sus funciones asociadas
Operator (Operador)
Descripción
* (cero o más)
Si una expresión regular a coincide con una o más
partes adyacentes de una cadena, la expresión
regular a* coincide con la concatenación de esas
partes. También coincide con una subcadena
vacía.
\+ (uno o más)
Si una expresión regular a coincide con una o más
partes adyacentes de una cadena, la expresión
regular a\+ coincide con la concatenación de esas
partes.
{m,n} (0 m n)
Si una expresión regular coincide al menos con m
y con no más de n partes adyacentes de una
secuencia, la expresión regular a{m,n} coincide
con la concatenación de esas partes. Si m=0,
también coincide con una subcadena vacía.
\? (opcional)
Equivalente a a{0,1}, la expresión regular a\?
coincide con cualquier subsecuencia vacía, o
cualquier parte de una secuencia que coincide con
la expresión regular a.
Nota: Las "partes adyacentes" mencionadas en las definiciones de *, \+, y {...} no son secuencias
idénticas necesariamente. Si necesita hacer coincidir repeticiones exactas, use las referencias
inversas [consulte la sección Referencias inversas en la página 270].
El operador de concatenación
El operador de concatenación no está realmente escrito, pero está implícito cuando escribe dos
expresiones regulares una al lado de la otra.
Si las expresiones regulares a y b coinciden con las partes adyacentes x e y de una cadena z (con x
antes de y), la concatenación de a y b (a seguida por b) coincide con la parte z que contiene x e y.
Nota: Cualquier secuencia de caracteres no especiales, es decir, caracteres sin significado especial
en una expresión regular, funciona como una expresión regular que coincide con esa secuencia,
debido al operador de concatenación implícito.
En la práctica, la mayoría de las expresiones regulares están formadas por cadenas de caracteres
simples, intercaladas por algunos caracteres especiales. Por ejemplo, la expresión regular
"[SsTt]imple" coincide con las cadenas "Simple," "simple," "Timple," y "timple."
El operador de alternancia
El operador de alternancia "\|" es un operador binario, escrito entre sus operandos.
Si cualquiera de las expresiones regulares a y b coinciden con una parte de una cadena, la alternancia
a\|b también coincidirá con esa porción.
Guía de referencia del comando de creación de datos y TML
271
match
match
Objetivo: probar una cadena para encontrar una coincidencia de expresión regular [consulte Expresiones
regulares en la página 268].
Sintaxis match(regexp, string)
Argumentos
Tipo
Nombre
Descripción
cadena
regexp
La expresión regular
cadena
string
La cadena que será comprobada
Resultado
Tipo
Descripción
entero
1 (true) si regexp coincide con string; 0 (false)
si es al revés
Ejemplos
Para marcar los clientes con los dos primeros caracteres del código postal de su casa y la sucursal de
su banco iguales (función substr):
Código postal de la casa
Código postal de la sucursal match(substr(HomePostcode,
0, 1),
substr(BranchPostcode,0,1))
NE25 0AY
NE30 1QX
1
SW3
NG18 1HT
0
CF36
CF31 1HY
1
EH9 0NJ
E10 8AJ
0
Para buscar en el campo Nombre de la compañía los primeros tres caracteres del campo Nombre,
seguidos por cualquier texto y después el contenido del campo Apellido (ignorando las mayúsculas):
272
FirstName FamilyName CompanyName
rx := concat(
substr(toupper(FirstName),0,2),
"[[:print:]]*", toupper(FamilyName);
match(rx,toupper(CompanyName))
Patrick
Smith
1234 Pat Smith Ltd
1
Patrick
Smith
1234 Pat J Smith Ltd
1
Portrait Miner 7.1
Capítulo 21: Expresiones regulares y sus funciones asociadas
Para hacer lo mismo, pero con solo algunas letras o dígitos y un solo espacio entre el nombre y el
apellido:
FirstName FamilyName CompanyName
rx := concat(
substr(toupper(FirstName),0,2),
"[[:alnum:]]* ", toupper(FamilyName);
match(rx,toupper(CompanyName))
Patrick
Smith
1234 Pat Smith Ltd
1
Patrick
Smith
1234 Pat J Smith Ltd
0
También consulte
replaceall en la página 273
replacefirst en la página 274
División de agregaciones: la cláusula by en la página 156
replaceall
Objetivo: reemplazar todas las subcadenas que coinciden con una expresión regular [consulte
Expresiones regulares en la página 268].
Sintaxis replaceall(regexp, replacement, string)
Argumentos
Tipo
Nombre
Descripción
cadena
regexp
La expresión regular
cadena
replacement
La cadena de reemplazo
cadena
string
La cadena que se debe buscar
Resultado
Tipo
Descripción
cadena
Una copia de la cadena string con
replacement reemplazando cada parte no
superpuesta que coincida con regexp
Nota: La primera parte con coincidencia de la cadena que se debe buscar es la parte más larga y más
a la izquierda que coincide con la expresión regular. La próxima búsqueda será en el resto de
la cadena que se debe buscar, y así sucesivamente. Por ejemplo,
replaceall("i..", "X", "initiation")
produce la cadena "XtXX" (en vez de, por ejemplo, "inXatX"). And
Guía de referencia del comando de creación de datos y TML
273
replacefirst
replaceall("i.*i", "X", "initiation")
resulta en "Xon" (en vez de, por ejemplo, "XtXon").
Ejemplos
Para detectar y quitar los espacios en blanco del campo PostalCode utilizando una coincidencia de
expresión regular:
PostalCode
replaceall("[[:blank:]]","",PostalCode))
ND 069
ND069
IN 099
IN099
UT 0 0 5
UT005
O R 009
OR009
También consulte
match en la página 272
replacefirst en la página 274
replacefirst
Objetivo: reemplazar la primer subcadena que coincide con una expresión regular [consulte Expresiones
regulares en la página 268].
Sintaxis replacefirst(regexp, replacement, string)
Argumentos
Tipo
Nombre
Descripción
cadena
regexp
La expresión regular
cadena
replacement
La cadena de reemplazo
cadena
string
La cadena que se debe buscar
Resultado
Tipo
Descripción
cadena
Una copia de la cadena string con
replacement reemplazando la primera parte que
coincide con regexp (si hubiera)
Ejemplos
274
Portrait Miner 7.1
Capítulo 21: Expresiones regulares y sus funciones asociadas
Para extraer el nombre de un cliente de un campo de dirección de correo electrónico en el formato
"[email protected]", quitando toda la información desde el "@" en adelante y
reemplazando "." por un espacio:
Email
replacefirst("@.*", "", (replacefirst
("\.", " ", Email)))
[email protected]
John Brown
[email protected]
Angela Smith
También consulte
match en la página 272
replaceall en la página 273
Guía de referencia del comando de creación de datos y TML
275
Capítulo
Funciones matemáticas y
estadísticas
En esta sección:
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
abs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .278
ceil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .278
cos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .279
exp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .279
floor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .280
log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .280
log10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .281
logbase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .281
max (dos o más argumentos), maxnonnull . . . . . . . . . .282
mean (dos o más argumentos), meannonnull . . . . . . . .283
min (dos o más argumentos), minnonnull . . . . . . . . . . .283
normalize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .284
pow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .285
product, productnonnull . . . . . . . . . . . . . . . . . . . . . . . . .285
round . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .286
sgn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .287
sin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .287
sqrt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .288
sum (dos o más argumentos), sumnonnull . . . . . . . . . .288
tan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .289
22
abs
abs
Objetivo: Calcular el valor absoluto de un número.
Sintaxis abs(x)
Argumentos
Tipo
Nombre
Descripción
numérico
x
Un número con signo
Resultado
Tipo
Descripción
como entrada
, el valor absoluto, o la magnitud, de x
Ejemplos
abs (-10000) igual a 10000.
abs (-25000) igual a 25000.
Para calcular el error absoluto entre un valor previsto y un valor histórico: abs(Value PredictedValue)
También consulte
sgn en la página 287
ceil
Objetivo: Redondear un número para arriba al entero más cercano.
Sintaxis ceil(x)
Argumentos
Tipo
Nombre
Descripción
numérico
x
El número que debe redondearse
Resultado
Tipo
entero
Descripción
, el entero, de forma tal que
Ejemplos
278
Portrait Miner 7.1
Capítulo 22: Funciones matemáticas y estadísticas
ceil(-1.25) es igual a -2.
ceil(-1.25) es igual a -1.
Generar un entero aleatorio entre 1 y 10 incluido: ceil(rndUniform()*10)
También consulte
floor en la página 280
round en la página 286
cos
Objetivo: Calcular el coseno de un ángulo.
Sintaxis cos(x)
Argumentos
Tipo
Nombre
Descripción
numérico
x
Un ángulo en radianes
Resultado
Tipo
Descripción
real
cos x, el coseno de x
Ejemplos cos(0) es igual a 1.
exp
Objetivo: Calcular el exponencial de un número.
Sintaxis exp(x)
Argumentos
Tipo
Nombre
Descripción
numérico
x
El número cuyo exponencial debe
computarse
Resultado
Guía de referencia del comando de creación de datos y TML
279
floor
Tipo
Descripción
real
, el exponencial de x
Ejemplos exp (0) es igual a 1.
floor
Objetivo: Redondear un número para abajo al entero más cercano.
Sintaxis floor(x)
Argumentos
Tipo
Nombre
Descripción
numérico
x
El número que debe redondearse
Resultado
Tipo
Descripción
entero
, el entero, de forma tal que
Ejemplos
floor(-1.25) es igual a -1.
floor(-1.25) es igual a -2.
Generar un entero aleatorio entre 0 y 9 incluido: floor(rndUniform()*10)
También consulte
ceil en la página 278
round en la página 286
log
Objetivo: Calcular el logaritmo natural (base e) de un número.
Sintaxis log(x)
Argumentos
280
Tipo
Nombre
Descripción
numérico
x
Un número positivo
Portrait Miner 7.1
Capítulo 22: Funciones matemáticas y estadísticas
Resultado
Tipo
Descripción
real
, el logaritmo natural de x
Ejemplos log(1) es igual a 0.
log10
Objetivo: Calcular el logaritmo base 10 de un número.
Sintaxis log10(x)
Argumentos
Tipo
Nombre
Descripción
numérico
x
Un número positivo
Resultado
Tipo
Descripción
real
, el logaritmo base-10 de x
Ejemplos log10(100) es igual a 2.
logbase
Objetivo: Calcular el logaritmo de un número, en una base específica.
Sintaxis logbase(x, base)
Argumentos
Tipo
Nombre
Descripción
numérico
x
El número positivo cuyo logaritmo
debe computarse
numérico
base
La base que debe usarse
Resultado
Guía de referencia del comando de creación de datos y TML
281
max (dos o más argumentos), maxnonnull
Tipo
Descripción
real
, el logaritmo base-basede x
Ejemplos logbase100,10 es igual a 2.
max (dos o más argumentos), maxnonnull
Objetivo: Calcular el más alto de dos o más números, o la más reciente de dos o más fechas, o la
última en el alfabeto de dos o más cadenas. La variante max devuelve el valor nulo si alguno de sus
argumentos es nulo, la variante maxnonnull ignora los argumentos nulos (pero aún así devuelve el valor
nulo si todos sus argumentos son nulos).
Sintaxis max( , , ...)
maxnonnull ( , , ...)
Argumentos
Tipo
entero, real, fecha, o cadena
(todos del mismo tipo)
Nombre
Descripción
, , ...
Los valores que deben
compararse
Resultado
Tipo
Descripción
como entrada
El máximo de , , ...
Nota: • No se debe confundir esta función max multi-argument con la función aggregation [consulte
max (un argumento) en la página 171] del mismo nombre.
• En el caso de las cadenas, "último en orden alfabético" significa "último en la representación
del carácter subyacente".
Ejemplos
max (5.5, -3, 7, -8.5) es igual a 7.
max(5.5, -3, nulo, -8.5) es igual a nulo.
maxnonnull (5.5, -3, 7, -8.5) es igual a 7.
maxnonnull (5.5, -3, nulo, -8.5) es igual a 5.5.
Para determinar la mejor acción siguiente para un cliente de acuerdo con distintas medidas de ROI:
maxvalue := max (ROI1, ROI2, ROI3);
case
maxvalue = ROI1: "Producto1";
282
Portrait Miner 7.1
Capítulo 22: Funciones matemáticas y estadísticas
maxvalue = ROI2: "Producto2";
maxvalue = ROI3: "Producto3";
mean (dos o más argumentos), meannonnull
Objetivo: Calcular la media (el promedio) de dos o más números. La variante media devuelve el valor
nulo si alguno de sus argumentos es nulo, la variante meannonnull ignora los argumentos nulos (pero
aún así devuelve el valor nulo si todos sus argumentos son nulos).
Sintaxis mean( , , ...)
meannonnull ( , , ...)
Argumentos
Tipo
numérico
Nombre
Descripción
, , ...
Los números que se deben
promediar
Resultado
Tipo
Descripción
real
El promedio de , , ...
Nota: No se debe confundir esta función mean multi-argument con la función deaggregation [consulte
mean (un argumento) en la página 172] del mismo nombre.
Ejemplos
mean (5.5, -3, 7, -8.5) es igual a 0.25.
mean (5.5, -3, nulo, -8.5) es igual a nulo.
meannonnull (5.5, -3, 7, -8.5) es igual a 0.25.
meannonnull (5.5, -3, nulo, -8.5) es igual a -2.
Para calcular el gasto promedio anual de cuatro campos de gasto de trimestres separados:
mean(SpendQtr1, SpendQtr2, SpendQtr3, SpendQtr4)
min (dos o más argumentos), minnonnull
Objetivo: Calcular el más bajo de dos o más números, o la más lejana de dos o más fechas, o la primera
en el alfabeto de dos o más cadenas. La variante min devuelve el valor nulo si alguno de sus argumentos
Guía de referencia del comando de creación de datos y TML
283
normalize
es nulo, la variante minnonnull ignora los argumentos nulos (pero aún así devuelve el valor nulo si
todos sus argumentos son nulos).
Sintaxis
min ( , , ...)
minnonnull ( , , ...)
Argumentos
Tipo
entero, real, fecha, o cadena
(todos del mismo tipo)
Nombre
Descripción
, , ...
Los valores que deben
compararse
Resultado
Tipo
Descripción
como entrada
El mínimo de , , ...
Nota: • No se debe confundir esta función min multi-argument con la función aggregation [consulte
min (un argumento) en la página 173] del mismo nombre.
• En el caso de las cadenas, "primera en orden alfabético" significa "primera en la representación
del carácter subyacente".
Ejemplos
min (5.5, -3, 7, -8.5) es igual a -8.5.
min (5.5, -3, nulo, -8.5) es igual a nulo.
minnonnull (5.5, -3, 7, -8.5) es igual a -8.5.
minnonnull (5.5, -3, nulo, -8.5) es igual a -8.5.
normalize
Objetivo: normalizar los campos de valores para ubicarlos en el intervalo [0,1].
Sintaxis normalize(x)
Argumentos
Tipo
Nombre
Descripción
numérico
x
El número que debe normalizarse
Resultado
284
Portrait Miner 7.1
Capítulo 22: Funciones matemáticas y estadísticas
Tipo
Descripción
real
Valor entre 0 y 1 dado por
Nota: Sólo puede utilizar esta función en una derivación de Decision Studio, en el archivo de
derivaciones de qsderive o en la ventana Derivar campos equivalente en el archivo de rastreo
qstrack o en un archivo de selecciones de qsselect.
pow
Objetivo: Calcular el resultado de elevar un número a la potencia de otro número.
Sintaxis pow(x, exponent)
Argumentos
Tipo
Nombre
Descripción
numérico
x
El número que debe elevarse a
una potencia
numérico
exponent
El exponente
Resultado
Tipo
Descripción
real
, x elevado a la potencia exponent
Ejemplos pow(10, 2) es igual a 100.
product, productnonnull
Objetivo: Calcular el producto de dos o más números. La variante product devuelve el valor nulo si
alguno de sus argumentos es nulo, la variante productnonnull ignora los argumentos nulos (pero
aún así devuelve el valor nulo si todos sus argumentos son nulos).
Sintaxis product( , , ...)
productnonnull( , , ...)>
Argumentos
Guía de referencia del comando de creación de datos y TML
285
round
Tipo
numérico
Nombre
Descripción
, , ...
Los números que deben
multiplicarse
Resultado
Tipo
Descripción
como entrada
El producto de , , ...
Ejemplos
productnonnull (5.5, -3, 7, -8.5) es igual a 981.75.
product (5.5, -3, nulo, -8.5) es igual a nulo.
productnonnull (5.5, -3, 7, -8.5) es igual a 981.75.
productnonnull (5.5, -3, nulo, -8.5) es igual a 140.25.
round
Objetivo: Redondear un número al entero más cercano.
Sintaxis round(x)
Argumentos
Tipo
Nombre
Descripción
numérico
x
El número que debe redondearse
Resultado
Tipo
Descripción
entero
el entero más cercano a x, o, en el caso de un
empate, el mayor de los dos enteros más cercanos
(en valores absolutos)
Ejemplos
round (1.25) es igual a 1.
round (-1.25) es igual a -1.
round (1.5) es igual a 2.
round (-1.5) es igual a -2.
También consulte
286
Portrait Miner 7.1
Capítulo 22: Funciones matemáticas y estadísticas
ceil en la página 278
floor en la página 280
sgn
Objetivo: Calcular el signum (signo) de un número.
Sintaxis sgn(x)
Argumentos
Tipo
Nombre
Descripción
numérico
x
Un número con signo
Resultado
Tipo
Descripción
como entrada
Un número representando el signo de x:
Ejemplos
sgn(-25) igual a -1.
sgn(-25) igual a -1.
También consulte
abs en la página 278
División de agregaciones: la cláusula by en la página 156
sin
Objetivo: Calcular el seno de un ángulo.
Sintaxis sin(x)
Argumentos
Tipo
Nombre
Descripción
numérico
x
Un ángulo en radianes
Resultado
Guía de referencia del comando de creación de datos y TML
287
sqrt
Tipo
Descripción
real
sin x, el seno de x
Ejemplos sin(3.14159/2) es igual a 1.
sqrt
Objetivo: Calcular la raíz cuadrada de un número.
Sintaxis sqrt(x)
Argumentos
Tipo
Nombre
Descripción
numérico
x
Un número no negativo
Resultado
Tipo
Descripción
real
, calcula la raíz cuadrada de x
Ejemplos
sqrt(25) es igual a 5.
sqrt(-25) es igual a nulo.
sum (dos o más argumentos), sumnonnull
Objetivo: Calcular la suma de dos o más números. La variante sum regresa el valor nulo si cualquiera
de sus argumentos es nulo; la variante sumnonnull ignora los argumentos nulos (pero aún regresa el
valor nulo si todos sus argumentos son nulos).
Sintaxis sum( , , ...)
sumnonnull( , , ...)
Argumentos
Tipo
numérico
Nombre
, , ...
Descripción
Los números que se agregarán
Resultado
288
Portrait Miner 7.1
Capítulo 22: Funciones matemáticas y estadísticas
Tipo
Descripción
como entrada
La suma de , , ...
Nota: Tenga cuidado de no confundir esta función de suma multi-argument con la función de aggregation
[consulte la sección sum (un argumento) en la página 179] del mismo nombre.
Ejemplos
sum (5.5, -3, 7, -8.5) es igual a 1.
sum (5.5, -3, null, -8.5) es igual a null.
sumnonnull(5.5, -3, 7, -8.5) es igual a 1.
sumnonnull(5.5, -3, null, -8.5) es igual a -6.
Para derivar el gasto total de seis campos de datos semanales:
sum(SpendWk1, SpendWk2, SpendWk3, SpendWk4, SpendWk5, SpendWk6)
tan
Objetivo: Calcular la tangente de un ángulo.
Sintaxis tan(x)
Argumentos
Tipo
Nombre
Descripción
numérico
x
Un ángulo en radianes
Resultado
Tipo
Descripción
real
tan x, la tangente de x
Nota: Six se expresa como
FDL devuelve nulo.
for some entero n, tan x es indefinida. En ese caso, la función
Ejemplos tan(3.14159/4) es igual a 1.
Guía de referencia del comando de creación de datos y TML
289
Capítulo
Funciones de muestreo de
datos
En esta sección:
•
•
•
•
•
•
•
•
numericTestTrainSplit . . . . . . . . . . . . . . . . . . . . . . . . . . .292
numericTestTrainValidateSplit . . . . . . . . . . . . . . . . . . . . .292
sampleEqualSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .293
sampleExactNumber . . . . . . . . . . . . . . . . . . . . . . . . . . . .294
sampleExactPercentage . . . . . . . . . . . . . . . . . . . . . . . . . .295
sampleStratified . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .296
testTrainSplit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .297
testTrainValidateSplit . . . . . . . . . . . . . . . . . . . . . . . . . . . .297
23
numericTestTrainSplit
numericTestTrainSplit
Objetivo: Crear una segmentación de prueba y capacitación para usar en una validación de modelo.
Sintaxis numericTestTrainSplit(testFraction)
Argumentos
Tipo
Nombre
Descripción
real
testFraction
La fracción de los datos que se
utilizará como el conjunto de
prueba
Resultado
Tipo
Descripción
entero
Valores 0 para el conjunto de capacitación o 1 para
el conjunto de prueba
Ejemplos
Para derivar un campo que asigna el valor 0 a aproximadamente 70% de los registros (elegidos en
forma aleatoria) y el valor 1 a los restantes: numericTestTrainSplit(0.3)
También consulte
numericTestTrainValidateSplit en la página 292
sampleEqualSize en la página 293
testTrainSplit en la página 297
testTrainValidateSplit en la página 297
numericTestTrainValidateSplit
Objetivo: Crear una segmentación de prueba, capacitación y validación para usar en una validación
de modelo.
Sintaxis numericTestTrainValidateSplit(testFraction, validateFraction)
Argumentos
292
Portrait Miner 7.1
Capítulo 23: Funciones de muestreo de datos
Tipo
Nombre
Descripción
real
testFraction
La fracción de los datos que se
utilizará como el conjunto de
prueba
real
validateFraction
La fracción de los datos que se
utilizará como el conjunto
representativo
Resultado
Tipo
Descripción
entero
Los valores 0 para el conjunto de capacitación, 1
para el conjunto de prueba o 2 para el conjunto de
validación
Ejemplos
Para derivar un campo que asigna el valor 0 a aproximadamente el 50% de los registros (seleccionados
aleatoriamente), el valor 1 a aproximadamente el 30% de los registros (nuevamente seleccionados
aleatoriamente) y el valor 2 al resto: numericTestTrainValidateSplit(0.3, 0.2)
También consulte
numericTestTrainSplit en la página 292
sampleEqualSize en la página 293
testTrainSplit en la página 297
testTrainValidateSplit en la página 297
sampleEqualSize
Objetivo: Crear un índice de segmentación que asigne aleatoriamente registros a segmentos de tamaño
aproximadamente igual.
Sintaxis sampleEqualSize(NumberOfSegments)
Argumentos
Tipo
Nombre
Descripción
entero
NumberOfSegments
El número de segmentos para
crear
Resultado
Guía de referencia del comando de creación de datos y TML
293
sampleExactNumber
Tipo
Descripción
entero
Un número entre 1 y NumberOfSegments
(inclusive)
Ejemplos
Para derivar un campo que enumera cinco poblaciones de igual tamaño (aproximadamente):
sampleEqualSize(5)
También consulte
numericTestTrainSplit en la página 292
numericTestTrainValidateSplit en la página 292
testTrainSplit en la página 297
testTrainValidateSplit en la página 297
sampleExactNumber
Objetivo: Crear una muestra aleatoria de un tamaño exacto, especificada como un número de registros.
Sintaxis sampleExactNumber(NumberToSelect)
Argumentos
Tipo
Nombre
Descripción
entero
NumberToSelect
El tamaño de la muestra para
crear, como un número de
registros
Resultado
Tipo
Descripción
entero
1 si se selecciona un registro para la muestra; de
lo contrario 0
Nota: • Los registros que no están actualmente seleccionados en el enfoque reciben el valor nulo.
• Sólo puede utilizar esta función en una derivación de Decision Studio, en el archivo de
derivaciones para qsderive o la ventana Derivar campos equivalente, en el archivo de
rastreos para qstrack o en un archivo de selecciones para qsselect.
Ejemplos
Para seleccionar 1250 registros para una muestra. sampleExactNumber(1250)
También consulte
294
Portrait Miner 7.1
Capítulo 23: Funciones de muestreo de datos
sampleExactPercentage en la página 295
sampleStratified en la página 296
sampleExactPercentage
Objetivo: Crear una muestra aleatoria de un tamaño exacto, especificada como un porcentaje del
tamaño de la población seleccionada actualmente.
Sintaxis sampleExactPercentage(PercentageToSelect)
Argumentos
Tipo
Nombre
Descripción
entero
PercentageToSelect
El tamaño de la muestra para
crear, como un porcentaje del
tamaño de la población actual
Resultado
Tipo
Descripción
entero
1 si se selecciona un registro para la muestra; de
lo contrario 0
Nota: • Los registros que no están actualmente seleccionados en el enfoque reciben el valor nulo.
• Si PercentageToSelect multiplicado por el tamaño de la población no es un número entero,
el número seleccionado será el número entero más cercano arriba o abajo de
PercentageToSelect multiplicado por el tamaño de la población y proporcionará en promedio
el porcentaje especificado.
• Sólo puede utilizar esta función en una derivación de Decision Studio, en el archivo de
derivaciones para qsderive o la ventana Derivar campos equivalente, en el archivo de
rastreos para qstrack o en un archivo de selecciones para qsselect.
Ejemplos Para seleccionar el 25% de la población para la muestra:
sampleExactPercentage(25)
También consulte
sampleExactNumber en la página 294
sampleStratified en la página 296
Guía de referencia del comando de creación de datos y TML
295
sampleStratified
sampleStratified
Objetivo: Crear una muestra aleatoria que incluye un número exacto de registros de un segmento
específico, junto con un número exacto de registros del resto de la población seleccionada actualmente.
Sintaxis sampleStratified(NumberFromSegmentToSelect, SegmentTotalSize,
NumberOutsideSegmentToSelect, OutsideSegmentTotalSize, InSegmentExpression)
Argumentos
Tipo
Nombre
Descripción
entero
NumberFromSegmentToSelect El número de registros en la
muestra que se seleccionará del
segmento especificado
entero
SegmentTotalSize
entero
NumberOutsideSegmentToSelect El número de registros en la
muestra que se seleccionará del
resto de la población
entero
OutsideSegmentTotalSize
El número total de registros en el
resto de la población
entero
InSegmentExpression
La expresión (booleana) que
determina si un registro está o no
en el segmento especificado
El número total de registros en el
segmento especificado
Resultado
Tipo
Descripción
entero
1 si se selecciona un registro para la muestra; de
lo contrario 0
Nota: • Los registros que no están actualmente seleccionados en el enfoque reciben el valor nulo.
• Sólo puede utilizar esta función en una derivación de Decision Studio, en el archivo de
derivaciones para qsderive o la ventana Derivar campos equivalente, en el archivo de
rastreos para qstrack o en un archivo de selecciones para qsselect.
Ejemplos Para crear una muestra que comprenda 2500 registros de un total de 25.000 mujeres y 5000
registros de un total de 75.000 no mujeres:
sampleStratified(2500, 25000, 5000, 75000, Gender = "F")
También consulte
sampleExactNumber en la página 294
sampleExactPercentage en la página 295
296
Portrait Miner 7.1
Capítulo 23: Funciones de muestreo de datos
testTrainSplit
Objetivo: Crear una segmentación de prueba y capacitación para usar en una validación de modelo.
Sintaxis testTrainSplit(testFraction)
Argumentos
Tipo
Nombre
Descripción
real
testFraction
La fracción de los datos que se
utilizará como el conjunto de
prueba
Resultado
Tipo
Descripción
cadena
Valores de cadena TestSet o TrainingSet
Ejemplos
Para derivar un campo que asigna el valor "TrainingSet" a aproximadamente el 70% de los registros
(seleccionados aleatoriamente) y el valor "TestSet" al resto:
testTrainSplit(0.3)
También consulte
numericTestTrainSplit en la página 292
numericTestTrainValidateSplit en la página 292
sampleEqualSize en la página 293
testTrainValidateSplit en la página 297
testTrainValidateSplit
Objetivo: Crear una segmentación de prueba, capacitación y validación para usar en una validación
de modelo.
Sintaxis testTrainValidateSplit(testFraction, validateFraction)
Argumentos
Guía de referencia del comando de creación de datos y TML
297
testTrainValidateSplit
Tipo
Nombre
Descripción
real
testFraction
La fracción de los datos que se
utilizará como el conjunto de
prueba
real
validateFraction
La fracción de los datos que se
utilizará como el conjunto
representativo
Resultado
Tipo
Descripción
cadena
Valores de cadena TestSet, TrainingSet o
ValidationSet
Ejemplos
Para derivar un campo que asigna el valor "TrainingSet" a aproximadamente el 50% de los registros
(seleccionados aleatoriamente), el valor "TestSet" a aproximadamente el 30% de los registros
(nuevamente seleccionados aleatoriamente) y el valor "ValidationSet" al resto:
testTrainValidateSplit(0.3, 0.2)
También consulte
numericTestTrainSplit en la página 292
numericTestTrainValidateSplit en la página 292
sampleEqualSize en la página 293
testTrainSplit en la página 297
298
Portrait Miner 7.1
Capítulo
Funciones de números
aleatorios
En esta sección:
•
•
•
•
•
•
•
•
Sobre las funciones de números aleatorios en FDL . . .300
rndBinomial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .300
rndBool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .301
rndExp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .301
rndGamma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .302
rndNormal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .302
rndPoisson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .303
rndUniform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .304
24
Sobre las funciones de números aleatorios en FDL
Sobre las funciones de números aleatorios en FDL
Cuando se evalúa una expresión FDL que involucra a una función de número aleatorio
numericTestTrainSplit, numericTestTrainValidateSplit, rndBinomial, rndBool, rndExp, rndGamma,
rndNormal, rndPoisson o rndUniform sampleEqualSize, sampleExactNumber,
sampleExactPercentage, sampleStratified, testTrainSplit y testTrainValidateSplit), Portrait Miner
necesita una "semilla" de un entero para inicializar su secuencia de números aleatorios. Con la misma
semilla, la misma expresión siempre producirá la misma secuencia de resultados.
Nota: • La semilla se almacena como parte de la información del campo.
• La generación de números en forma (pseudo)aleatoria está basada en la de Marsaglia, Zaman,
y Tsang (1990).
rndBinomial
Objetivo: Generar un entero aleatorio basado en una distribución binomial.
Sintaxis rndBinomial(N, p)
Argumentos
Tipo
Nombre
Descripción
entero
n
Los números (positivos) de las
pruebas
numérico
p
La probabilidad de éxito de cada
prueba (entre 0 y 1)
Resultado
Tipo
Descripción
entero
Un entero aleatorio no negativo tomado de la
distribución binomial, con la probabilidad dada por
Nota: La expectativa y la varianza de la distribución binomial son
y
, respectivamente.
Ejemplos rndBinomial (50, 0.05)
También consulte
Sobre las funciones de números aleatorios en FDL en la página 300
300
Portrait Miner 7.1
Capítulo 24: Funciones de números aleatorios
rndBool
Objetivo: Generar un 0 ó 1 de manera aleatoria (con probabilidades iguales).
Sintaxis rndBool()
Argumentos Ninguno
Resultado
Tipo
Descripción
entero
0 ó 1, con probabilidades
Ejemplos
Derivar un campo que asigna el valor 0 a aproximadamente 50% de los registros (elegidos al azar) y
el valor 1 al resto de los registros: rndBool()
También consulte
Sobre las funciones de números aleatorios en FDL en la página 300
rndExp
Objetivo: Generar un número positivo aleatorio basado en una distribución exponencial.
Sintaxis rndExp(b)
Argumentos
Tipo
Nombre
Descripción
numérico
b
El parámetro de la escala
(positivo)
Resultado
Tipo
Descripción
real
Un número positivo aleatorio tomado de una
distribución exponencial, con la función de
densidad de probabilidad dada por
(x
> 0)
Nota: La expectativa y la varianza de la distribución exponencial son
y
respectivamente.
Ejemplos rndExp (10)
Guía de referencia del comando de creación de datos y TML
301
rndGamma
También consulte
Sobre las funciones de números aleatorios en FDL en la página 300
rndGamma
Objetivo: Generar un número positivo aleatorio basado en una distribución gamma.
Sintaxis rndGamma(a, b)
Argumentos
Tipo
Nombre
Descripción
entero
a
El número (positivo) de eventos
independientes
numérico
b
La relación de eventos (positiva)
Resultado
Tipo
Descripción
real
Un número positivo aleatorio tomado de una
distribución gamma
, con la función de
densidad de probabilidad dada por
Nota: La expectativa y la varianza de la distribución gamma son
y
respectivamente.
Ejemplos rndGamma (50, 0.05)
También consulte
Sobre las funciones de números aleatorios en FDL en la página 300
rndNormal
Objetivo: Generar un número positivo aleatorio basado en una distribución normal.
Sintaxis rndNormal( , )
Argumentos
Tipo
numérico
302
Nombre
Descripción
La media de la distribución
Portrait Miner 7.1
Capítulo 24: Funciones de números aleatorios
Tipo
Nombre
Descripción
numérico
La desviación estándar de la
distribución
Resultado
Tipo
Descripción
real
Un número positivo aleatorio tomado de la
distribución normal
, con la función de
densidad de probabilidad dada por
Nota: La expectativa y la varianza de la distribución normal son y
respectivamente.
Ejemplos
Ejemplos Derivar una distribución de Gauss con una media de cero y desviación estándar de unidad:
rndNormal(0,1)
También consulte
Sobre las funciones de números aleatorios en FDL en la página 300
rndPoisson
Objetivo: Generar un número no negativo entero aleatorio basado en un distribución de Poisson discreta.
Sintaxis rndPoisson(mean)
Argumentos
Tipo
Nombre
Descripción
numérico
La media (positiva) de la
distribución
Resultado
Tipo
Descripción
entero
Un entero no negativo aleatorio tomado de una
distribución discreta de Poisson, con la probabilidad
calculada a partir de
(
)
Nota: Tanto la expectativa como la varianza de la distribución de Poisson discreta son iguales a la
media, .
Guía de referencia del comando de creación de datos y TML
303
rndUniform
Ejemplos rndPoisson (10)
También consulte
Sobre las funciones de números aleatorios en FDL en la página 300
rndUniform
Objetivo: Generar un número aleatorio entre 0 y 1 basado en una distribución uniforme.
Sintaxis rndUniform()
Argumentos Ninguno
Resultado
Tipo
Descripción
real
Un número aleatorio tomado de una distribución
uniforme por encima de [0, 1)
Ejemplos
Ejemplos Para generar un número real aleatorio en el rango de [0,10): rndUniform() * 10
También consulte
Sobre las funciones de números aleatorios en FDL en la página 300
304
Portrait Miner 7.1
Capítulo
Funciones de rentabilidad
de la inversión
En esta sección:
•
•
•
•
•
•
•
•
ActionROI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .306
ActionROIAnnualized . . . . . . . . . . . . . . . . . . . . . . . . . . . .307
OfferROI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .308
OfferROIAnnualized . . . . . . . . . . . . . . . . . . . . . . . . . . . . .309
RetentionActionROI . . . . . . . . . . . . . . . . . . . . . . . . . . . . .310
RetentionActionROIAnnualized . . . . . . . . . . . . . . . . . . . .311
RetentionOfferROI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .313
RetentionOfferROIAnnualized . . . . . . . . . . . . . . . . . . . . .314
25
ActionROI
ActionROI
Objetivo: Calcular la contribución al ROI (dinero) por cliente de emprender una acción diseñada para
generar una respuesta definitiva. La acción sucede ya sea que el cliente responda o no, de modo que
sólo está el costo de la acción, no del cumplimiento.
Sintaxis ActionROI(ResponseProbability, ValueOfResponse, CostOfAction)
Argumentos
Tipo
Nombre
Descripción
numérico
ResponseProbability
La probabilidad estimada de que
un cliente responda a la acción
mostrando algún tipo de conducta
de respuesta.
numérico
ValueOfResponse
El valor estimado de la respuesta
de un cliente a una acción de
marketing (si ocurre)
numérico
CostOfAction
El costo estimado de una acción
(ya sea que el cliente responda
o no)
Resultado
Tipo
Descripción
numérico
La contribución al ROI (dinero) de emprender una
acción, calculada por cliente
Nota: • La probabilidad de respuesta debe ser un "alza", es decir, la probabilidad de que el cliente
muestre esa conducta cuando de otro modo no lo hubiera hecho. Si existe alguna posibilidad
de que el cliente muestre la conducta deseada sin emprender la acción, esto debe modelarse
utilizando el modelo de "alza" o, si eso falla, se debe restar la posibilidad de la respuesta con
acción de la posibilidad sin la acción.
• El valor de la respuesta debe ser un ingreso neto que ignora el costo de la acción de marketing.
También consulte
ActionROIAnnualized en la página 307
OfferROI en la página 308
OfferROIAnnualized en la página 309
RetentionActionROI en la página 310
RetentionActionROIAnnualized en la página 311
RetentionOfferROI en la página 313
306
Portrait Miner 7.1
Capítulo 25: Funciones de rentabilidad de la inversión
RetentionOfferROIAnnualized en la página 314
ActionROIAnnualized
Objetivo: Estimar el múltiplo anual de rentabilidad de la inversión por cliente al tomar medidas diseñadas
para generar una respuesta definitiva de un cliente. La acción sucede ya sea que el cliente responda
o no, de modo que sólo está el costo de la acción, no del cumplimiento.
Sintaxis ActionROIAnnualized(ResponseProbability, ValueOfResponse, CostOfAction,
DaysToROI)
Argumentos
Tipo
Nombre
Descripción
numérico
ResponseProbability
La probabilidad estimada de que
un cliente responda a la acción
mostrando algún tipo de conducta
de respuesta.
numérico
ValueOfResponse
El valor estimado de la respuesta
de un cliente a una acción de
marketing (si ocurre)
numérico
CostOfAction
El costo estimado de una acción
(ya sea que el cliente responda
o no)
numérico
DaysToROI
El número de días que se
requerirá para lograr un ROI
determinado.
Resultado
Tipo
Descripción
numérico
El ROI múltiple anualizado y calculado por cliente
de emprender una acción.
Nota: • La probabilidad de respuesta debe ser un "alza", es decir, la probabilidad de que el cliente
muestre esa conducta cuando de otro modo no lo hubiera hecho. Si existe alguna posibilidad
de que el cliente muestre la conducta deseada sin emprender la acción, esto debe modelarse
utilizando el modelo de "alza" o, si eso falla, se debe restar la posibilidad de la respuesta con
acción de la posibilidad sin la acción.
• El valor de la respuesta debe ser un ingreso neto que ignora el costo de la acción de marketing.
También consulte
ActionROI en la página 306
Guía de referencia del comando de creación de datos y TML
307
OfferROI
OfferROI en la página 308
OfferROIAnnualized en la página 309
RetentionActionROI en la página 310
RetentionActionROIAnnualized en la página 311
RetentionOfferROI en la página 313
RetentionOfferROIAnnualized en la página 314
OfferROI
Objetivo: Estimar la contribución de rentabilidad de la inversión por cliente al hacer una oferta diseñada
para generar una respuesta definitiva.
Sintaxis OfferROI(ResponseProbability, ValueOfResponse, CostOfOffer,
CostOfFulfilment)
Argumentos
Tipo
Nombre
Descripción
numérico
ResponseProbability
La probabilidad estimada de que
un cliente responda a la acción
mostrando algún tipo de conducta
de respuesta.
numérico
ValueOfResponse
El valor estimado de la respuesta
de un cliente a una acción de
marketing (si ocurre)
numérico
CostOfOffer
El costo estimado de una acción
(ya sea que el cliente responda
o no)
numérico
CostOfFulfilment
El costo estimado del
cumplimiento de una respuesta
positiva (cero si no hay costo de
cumplimiento (adicional))
Resultado
Tipo
Descripción
numérico
El ROI estimado por cliente de realizar una oferta
Nota: • La probabilidad de respuesta debe ser un "alza", es decir, la probabilidad de que el cliente
muestre esa conducta cuando de otro modo no lo hubiera hecho. Si existe alguna posibilidad
de que el cliente muestre la conducta deseada sin emprender la acción, esto debe modelarse
308
Portrait Miner 7.1
Capítulo 25: Funciones de rentabilidad de la inversión
utilizando el modelo de "alza" o, si eso falla, se debe restar la posibilidad de la respuesta con
acción de la posibilidad sin la acción.
• El valor de la respuesta debe ser un ingreso neto que ignora el costo de la acción de marketing
y el costo del cumplimiento de la respuesta del cliente.
También consulte
ActionROI en la página 306
ActionROIAnnualized en la página 307
OfferROIAnnualized en la página 309
RetentionActionROI en la página 310
RetentionActionROIAnnualized en la página 311
RetentionOfferROI en la página 313
RetentionOfferROIAnnualized en la página 314
OfferROIAnnualized
Objetivo: Estimar el múltiplo anual de rentabilidad de la inversión por cliente al hacer una oferta diseñada
para generar una respuesta definitiva de un cliente.
Sintaxis OfferROIAnnualized(ResponseProbability, ValueOfResponse, CostOfOffer,
CostOfFulfilment, DaysToROI)
Argumentos
Tipo
Nombre
Descripción
numérico
ResponseProbability
La probabilidad estimada de que
un cliente responda a la acción
mostrando algún tipo de conducta
de respuesta.
numérico
ValueOfResponse
El valor estimado de la respuesta
de un cliente a una acción de
marketing (si ocurre)
numérico
CostOfOffer
El costo estimado de una acción
(ya sea que el cliente responda
o no)
numérico
CostOfFulfilment
El costo estimado del
cumplimiento de una respuesta
positiva (cero si no hay costo de
cumplimiento (adicional))
Guía de referencia del comando de creación de datos y TML
309
RetentionActionROI
Tipo
Nombre
Descripción
numérico
DaysToROI
El número de días que se
requerirá para lograr un ROI
determinado.
Resultado
Tipo
Descripción
numérico
El ROI múltiple anualizado estimado por cliente de
realizar una oferta
Nota: • La probabilidad de respuesta debe ser un "alza", es decir, la probabilidad de que el cliente
muestre esa conducta cuando de otro modo no lo hubiera hecho. Si existe alguna posibilidad
de que el cliente muestre la conducta deseada sin emprender la acción, esto debe modelarse
utilizando el modelo de "alza" o, si eso falla, se debe restar la posibilidad de la respuesta con
acción de la posibilidad sin la acción.
• El valor de la respuesta debe ser un ingreso neto que ignora el costo de la acción de marketing
y el costo del cumplimiento de la respuesta del cliente.
También consulte
ActionROI en la página 306
ActionROIAnnualized en la página 307
OfferROI en la página 308
RetentionActionROI en la página 310
RetentionActionROIAnnualized en la página 311
RetentionOfferROI en la página 313
RetentionOfferROIAnnualized en la página 314
RetentionActionROI
Objetivo: Estimar (en dinero) la contribución de rentabilidad de la inversión por cliente al tomar medidas
diseñadas para prevenir desgastes. Se asume que la acción tiene un costo fijo, sin importar si se
conserva al cliente o no, y si el cliente "acepta" o no la oferta.
Sintaxis RetentionActionROI(SaveProbability, NetRevenueAtRisk, CostOfAction)
Argumentos
310
Tipo
Nombre
Descripción
numérico
SaveProbability
La probabilidad estimada de que
el cliente se "conservará" (para
Portrait Miner 7.1
Capítulo 25: Funciones de rentabilidad de la inversión
Tipo
Nombre
Descripción
el período en consideración)
como resultado de la acción
emprendida
numérico
NetRevenueAtRisk
El ingreso neto estimado que se
perderá si el cliente no se
conserva durante el período en
consideración
numérico
CostOfAction
El costo estimado de una acción
(ya sea que el cliente responda
o no)
Resultado
Tipo
Descripción
numérico
Calcular la contribución al ROI (dinero) por cliente
de una acción diseñada para evitar el desgaste.
Nota: • Decir que se ha "conservado" un cliente significa que "se evitó la pérdida de un cliente cuando
de lo contrario se hubiera perdido". Este valor es el negativo del alza en la tasa de desgaste
producida por el modelo de alza. Alternativamente, puede calcularse como P(desgaste|sin
acción) - P(desgaste|con acción).
• El ingreso neto en riesgo debe ser un ingreso neto que ignora el costo de la acción diseñada
para evitar el desgaste.
También consulte
ActionROI en la página 306
ActionROIAnnualized en la página 307
OfferROI en la página 308
OfferROIAnnualized en la página 309
RetentionActionROIAnnualized en la página 311
RetentionOfferROI en la página 313
RetentionOfferROIAnnualized en la página 314
RetentionActionROIAnnualized
Objetivo: Estimar la contribución anual de rentabilidad de la inversión por cliente al tomar medidas
diseñadas para prevenir desgastes. Se asume que la acción tiene un costo fijo, sin importar si se
conserva al cliente o no, y si el cliente "acepta" o no la oferta.
Guía de referencia del comando de creación de datos y TML
311
RetentionActionROIAnnualized
Sintaxis RetentionActionROIAnnualized(SaveProbability, NetRevenueAtRisk,
CostOfAction, DaysToROI)
Argumentos
Tipo
Nombre
Descripción
numérico
SaveProbability
La probabilidad estimada de que
el cliente se "conservará" (para
el período en consideración)
como resultado de la acción
emprendida
numérico
NetRevenueAtRisk
El ingreso neto estimado que se
perderá si el cliente no se
conserva durante el período en
consideración
numérico
CostOfAction
El costo estimado de una acción
(ya sea que el cliente responda
o no)
numérico
DaysToROI
El número de días que se
requerirá para lograr un ROI
determinado.
Resultado
Tipo
Descripción
numérico
La contribución estimada al ROI anualizado por
cliente de una acción diseñada para evitar el
desgaste.
Nota: • Decir que se ha "conservado" un cliente significa que "se evitó la pérdida de un cliente cuando
de lo contrario se hubiera perdido". Este valor es el negativo del alza en la tasa de desgaste
producida por el modelo de alza. Alternativamente, puede calcularse como P(desgaste|sin
acción) - P(desgaste|con acción).
• El ingreso neto en riesgo debe ser un ingreso neto que ignora el costo de la acción diseñada
para evitar el desgaste.
También consulte
ActionROI en la página 306
ActionROIAnnualized en la página 307
OfferROI en la página 308
OfferROIAnnualized en la página 309
RetentionActionROI en la página 310
RetentionOfferROI en la página 313
312
Portrait Miner 7.1
Capítulo 25: Funciones de rentabilidad de la inversión
RetentionOfferROIAnnualized en la página 314
RetentionOfferROI
Objetivo: Estimar la rentabilidad de la inversión por cliente al hacer una oferta diseñada para prevenir
desgastes. Una oferta, a diferencia de una acción, tiene un costo diferente si es aceptada por el cliente
que si no es aceptada.
Sintaxis RetentionOfferROI(SaveProbability, ResponseProbability,
NetRevenueAtRisk, CostOfOffer, CostOfFulfilment)
Argumentos
Tipo
Nombre
Descripción
numérico
SaveProbability
La probabilidad estimada de que
el cliente se "conservará" (para
el período en consideración)
como resultado de la acción
emprendida
numérico
ResponseProbability
La probabilidad estimada de que
el cliente responda a la oferta
numérico
NetRevenueAtRisk
El ingreso neto estimado que se
perderá si el cliente no se
conserva durante el período en
consideración
numérico
CostOfOffer
El costo estimado de una oferta
(ya sea que el cliente responda
o no)
numérico
CostOfFulfilment
El costo estimado de obtener una
respuesta positiva a la oferta.
Resultado
Tipo
Descripción
numérico
El ROI estimado por cliente de una oferta diseñada
para evitar el desgaste
Nota: • Decir que se ha "conservado" un cliente significa que "se evitó la pérdida de un cliente cuando
de lo contrario se hubiera perdido". Este valor es menos el alza en la tasa de desgaste
producido por el modelo de alza. Alternativamente, puede calcularse como P(desgaste|sin
acción) - P(desgaste|con acción).
• El ingreso neto en riesgo debe ser un ingreso neto que ignora el costo de la acción diseñada
para evitar el desgaste.
Guía de referencia del comando de creación de datos y TML
313
RetentionOfferROIAnnualized
También consulte
ActionROI en la página 306
ActionROIAnnualized en la página 307
OfferROI en la página 308
OfferROIAnnualized en la página 309
RetentionActionROI en la página 310
RetentionActionROIAnnualized en la página 311
RetentionOfferROIAnnualized en la página 314
RetentionOfferROIAnnualized
Objetivo: Estimar la rentabilidad anual de la inversión por cliente al hacer una oferta diseñada para
prevenir desgastes. Una oferta, a diferencia de una acción, tiene un costo diferente si es aceptada por
el cliente que si no es aceptada.
Sintaxis RetentionOfferROIAnnualized(SaveProbability, ResponseProbability,
NetRevenueAtRisk, CostOfOffer, CostOfFulfilment, DaysToROI)
Argumentos
314
Tipo
Nombre
Descripción
numérico
SaveProbability
La probabilidad estimada de que
el cliente se "conservará" (para
el período en consideración)
como resultado de la acción
emprendida
numérico
ResponseProbability
La probabilidad estimada de que
el cliente responda a la oferta
numérico
NetRevenueAtRisk
El ingreso neto estimado que se
perderá si el cliente no se
conserva durante el período en
consideración
numérico
CostOfOffer
El costo estimado de una oferta
(ya sea que el cliente responda
o no)
numérico
CostOfFulfilment
El costo estimado de obtener una
respuesta positiva a la oferta.
numérico
DaysToROI
El número de días que se
requerirá para lograr un ROI
determinado.
Portrait Miner 7.1
Capítulo 25: Funciones de rentabilidad de la inversión
Resultado
Tipo
Descripción
numérico
El ROI anualizado por cliente estimado de una
oferta diseñada para evitar el desgaste.
Nota: • Decir que se ha "conservado" un cliente significa que "se evitó la pérdida de un cliente cuando
de lo contrario se hubiera perdido". Este valor es menos el alza en la tasa de desgaste
producido por el modelo de alza. Alternativamente, puede calcularse como P(desgaste|sin
acción) - P(desgaste|con acción).
• El ingreso neto en riesgo debe ser un ingreso neto que ignora el costo de la acción diseñada
para evitar el desgaste.
También consulte
ActionROI en la página 306
ActionROIAnnualized en la página 307
OfferROI en la página 308
OfferROIAnnualized en la página 309
RetentionActionROI en la página 310
RetentionActionROIAnnualized en la página 311
RetentionOfferROI en la página 313
Guía de referencia del comando de creación de datos y TML
315
Capítulo
Funciones diversas
En esta sección:
•
•
•
•
•
dblookup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .318
member . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .319
rankOrder, rankOrderApprox . . . . . . . . . . . . . . . . . . . . . .321
rankOrderMean, rankOrderApproxMean . . . . . . . . . . . .322
rownum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .323
26
dblookup
dblookup
Objetivo: Buscar valores en una tabla de referencias (guardada como enfoque).
Sintaxis dblookup(d, k, f, x)
Argumentos
Tipo
Nombre
Descripción
cadena
d
El nombre de ruta de la tabla de
búsqueda
cadena
k
El nombre del campo clave en la
tabla de búsqueda
cadena
f
El nombre de otro campo en la
tabla de búsqueda
como campo k
x
El valor de búsqueda
Resultado
318
Tipo
Descripción
como campo f
El valor y en el campo f de la tabla d, para el
registro indexado por el valor x presente en el
campo clave k
Portrait Miner 7.1
Capítulo 26: Funciones diversas
Nota: • Sólo debe utilizar esta función para tablas de búsqueda pequeñas. Si la tabla de búsqueda
es de un tamaño comparable a una tabla de clientes o de transacciones, debe considerar
realizar una unión.
• Si el valor de búsqueda no está presente en el campo clave, se devuelve el valor nulo.
• Si el valor de búsqueda se presenta más de una vez en el campo clave, se utiliza el primer
valor.
• El espacio en blanco posterior se corta del valor de búsqueda, pero no de los valores del
campo clave en la tabla de búsqueda. Esto puede generar un comportamiento inesperado si
el campo clave en la tabla de búsqueda incluye valores con espacios en blanco posteriores.
• Para la compatibilidad con versiones anteriores, puede colocar un prefijo en el nombre de ruta
de la tabla de búsqueda con la cadena focus:.
Ejemplo
En un enfoque, la tienda en la que un cliente realiza sus compras frecuentes está registrada en el campo
PopularShop. Otro enfoque stores.ftr incluye una tabla de búsqueda que describe las instalaciones
en cada tienda: En este enfoque, StoreCode es el campo clave, y el campo HasFuel indica si cada
tienda tiene una estación de gasolina. La tienda 105 tiene una estación de gasolina, las tiendas 299 y
204 no, y así sucesivamente; la tienda 189 no está en la tabla de búsqueda. Para derivar un campo que
marca si la tienda favorita de cada cliente tiene una estación de gasolina:
PopularShop
dblookup("focus:stores.ftr",
"StoreCode", "HasFuel", PopularShop)
105
1
299
0
204
0
189
null
member
Objetivo: Determinar la pertenencia a un conjunto.
Sintaxis member(x, , , ...)
Argumentos
Tipo
Nombre
Descripción
entero, real, fecha, o cadena
x
El valor que será comprobado
como x
, , ...
Los elementos del conjunto
Resultado
Guía de referencia del comando de creación de datos y TML
319
member
Tipo
Descripción
entero
1 (true) if x está en el conjunto
contrario 0 (false)
; de lo
Nota: • Solo se pueden utilizar valores literales (números, cadenas o fechas) para la lista de elementos
del conjunto.
• En general, es más eficiente utilizar la función miembro que una disyunción de pruebas de
igualdad. Por ejemplo, la expresión strmember(F, "a", "b", "c") es más rápida de
evaluar que F = "a" or F = "b" or F = "c".
• Para buscar compatibilidad hacia atrás, puede utilizar strmember en vez de member cuando
los argumentos sean cadenas.
• Los espacios en blanco al final de las cadenas no son ignorados.
Ejemplos
Para utilizar los dos primeros caracteres de un campo StateCode para identificar clientes de la costa
Este u Oeste:
StateCode
miembro (substr (StateCode, 0, 1),
"CA", "OR", WA")
OR009
1
CA043
1
UT005
0
WA027
1
Para marcar clientes con números telefónicos de 10 dígitos que tengan los códigos de área de Edimburgo
(131) o Glasgow (141) (determinando los tres primeros dígitos utilizando el operador div [consulte
Operadores aritméticos en la página 195]):
TelNo
si es miembro (TelNo div 10000000,
131, 141) entonces "Edim/Glas" si no
nulo
1312204491
Edim/Glas
1753833999
null
1611234567
null
1417654321
Edim/Glas
También consulte
División de agregaciones: la cláusula by en la página 156
320
Portrait Miner 7.1
Capítulo 26: Funciones diversas
rankOrder, rankOrderApprox
Objetivo: Identificar el orden de un valor dentro de una lista de valores.
Sintaxis
rankOrder (x,
, , ...)
rankOrderApprox (x,
, , ...)
Argumentos
Tipo
Nombre
Descripción
entero, real, fecha, o cadena
x
El valor que debe graduarse
como x
, , ...
La lista de valores para comparar
Resultado
Tipo
Descripción
entero
La posición de la primera ocurrencia de x dentro
de la lista de valores obtenidos mediante la
clasificación de , , ... en orden descendente (de
la última a la primera para las fechas; en orden
alfabético inverso para las cadenas)
Si x no aparece en la lista, rankOrder devuelve
nulo, mientras que rankOrderApprox devuelve la
posición de x dentro de la lista de valores
obtenidos mediante la clasificación de x, , , ...
en orden descendente.
Nota: • Cuando el valor que debe graduarse aparece exactamente una vez en la lista de valores,
rankOrder, rankOrderApprox, rankOrderMean y rankOrderApproxMean dan todos el mismo
resultado.
• Cuando el valor que debe graduarse aparece más de una vez en la lista de valores,
rankOrderApprox da el mismo resultado que rankOrder.
• Cuando el valor que debe graduarse no aparece en la lista de valores, rankOrderApprox da
el mismo resultado que rankOrderApproxMean.
• Para las cadenas, "orden alfabético" significa el orden natural de la representación de los
caracteres subyacentes.
Ejemplos
rankOrder(6.74, 6.74, 1.99, 0.00, 9.27) es igual a 2.
rankOrderApprox(6.74, 1.99, 0.00, 9.27) es igual a 2.
Para verificar la graduación en un año del número de llamadas de un cliente en el 4º trimestre:
Guía de referencia del comando de creación de datos y TML
321
rankOrderMean, rankOrderApproxMean
rankOrder(CallsQ4, CallsQ1, CallsQ2, CallsQ3, CallsQ4)
Para verificar la graduación en el mes 5 del número de llamadas de un cliente con respecto a los cuatro
meses anteriores:
RankOrderApprox(CallsM5, CallsM1, CallsM2, CallsM3, CallsM4)
También consulte
rankOrderMean, rankOrderApproxMean en la página 322
rankOrderMean, rankOrderApproxMean
Objetivo: Identificar la graduación de un valor dentro de una lista de valores, o su graduación promedio
si aparece más de una vez.
Sintaxis rankOrderMean(x,
rankOrderApproxMean(x,
, , ...)
, , ...)
Argumentos
Tipo
Nombre
Descripción
entero, real, fecha, o cadena
x
El valor que debe graduarse
como x
, , ...
La lista de valores para comparar
Resultado
Tipo
Descripción
real
La clasificación media de x dentro de la lista de
valores obtenidos mediante la clasificación de ,
, ... en orden descendente (de la última a la
primera para las fechas; en orden alfabético inverso
para las cadenas)
Si x no aparece en la lista, rankOrderMean
devuelve nulo, mientras que
rankOrderApproxMean devuelve la posición de
x dentro de la lista de valores obtenidos mediante
la clasificación de x, , , ... en orden descendente.
Nota: • Cuando el valor a jerarquizar aparece exactamente una vez en la lista de valores, rankOrder,
rankOrderApprox, rankOrderMean y rankOrderApproxMean todas dan el mismo
resultado.
• Cuando el valor que debe graduarse aparece más de una vez en la lista de valores,
rankOrderApproxMean da el mismo resultado que rankOrderMean.
322
Portrait Miner 7.1
Capítulo 26: Funciones diversas
• Cuando el valor que debe graduarse no aparece en la lista de valores, rankOrderApproxMean
da el mismo resultado que rankOrderApprox.
• Para las cadenas, "orden alfabético" significa el orden natural de la representación de los
caracteres subyacentes.
Ejemplos
rankOrderMean(6.74, 6.74, 1.99, 6.74, 9.27) es igual a 2.5.
rankOrderApproxMean(6.74, 1.99, 6.74, 9.27, 6.74) es igual a 2.5.
También consulte
rankOrder, rankOrderApprox en la página 321
rownum
Objetivo: Mostrar el número de cada fila en una tabla.
Sintaxis rownum()
Argumentos Ninguno
Resultado
Tipo
Descripción
entero
Un número de índice de 1 al número de registros
en la tabla
Nota: Sólo se puede usar esta función en una derivación de Decision Studio, en el archivo de derivación
para qsderive o la ventana Derivar campos equivalente en el archivo seguidor para qstrack
o en un archivo de selecciones para qsselect.
Ejemplos Para agregar una columna de índice a un conjunto de datos de registro N, con los valores
:
Identificación
rownum()
AZ195
1
DI539
2
JD974
3
BY643
4
Guía de referencia del comando de creación de datos y TML
323
Capítulo
Rangos
En esta sección:
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
bin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .326
Boolean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .327
DayFrom, WeekFrom, MonthFrom, YearFrom . . . . . . . .328
DayMultipleFrom, WeekMultipleFrom, MonthMultipleFrom,
YearMultipleFrom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .328
DayMultipleNumBins, WeekMultipleNumBins,
MonthMultipleNumBins, YearMultipleNumBins . . . . . . .329
DayMultiplePrePost, WeekMultiplePrePost,
MonthMultiplePrePost, YearMultiplePrePost . . . . . . . . .330
DayMultipleTo, WeekMultipleTo, MonthMultipleTo,
YearMultipleTo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .331
DayMultipleWidth, WeekMultipleWidth, MonthMultipleWidth,
YearMultipleWidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .332
DayPrePost, WeekPrePost, MonthPrePost, YearPrePost .333
DayRange, WeekRange, MonthRange, YearRange . . . .334
DayTo, WeekTo, MonthTo, YearTo . . . . . . . . . . . . . . . . . .335
EqualRange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .336
EqualRangeWidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .337
NegativeNonNegative . . . . . . . . . . . . . . . . . . . . . . . . . . . .337
PreDuringPost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .338
PrePost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .339
Sign . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .340
27
bin
bin
Objetivo: Obtener un índice de rangos correspondientes a un valor.
Sintaxis bin(binning, x)
Argumentos
Tipo
Nombre
Descripción
rangos
binning
Una creación de rangos con
nombre, con valores de
parámetro (que deben ser valores
literales) en paréntesis si se
requiere
entero, real, fecha, o cadena
x
Un valor compatible con la
creación de rangos
Resultado
Tipo
Descripción
entero
El índice de rango del rango en el que está x
Nota: • Los índices de rango son enteros positivos. Para una creación de rangos numéricos con n
rangos nominales (numerados de 2 a n + 1), los rangos de final inferior y superior se numeran
en 1 y n + 2 respectivamente, mientras que los rangos nulos y sin clasificar se enumeran en
n + 3 y n + 4.
• Esta función no está disponible en Decision Studio. No obstante, si x es un campo y b es el
rango primario asociado con x, se puede obtener el mismo resultado utilizando segindex:
segindex() by x
Ejemplos
Dividir las agregaciones con la creación de rangos iguales EqualRange en el campo Amount, esto da
como resultado una agregación segmentada en ocho (cuatro rangos internos entre valores de monto
de 20 y 100 dos rangos de fin, un rango nulo y un rango sin clasificar):
create totalPointsByAmountBands :=
sum(PointsRedeemed) by bin(EqualRange(20, 100, 4), Amount);
Agregaciones divididas en ocho segmentos basadas en la creación de rangos de campaña PrePost,
que comienza en mayo de 1999, y con agregados del mes anterior y posterior a la campaña:
create totalSpendPrePostMayCampaign_ := sum(Amount) by
bin(PrePost(todate(19990401), todate(19990501),
todate(19990601)), PurchaseDate);
También consulte
326
Portrait Miner 7.1
Capítulo 27: Rangos
Boolean en la página 327
DayFrom, WeekFrom, MonthFrom, YearFrom en la página 328
DayMultipleFrom, WeekMultipleFrom, MonthMultipleFrom, YearMultipleFrom en la página 328
DayMultipleNumBins, WeekMultipleNumBins, MonthMultipleNumBins, YearMultipleNumBins en
la página 329
DayMultiplePrePost, WeekMultiplePrePost, MonthMultiplePrePost, YearMultiplePrePost en la
página 330
DayMultipleTo, WeekMultipleTo, MonthMultipleTo, YearMultipleTo en la página 331
DayMultipleWidth, WeekMultipleWidth, MonthMultipleWidth, YearMultipleWidth en la página 332
DayPrePost, WeekPrePost, MonthPrePost, YearPrePost en la página 333
DayRange, WeekRange, MonthRange, YearRange en la página 334
DayTo, WeekTo, MonthTo, YearTo en la página 335
EqualRange en la página 336
EqualRangeWidth en la página 337
NegativeNonNegative en la página 337
PreDuringPost en la página 338
PrePost en la página 339
Sign en la página 340
División de agregaciones: la cláusula by en la página 156
Boolean
Objetivo:Valores booleanos de rangos [consulte Datos booleanos en la página 185].
Parámetros Ninguno
Resultado
Índice de rangos
Valores
1
false
2
true
3
nulo [Consulte El valor null en la página 184]
4
sin clasificar
Guía de referencia del comando de creación de datos y TML
327
DayFrom, WeekFrom, MonthFrom, YearFrom
DayFrom, WeekFrom, MonthFrom, YearFrom
Objetivo: Valores de fecha de rangos en un número específico de períodos (días, meses o años)
posteriores a una fecha dada.
Parámetros
Tipo
Nombre
Descripción
fecha
a ("start_date")
El comienzo de la porción
periódica de la creación de
rangos
entero
n ("num_bins")
El número de períodos (días,
semanas, meses o años) en la
porción periódica de la creación
de rangos.
Resultado
Índice de rangos
Valores
1
fechas anteriores a "a"; el rango de extremo inferior
2, ..., n + 1
los períodos consecutivos n posteriores a "a"
n+2
períodos de fechas n después de a y posteriores;
el rango de extremo superior
n+3
nulo [Consulte El valor null en la página 184]
n+4
sin clasificar
También consulte
DayRange, WeekRange, MonthRange, YearRange en la página 334
DayTo, WeekTo, MonthTo, YearTo en la página 335
DayMultipleFrom, WeekMultipleFrom,
MonthMultipleFrom, YearMultipleFrom
Objetivo: Valores de fecha de rango en un número específico de períodos después de una fecha dada,
donde cada período es un número específico de días, semanas, meses o años.
Parámetros
328
Portrait Miner 7.1
Capítulo 27: Rangos
Tipo
Nombre
Descripción
fecha
a ("start_date")
El comienzo de la porción
periódica de la creación de
rangos
entero
m ("width")
El número de unidades (días,
semanas, meses, o años) en un
período
entero
n ("num_bins")
El número de rangos en la
porción periódica de la creación
de rangos
Resultado
Índice de rangos
Valores
1
fechas anteriores a "a"; el rango de extremo inferior
2, ..., n + 1
los períodos consecutivos n (cada uno de m
unidades) posteriores a "a"
n+2
fechas n x unidades de m después de a y
posteriores; el rango de extremo superior
n+3
nulo [Consulte El valor null en la página 184]
n+4
sin clasificar
También consulte
DayMultiplePrePost, WeekMultiplePrePost, MonthMultiplePrePost, YearMultiplePrePost en la
página 330
DayMultipleTo, WeekMultipleTo, MonthMultipleTo, YearMultipleTo en la página 331
DayMultipleNumBins, WeekMultipleNumBins,
MonthMultipleNumBins, YearMultipleNumBins
Objetivo: Valores de fecha de rangos en aproximadamente el número de períodos especificados entre
dos fechas dadas, donde el período es un múltiplo fijo de la unidad (día, semana, mes o año).
Parámetros
Tipo
Nombre
Descripción
fecha
a ("start_date")
El comienzo de la porción
periódica de la creación de
rangos
Guía de referencia del comando de creación de datos y TML
329
DayMultiplePrePost, WeekMultiplePrePost, MonthMultiplePrePost, YearMultiplePrePost
Tipo
Nombre
Descripción
fecha
b ("end_date")
El final de la porción periódica de
la creación de rangos
entero
n ("num_bins")
El número objetivo de períodos
(múltiplos de un día, una semana,
un mes o un año) en la porción
periódica de la creación de
rangos.
Resultado
Índice de rangos
Valores
1
fechas anteriores a "a"; el rango de extremo inferior
2, ..., N - 3
períodos entre a y b
N-2
fechas b y posteriores; el rango de extremo
superior
N-1
nulo [Consulte El valor null en la página 184]
n
sin clasificar
Nota: • Estas creaciones de rangos son como la creación de rangos DayRange, WeekRange,
MonthRange, and YearRange [consulte DayRange, WeekRange, MonthRange, YearRange
en la página 334] , excepto por el hecho de que un período puede incluir una o más unidades
(días, semanas, meses o años) para arrojar aproximadamente el número objetivo de rangos.
• Cuando un período es de dos o más unidades, el rango N - 3 puede ser más corto que los
rangos 2 a N - 4.
También consulte
DayMultipleWidth, WeekMultipleWidth, MonthMultipleWidth, YearMultipleWidth en la página 332
DayMultiplePrePost, WeekMultiplePrePost,
MonthMultiplePrePost, YearMultiplePrePost
Objetivo: Valores de fecha de rango en números específicos de rangos y después de una fecha de
referencia dada, donde cada rango es un múltiplo dado de la unidad (día, semana, mes o año).
Parámetros
330
Tipo
Nombre
Descripción
fecha
a ("ref_date")
La fecha de referencia para la
creación de rangos
Portrait Miner 7.1
Capítulo 27: Rangos
Tipo
Nombre
Descripción
entero
m ("width")
El número de rangos antes de la
fecha de referencia y después de
ella
entero
n ("num_bins")
El número de unidades (días,
semanas, meses, o años) en
cada rango
Resultado
Índice de rangos
Valores
1
fechas anteriores a n x unidades m antes de a; el
rango de extremo inferior
2, ..., n + 1
los períodos consecutivos n (cada uno de m
unidades) anteriores a "a"
n + 2, ..., 2n + 1
los períodos consecutivos n (cada uno de m
unidades) posteriores a "a"
2n + 2
fechas n x unidades de m después de a y
posteriores; el rango de extremo superior
2n + 3
nulo [Consulte El valor null en la página 184]
2n + 4
sin clasificar
También consulte
DayMultipleFrom, WeekMultipleFrom, MonthMultipleFrom, YearMultipleFrom en la página 328
DayMultipleTo, WeekMultipleTo, MonthMultipleTo, YearMultipleTo en la página 331
DayPrePost, WeekPrePost, MonthPrePost, YearPrePost en la página 333
PreDuringPost en la página 338
PrePost en la página 339
DayMultipleTo, WeekMultipleTo, MonthMultipleTo,
YearMultipleTo
Objetivo: Valores de fecha de rango en un número específico de períodos anteriores a una fecha dada,
donde cada período es un número específico de días, semanas, meses o años.
Parámetros
Guía de referencia del comando de creación de datos y TML
331
DayMultipleWidth, WeekMultipleWidth, MonthMultipleWidth, YearMultipleWidth
Tipo
Nombre
Descripción
fecha
b ("end_date")
El final de la porción periódica de
la creación de rangos
entero
m ("width")
El número de unidades (días,
semanas, meses, o años) en un
período
entero
n ("num_bins")
El número de rangos en la
porción periódica de la creación
de rangos
Resultado
Índice de rangos
Valores
1
fechas anteriores a n x unidades m antes de a; el
rango de extremo inferior
2, ..., n + 1
los períodos consecutivos n (cada uno de m
unidades) anteriores a "a"
n+2
fechas a y posteriores; el rango de extremo
superior
n+3
nulo [Consulte El valor null en la página 184]
n+4
sin clasificar
También consulte
DayMultipleFrom, WeekMultipleFrom, MonthMultipleFrom, YearMultipleFrom en la página 328
DayMultiplePrePost, WeekMultiplePrePost, MonthMultiplePrePost, YearMultiplePrePost en la
página 330
DayMultipleWidth, WeekMultipleWidth,
MonthMultipleWidth, YearMultipleWidth
Objetivo: Valores de fecha de rangos en períodos entre dos fechas dadas, donde el período es un
múltiplo específico de la unidad (día, semana, mes o año).
Parámetros
332
Tipo
Nombre
Descripción
fecha
a ("start_date")
El comienzo de la porción
periódica de la creación de
rangos
Portrait Miner 7.1
Capítulo 27: Rangos
Tipo
Nombre
Descripción
fecha
b ("end_date")
El final de la porción periódica de
la creación de rangos
entero
m ("width")
El número de unidades (días,
semanas, meses, o años) en un
período
Resultado
Índice de rangos
Valores
1
fechas anteriores a "a"; el rango de extremo inferior
2, ..., N - 3
períodos entre a y b
N-2
fechas b y posteriores; el rango de extremo
superior
N-1
nulo [Consulte El valor null en la página 184]
n
sin clasificar
Nota: • Estas creaciones de rangos son como la creación de rangos DayRange, WeekRange,
MonthRange, and YearRange [consulte DayRange, WeekRange, MonthRange, YearRange
en la página 334] , excepto por el hecho de que un período puede ser de una o más unidades
(días, semanas, meses o años).
• Cuando un período es de dos o más unidades, el rango N - 3 puede ser más corto que los
rangos 2 a N - 4.
También consulte
DayMultipleNumBins, WeekMultipleNumBins, MonthMultipleNumBins, YearMultipleNumBins en
la página 329
DayPrePost, WeekPrePost, MonthPrePost,
YearPrePost
Objetivo: Valores de fecha de rango en números de períodos específicos (días, semanas, meses o
años) anteriores a una fecha de referencia dada y posteriores a ella.
Parámetros
Tipo
Nombre
Descripción
fecha
a ("ref_date")
La fecha de referencia para la
creación de rangos
Guía de referencia del comando de creación de datos y TML
333
DayRange, WeekRange, MonthRange, YearRange
Tipo
Nombre
Descripción
entero
m ("before")
El número de períodos (días,
semanas, meses o años) para los
que deben crearse rangos antes
de la fecha de referencia.
entero
n ("after")
El número de períodos para los
que deben crearse rangos
después de la fecha de
referencia.
Resultado
Índice de rangos
Valores
1
fechas anteriores a períodos de m antes de a; el
rango de extremo inferior
2, ..., m + 1
los períodos consecutivos m anteriores a "a"
m + 2, ..., m + n + 1
los períodos consecutivos n posteriores a "a"
m+n+2
períodos de fechas n después de a y posteriores;
el rango de extremo superior
m+n+3
nulo [Consulte El valor null en la página 184]
m+n+4
sin clasificar
También consulte
DayMultiplePrePost, WeekMultiplePrePost, MonthMultiplePrePost, YearMultiplePrePost en la
página 330
PreDuringPost en la página 338
PrePost en la página 339
DayRange, WeekRange, MonthRange, YearRange
Objetivo: Valores de fechas de rango en períodos (días, semanas, meses o años) entre dos fechas
dadas.
Parámetros
334
Tipo
Nombre
Descripción
fecha
a ("start_date")
El comienzo de la porción
periódica de la creación de
rangos
Portrait Miner 7.1
Capítulo 27: Rangos
Tipo
Nombre
Descripción
fecha
b ("end_date")
El final de la porción periódica de
la creación de rangos
Resultado
Índice de rangos
Valores
1
fechas anteriores a "a"; el rango de extremo inferior
2, ..., N - 3
períodos (días, semanas, meses o años) entre a
yb
N-2
fechas b y posteriores; el rango de extremo
superior
N-1
nulo [Consulte El valor null en la página 184]
n
sin clasificar
Nota: • Si hay menos de un período completo entre a y b, el rango 2 contiene fechas entre a (incluido)
y b (excluido).
• Si no hay un número exacto de períodos entre a y b (pero hay como mínimo un período
completo), el rango que precede inmediatamente a b se alarga para darle lugar al exceso.
También consulte
DayFrom, WeekFrom, MonthFrom, YearFrom en la página 328
DayTo, WeekTo, MonthTo, YearTo en la página 335
DayTo, WeekTo, MonthTo, YearTo
Objetivo: Valores de fecha de rangos en un número específico de períodos (días, meses o años)
anteriores a una fecha dada.
Parámetros
Tipo
Nombre
Descripción
fecha
b ("end_date")
El final de la porción periódica de
la creación de rangos
entero
n ("num_bins")
El número de períodos (días,
semanas, meses o años) en la
porción periódica de la creación
de rangos.
Resultado
Guía de referencia del comando de creación de datos y TML
335
EqualRange
Índice de rangos
Valores
1
fechas anteriores a n períodos antes de b; el rango
de extremo inferior
2, ..., n + 1
los períodos consecutivos n anteriores a "b"
n+2
fechas b y posteriores; el rango de extremo
superior
n+3
nulo [Consulte El valor null en la página 184]
n+4
sin clasificar
También consulte
DayFrom, WeekFrom, MonthFrom, YearFrom en la página 328
DayRange, WeekRange, MonthRange, YearRange en la página 334
EqualRange
Objetivo: Los valores numéricos de rangos en un número especificado de intervalos de igual ancho.
Parámetros
Tipo
Nombre
Descripción
real
a ("from")
El extremo inferior de la porción
de igual rango de la creación de
rangos
real
b ("to")
El extremo superior de la porción
de igual rango de la creación de
rangos
entero
n ("num_bins")
El número de rangos en la
porción de igual rango de la
creación de rangos
Resultado
Índice de rangos
1
2, ..., n + 1
n+2
336
Valores
; el rango de extremo inferior
[a, a + (b - a)/n), ..., [b - (b - a)/n, b)
; el rango de extremo superior
n+3
null [Consulte El valor null en la página 184]
n+4
sin clasificar
Portrait Miner 7.1
Capítulo 27: Rangos
También consulte
EqualRangeWidth en la página 337
EqualRangeWidth
Objetivo: Valores numéricos de rangos en intervalos de un ancho específico.
Parámetros
Tipo
Nombre
Descripción
real
a ("from")
El extremo inferior de la porción
de igual rango de la creación de
rangos
real
b ("to")
El extremo superior de la porción
de igual rango de la creación de
rangos
real
r ("width")
El ancho de rangos en la porción
de igual rango de la creación de
rangos
Resultado
Índice de rangos
1
Valores
; el rango de extremo inferior
2, ..., N - 3
rangos de igual ancho y ancho aproximado r
N-2
el rango de extremo superior
N-1
nulo [Consulte El valor null en la página 184]
n
sin clasificar
Nota: Si a - b no es múltiplo exacto de r, se usa una aproximación de r, de modo que los rangos entre
a y b sean del mismo ancho.
También consulte
EqualRange en la página 336
NegativeNonNegative
Objetivo: Valores numéricos de rango de acuerdo con el signo, agrupando 0 con los valores positivos.
Guía de referencia del comando de creación de datos y TML
337
PreDuringPost
Parámetros Ninguno
Resultado
Índice de rangos
Valores
1
; es decir, valores negativos
2
; es decir, valores no negativos
3
nulo [Consulte El valor null en la página 184]
4
sin clasificar
También consulte
Sign en la página 340
PreDuringPost
Objetivo: Valores de fecha de rangos en períodos pre-campaña, durante la campaña y post-campaña.
Parámetros
Tipo
Nombre
Descripción
fecha
a ("pre_date")
El comienzo del período de
pre-campaña
fecha
b ("campaign_start_date")
El comienzo de la campaña
fecha
c ("campaign_end_date")
El final de la campaña
fecha
d ("post_date")
El final del período post-campaña
Resultado
Índice de rangos
Valores
1
fechas anteriores a "a"; el rango de extremo inferior
2
Fechas entre a (incluido) y b (excluido)
3
fechas entre b (incluido) and c (excluido)
4
fechas entre c (incluido) and d (excluido)
5
fechas d y posteriores; el rango de extremo
superior
6
nulo [Consulte El valor null en la página 184]
7
sin clasificar
También consulte
338
Portrait Miner 7.1
Capítulo 27: Rangos
DayMultiplePrePost, WeekMultiplePrePost, MonthMultiplePrePost, YearMultiplePrePost en la
página 330
DayPrePost, WeekPrePost, MonthPrePost, YearPrePost en la página 333
PrePost en la página 339
PrePost
Objetivo: Valores de fecha de rangos en períodos pre-campaña and post-campaña.
Parámetros
Tipo
Nombre
Descripción
fecha
a ("pre_date")
El comienzo del período de
pre-campaña
fecha
b ("campaign_date")
La fecha de la campaña
fecha
c ("post_date")
El final del período post-campaña
Resultado
Índice de rangos
Valores
1
fechas anteriores a "a"; el rango de extremo inferior
2
Fechas entre a (incluido) y b (excluido)
3
fechas entre b (incluido) and c (excluido)
4
fechas c y posteriores; el rango de extremo
superior
5
nulo [Consulte El valor null en la página 184]
6
sin clasificar
También consulte
DayMultiplePrePost, WeekMultiplePrePost, MonthMultiplePrePost, YearMultiplePrePost en la
página 330
DayPrePost, WeekPrePost, MonthPrePost, YearPrePost en la página 333
PreDuringPost en la página 338
Guía de referencia del comando de creación de datos y TML
339
Sign
Sign
Objetivo: Valores numéricos de rango de acuerdo con el signo.
Parámetros Ninguno
Resultado
Índice de rangos
Valores
1
2
3
; es decir, valores negativos
0
; es decir, valores positivos
4
nulo [Consulte El valor null en la página 184]
5
sin clasificar
También consulte
NegativeNonNegative en la página 337
340
Portrait Miner 7.1
Capítulo
XML en Portrait Miner
En esta sección:
•
•
•
•
•
•
•
•
•
•
•
XML en Portrait Miner . . . . . . . . . . . . . . . . . . . . . . . . . . . .342
Especificación de metadatos para qsimportmetadata . .342
Especificación de agregación para qsmeasure . . . . . . .349
Especificación de derivación para qsderive . . . . . . . . .351
Especificación de selección para qsselect . . . . . . . . . .352
Especificación de tabulación cruzada para qsxt . . . . . .353
Especificación de mapeo del nombre de campo para
qsrenamefields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .356
Especificación del árbol de decisión para
qsdecisiontree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .357
Especificación de creación de un cuadro de mando para
qsscorecard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .359
Especificaciones de creación de rangos . . . . . . . . . . . .361
valores de atributo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .368
28
XML en Portrait Miner
XML en Portrait Miner
Para permitir el intercambio sencillo de resultados con otras aplicaciones, XML se utiliza en todo Portrait
Miner, de acuerdo con la definición de esquema XML de Portrait Miner, http://www.quadstone.com/xml
Todas las entradas en XML a los comandos de creación de datos de Portrait Miner (y a cualquier
función de Portrait Miner que se implemente a través de los comandos de creación de datos de Portrait
Miner) se deben ingresar en el espacio de nombre de Portrait Miner,
http://support.portraitsoftware.com. La manera más sencilla de garantizarlo es incluir el atributo
xmlns="http://support.portraitsoftware.com" en el elemento de raíz del documento XML.
Los archivos XML creados por Portrait Miner incluyen automáticamente el atributo opcional
schemaLocation que señala esquemas en http://www.quadstone.com/xml/qs6.0A. Si utiliza un
editor que reconoce los esquemas para crear los archivos XML, podrá acceder a estos esquemas
directamente desde Portrait Miner en:
<pmhome>/server/qs6.0A/integration/schemas
(<pmhome> es el directorio de instalación de Portrait Miner). También encontrará ejemplos de cómo
procesar estos archivos XML en:
<pmhome>/server/qs6.0A/etc/xslt
También consulte
Especificación de agregación para qsmeasure en la página 349
Especificaciones de creación de rangos en la página 361
Especificación de tabulación cruzada para qsxt en la página 353
Especificación del árbol de decisión para qsdecisiontree en la página 357
Especificación de derivación para qsderive en la página 351
Especificación de mapeo del nombre de campo para qsrenamefields en la página 356
Especificación de metadatos para qsimportmetadata en la página 342
Especificación de creación de un cuadro de mando para qsscorecard en la página 359
Especificación de selección para qsselect en la página 352
Especificación de metadatos para qsimportmetadata
metadata
342
Requerido
Valor
Descripción
focus
elemento
El enfoque raíz
Portrait Miner 7.1
Capítulo 28: XML en Portrait Miner
Ejemplos
Los ejemplos describen los metadatos para la importación.
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.quadstone.com/xml">
<focus>
<comment>This focus was created for the Retail Analysis
project.</comment>
</focus>
</metadata>
focus
Opcional
Valor
Descripción
launch
atributo del nombre del enfoque nombre del subenfoque
predeterminado
name
atributo del nombre del enfoque Nombre de un subenfoque
objective
atributo del nombre de campo
Nombre del campo objetivo
partition
atributo del nombre de campo
Nombre del campo partición
comment
elemento
Comentario del enfoque
history
elemento
Historial del enfoque
field
elemento
Campos a los cuales importar los
metadatos
focus
elemento
Definiciones de subenfoques
Nota: El atributo launch sólo puede aparecer en el enfoque raíz. Todos los demás subenfoques
deben contar con un atributo de name.
Ejemplo Describir el enfoque raíz.
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.quadstone.com/xml">
<focus>
<comment>This focus was created for the Retail Analysis
project.</comment>
</focus>
</metadata>
field en metadatos
Requerido
Valor
Descripción
name
atributo del nombre de campo
Nombre del campo que se está
definiendo
ref
atributo del nombre de campo
nombre del campo al que se hace
referencia
Guía de referencia del comando de creación de datos y TML
343
fdl
Opcional
Valor
Descripción
type
consultar tipo de campo
Tipo de datos que representan
este campo
length
atributo del entero
Extensión de la representación
de secuencia
analysis
atributo binario
Si este campo es candidato para
el análisis
export
atributo binario
Si este campo es de exportación
comment
elemento
Comentario del campo
binning
elemento
El campo creación de rangos
fdl
elemento
Expresión FDL de derivación de
campo
recordselection
elemento
Campo selección de registro
Nota: • Cuando se está definiendo un campo, por ejemplo como una derivación, es necesario contar
con un atributo name . Cuando se hace referencia al campo, por ejemplo para su inclusión en
un subenfoque, es necesario contar con un atributo ref.
• length y type son atributos que solamente pueden utilizarse para definir un campo (cuando
el atributo name se ha asignado).
Ejemplos Describir un campo de secuencia:
<field name="HomePostCode" type="string" length="8"/>
Describir un candidato para análisis:
<field name="TimeAtAddressMonths" type="integer" analysis="true"/>
También consulte
Especificaciones de creación de rangos en la página 361
fdl
Requerido
Valor
Descripción
content
texto
Expresión FDL que describe la
derivación de campo
Opcional
Valor
Descripción
seed
atributo del entero
La semilla numérica para el
generador de números aleatorios
Ejemplos
<fdl>mode(Store)</fdl>
<fdl>if PaymentMethod = "CA" then Amount else 0
344
Portrait Miner 7.1
Capítulo 28: XML en Portrait Miner
</fdl>
<fdl seed="123">rndUniform()</fdl>
comment
Requerido
Valor
Descripción
content
texto
Descripción en texto del
comentario
Requerido
Valor
Descripción
xhtml
atributo binario
Un comentario recibe el formato
XHTML
div
elemento de la secuencia
Descripción en texto con formato
del comentario, que puede
contener cualquier marca XHTML
que esté permitida para aparecer
en el elemento <div>
o
Nota: Cuando se utiliza el atributo xhtml, siempre lleva el valor true.
Ejemplos
Agregar un comentario a un enfoque:
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.quadstone.com/xml">
<focus>
<comment>This focus was created for the Retail Analysis
project.</comment>
</focus>
</metadata>
Agregar un comentario con formato a un enfoque:
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.quadstone.com/xml">
<focus>
<comment xhtml="true">
<div>
This focus was created for the
Retail Analysis project.<br/>
An audit is available on the
<a href="http://intranet.company.com/audits">
intranet</a>.
</div>
</comment>
</focus>
</metadata>
Guía de referencia del comando de creación de datos y TML
345
history
history
El historial del enfoque es un único elemento del historial que contiene una serie de elementos de
funcionamiento que no está vacía. Cada elemento de funcionamiento es texto sin formato que representa
un único comando de creación de datos de Portrait Miner aplicado al enfoque.
Requerido
Valor
Descripción
operation
elementos de la secuencia
Una acción en particular del
historial
Ejemplo
Describe el historial de todas las acciones del enfoque:
<history>
<operation>qsimportflat -input DB.fdd -output
DB.ftr</operation>
<operation>qsupdate -from template.ftr -to
DB.ftr</operation>
</history>
recordselection
Opcional
Valor
Descripción
numeric
elemento
Selección del registro numérico
date
elemento
Selección de la fecha de registro
categorical
elemento
Selección del registro categórico
Nota: El elemento recordselection toma uno de los subelementos numeric, date, o category.
Ejemplos
Selección de rango entero entre -2677 (incluido) y 16808 (excluido) y excluyendo los Nulos:
<field name="Income" type="integer">
<recordselection>
<numeric nullhandling="exclude">
<range min="-2677" minisincluded="true" max="16808"
maxisincluded="false"/>
</numeric>
</recordselection>
</field>
346
Portrait Miner 7.1
Capítulo 28: XML en Portrait Miner
numeric
Requerido
Valor
Descripción
nullhandling
consultar nullhandling
Especificar de qué manera la
selección de registro manipula
los valores nulos
Opcional
Valor
Descripción
range
elemento
Especificar la selección de rango
numérico
Nota: El elemento numeric acepta múltiples subelementos de range .
Ejemplo
Eliminar la selección de un campo existente y cualquier selección Nula:
<field name="Age">
<recordselection>
<numeric nullhandling="nomention"/>
</recordselection>
</field>
date
Requerido
Valor
Descripción
nullhandling
consultar nullhandling
Especificar de qué manera la
selección de registro manipula
los valores nulos
Opcional
Valor
Descripción
range
elemento
Especificar la selección de fecha
de rango
Nota: El elemento date acepta múltiples subelementos de range.
Ejemplo
Selección de rango de fecha, sólo disponible con objetivos inclusivos, y fechas especificadas en un
formato fijo:
<field name="DefaultDate">
<recordselection>
<date nullhandling="nomention">
<range min="1940-01-03T16:22:46Z"
max="1948-05-19T00:29:17Z"/>
<range min="1956-04-01T20:35:25Z"
max="1973-09-01T04:48:59Z"/>
Guía de referencia del comando de creación de datos y TML
347
categorical
<range min="1981-03-15T16:54:52Z"
max="2002-08-22T01:11:34Z"/>
<range min="2012-09-08T01:19:24Z"
max="2029-12-08T05:32:51Z"/>
</date>
</recordselection>
</field>
categorical
Requerido
Valor
Descripción
nullhandling
consultar nullhandling
Especificar de qué manera la
selección de registro manipula
los valores nulos
otherstatus
consultar otherstatus
Especificar si la otra categoría se
selecciona o se deselecciona.
Opcional
Valor
Descripción
select
elemento
Los valores de las categorías en
la selección
Nota: El elemento categorical acepta múltiples subelementos select.
Ejemplo
Una selección categórica que utiliza otherstatus para deseleccionar cualquier campo que no haya
sido mencionado explícitamente, por ejemplo, seleccionar únicamente las categorías D y E:
<field name="Lifestage">
<recordselection>
<categorical nullhandling="selected" otherstatus="deselected">
<select status="selected" value="D"/>
<select status="selected" value="E"/>
</categorical>
</recordselection>
</field>
Quitar la selección de un campo categórico:
<field ref="Lifestage">
<recordselection>
<categorical nullhandling="selected"
otherstatus="selected">
</categorical>
</recordselection>
</field>
348
Portrait Miner 7.1
Capítulo 28: XML en Portrait Miner
range
Opcional
Valor
Descripción
min
atributo numérico o de fecha
Rango mínimo de la selección de
registro
max
atributo numérico o de fecha
Rango máximo de la selección
de registro
minisincluded
atributo binario
Incluir este valor en el rango
mínimo
maxisincluded
atributo binario
Incluir este valor en el rango
máximo
Nota: El elemento range requiere al menos un atributo min y uno max.
select
Requerido
Valor
Descripción
value
atributo de secuencia
Nombre de la categoría
status
consultar estado
Incluir o excluir de la selección
Especificación de agregación para qsmeasure
aggregations
Requerido
Valor
Descripción
field
elementos
Definiciones del campo
Ejemplo
Describe la creación de dos nuevos agregados:
<?xml version="1.0" encoding="UTF-8"?>
<aggregations xmlns="http://www.quadstone.com/xml">
<field name="mostCommonStore" context="aggregation">
<fdl>mode(Store)</fdl>
</field>
<field name="averageSpendInStore_" context="aggregation">
<fdl>mean(Amount)</fdl>
<by>StoreSplitFunction(Store)</by>
</field>
</aggregations>
Guía de referencia del comando de creación de datos y TML
349
field en agregados
field en agregados
Requerido
Valor
Descripción
name
atributo del nombre de campo
Nombre del campo que será
creado
context
consultar medir contexto
Ya sea que este campo sea
utilizado en un archivo de
agregación, de estadística o de
rastreo
fdl
elemento
Expresión FDL que describe la
agregación
Opcional
Valor
Descripción
type
consultar tipo de campo
Tipo de datos
del campo que
será creado
length
atributo del entero
Extensión de un
campo de
secuencia
temporary
atributo binario
Si este campo
es creado en el
enfoque de
salida
by
elemento de la secuencia
La función
split-by
where
elemento de la secuencia
Filtro de registro
de la expresión
FDL
default
elemento de la secuencia
Valor
predeterminado
de la
agregación
Ejemplos
Describe un campo con la agregación mode en el campo Store:
<field name="mostCommonStore" context="aggregation">
<fdl>mode(Store)</fdl>
</field>
Describe con la agregación mean en el campo Amount, dividida por función StoreSplitFunction:
<field name="averageSpendInStore_" context="aggregation">
<fdl>mean(Amount)</fdl>
350
Portrait Miner 7.1
Capítulo 28: XML en Portrait Miner
<by>StoreSplitFunction(Store)</by>
</field>
Especificación de derivación para qsderive
derivations
Requerido
Valor
Descripción
field
elementos
Definiciones del campo
Ejemplo
Describir un conjunto de tres derivaciones:
<?xml version="1.0" encoding="UTF-8"?>
<derivations xmlns="http://www.quadstone.com/xml">
<field name="TransMonth">
<fdl>month(PurchaseDate)</fdl>
</field>
<field name="CashRecd">
<fdl>if PaymentMethod = "CA" then Amount else 0</fdl>
</field>
<field name="Random">
<fdl seed="123">rndUniform()</fdl>
</field>
</derivations>
field en derivaciones
Requerido
Valor
Descripción
name
atributo del nombre de campo
Nombre del campo que será
creado
fdl
elemento
Expresión FDL que describirá el
campo que será creado
Opcional
Valor
Descripción
type
consultar tipo de campo
Tipo de datos del campo que será
creado
length
atributo del entero
Extensión de un campo de
secuencia
Ejemplos
Guía de referencia del comando de creación de datos y TML
351
Especificación de selección para qsselect
Describir un campo utilizando una función incorporada:
<field name="TransMonth">
<fdl>month(PurchaseDate)</fdl>
</field>
Describir un campo utilizando una simple instrucción de control:
<field name="CashRecd">
<fdl>if PaymentMethod = "CA" then Amount else 0</fdl>
</field>
Describir un campo aleatorio con una semilla específica:
<field name="Random">
<fdl seed="123">rndUniform()</fdl>
</field>
Especificación de selección para qsselect
selections
Opcional
Valor
Descripción
field
elementos
Campos para crear esta
selección
Ejemplo
Describir una selección aleatoria:
<xml version="1.0" encoding="UTF-8"?>
<selections xmlns="http://www.quadstone.com/xml"?>
<field name="random" context="selection">
<fdl seed="12345678">rndUniform() \< 0.1</fdl>
</field>
</selections>
field en selecciones
Requerido
Valor
Descripción
name
atributo del nombre de campo
Nombre del campo que será
creado
fdl
elemento
Expresión FDL que describe la
selección de registros.
Debe generar un entero con valor
cero o un resultado
context
352
selection
Este campo es para ser utilizado
con qsselect
Portrait Miner 7.1
Capítulo 28: XML en Portrait Miner
Ejemplo
Describir una selección aleatoria:
<field name="random" context="selection">
<fdl seed="12345678">rndUniform() \< 0.1</fdl>
</field>
Especificación de tabulación cruzada para qsxt
crosstabset
Requerido
Valor
Descripción
crosstab
elementos
Tabulaciones cruzadas que se
evaluarán
Opcional
Valor
Descripción
profile
atributo binario
Si el conjunto de tabulaciones
cruzadas representa un perfil, en
lugar de representar una
tabulación cruzada
description
elemento de la secuencia
descripción del conjunto de
tabulaciones cruzadas
Ejemplo
Describir un único conjunto de tabulaciones cruzadas:
<?xml version="1.0" encoding="UTF-8"?>
<crosstabset xmlns="http://www.quadstone.com/xml">
<description>No Description</description>
<crosstab indexscheme="compact1">
<description>No Description</description>
<specification>
<field name="Age"/>
<field name="Gender"/>
<function name="count"/>
<function name="mode">
<parameter>MaritalStatus</parameter>
</function>
</specification>
</crosstab>
</crosstabset>
Guía de referencia del comando de creación de datos y TML
353
crosstab
crosstab
Requerido
Valor
Descripción
indexscheme
compact1
Esquema de clasificación
utilizado en esta tabulación
cruzada
specification
elemento
Especificación de la tabulación
cruzada
Opcional
Valor
Descripción
description
elementos de la secuencia
Descripción de la tabulación
cruzada
Ejemplo
Describir un único conjunto de tabulaciones cruzadas:
<?xml version="1.0" encoding="UTF-8"?>
<crosstabset xmlns="http://www.quadstone.com/xml">
<description>No Description</description>
<crosstab indexscheme="compact1">
<description>No Description</description>
<specification>
<field name="Age"/>
<field name="Gender"/>
<function name="count"/>
<function name="mode">
<parameter>MaritalStatus</parameter>
</function>
</specification>
</crosstab>
</crosstabset>
specification en la tabulación cruzada
Requerido
Valor
Descripción
function
elementos
Funciones que se utilizarán como
mediciones de tabulaciones
cruzadas
Opcional
Valor
Descripción
field
elementos
Campos que se utilizarán como
desgloses de segmentación
Ejemplo
354
Portrait Miner 7.1
Capítulo 28: XML en Portrait Miner
Describir una tabulación cruzada de los campos Age y Gender con medidas count() y
mode(MaritalStatus):
<specification>
<field name="Age"/>
<field name="Gender"/>
<function name="count"/>
<function name="mode">
<parameter>MaritalStatus</parameter>
</function>
</specification>
function
Requerido
Valor
Descripción
name
atributo del nombre de campo
Identifica el nombre de la medida
Opcional
Valor
Descripción
parameter
atributo del nombre de campo
Identifica el parámetro de campo
para la función
Ejemplos
Describir una función sin parámetros:
<function name="count"/>
Describir una función con un único parámetro MaritalStatus:
<function name="mode">
<parameter>MaritalStatus</parameter>
</function>
field en la tabulación cruzada
Requerido
Valor
Descripción
name
atributo del nombre de campo
Nombre del campo que se
utilizará en la tabulación cruzada
Ejemplo
Especificar el campo Age para su uso en la tabulación cruzada:
<field name="Age"/>
Guía de referencia del comando de creación de datos y TML
355
Especificación de mapeo del nombre de campo para qsrenamefields
Especificación de mapeo del nombre de campo para
qsrenamefields
mappingset
Requerido
Valor
Descripción
map
elementos
Mapeo de los nombres de campo
Ejemplo
Describir el cambio de nombre de tres campos:
<?xml version="1.0" encoding="UTF-8"?>
<mappingset xmlns="http://www.quadstone.com/xml">
<map>
<name>StartDate</name>
<alias>Initialized</alias>
</map>
<map>
<name>Age</name>
<alias>CurrentAge</alias>
</map>
<map>
<name>Gender</name>
<alias>Sex</alias>
</map>
</mappingset>
map
Requerido
Valor
Descripción
name
elemento de nombre de campo
Nombre del elemento cuyo
nombre será cambiado
alias
elemento de nombre de campo
Nuevo nombre del campo
Ejemplo
Cambiar nombre de campo de StartDate a Initialized:
<map>
<name>StartDate</name>
<alias>Initialized</alias>
</map>
356
Portrait Miner 7.1
Capítulo 28: XML en Portrait Miner
Especificación del árbol de decisión para
qsdecisiontree
decisiontree
Requerido
Valor
Descripción
specification
elemento
Especificación de creación del
árbol de decisiones
Ejemplo
Describir una especificación para crear el árbol de decisiones con el campo objetivo Age y tres candidatos
para el análisis. Como resultado se crea un nuevo campo PredictedAge:
<?xml version="1.0" encoding="UTF-8"?>
<decisiontree xmlns="http://www.quadstone.com/xml">
<specification nlevels="3">
<objectivefield>
<field name="Age"/>
</objectivefield>
<analysiscandidates>
<field name="Gender"/>
<field name="MaritalStatus"/>
<field name="HomeOwner"/>
</analysiscandidates>
<resultfield>
<field name="PredictedAge"/>
</resultfield>
</specification>
</decisiontree>
specification en el árbol de decisión
Requerido
Valor
Descripción
nlevels
atributo del entero
Profundidad del árbol por
construir
objectivefield
elemento de nombre de campo
Campo objetivo
analysiscandidates
elemento nombres de campo
Candidatos para el análisis
resultfield
elemento de nombre de campo
Nombre del campo creado para
resultados
Opcional
Valor
Descripción
splitconstraints
elemento
Restricciones en la creación del
árbol de decisiones
Guía de referencia del comando de creación de datos y TML
357
splitconstraints
Opcional
Valor
Descripción
kwaysplitfield
elemento de nombre de campo
Campo k-way split
partitionfield
elemento de nombre de campo
Campo de partición
testtrain
elemento
Metodología de
prueba/capacitación que se
utilizará
Ejemplo
Describir una especificación para crear el árbol de decisiones con el campo objetivo Age y tres candidatos
para el análisis. Como resultado se crea un nuevo campo PredictedAge:
<specification nlevels="3">
<objectivefield>
<field name="Age"/>
</objectivefield>
<analysiscandidates>
<field name="Gender"/>
<field name="MaritalStatus"/>
<field name="HomeOwner"/>
</analysiscandidates>
<resultfield>
<field name="PredictedAge"/>
</resultfield>
</specification>
Nota: • Si el elemento <partitionfield> está vacío, qsdecisiontree ignorará toda partición
existente antes de crear el árbol.
• Si el elemento <kwaysplitfield> está vacío, qsdecisiontree ignorará toda k-way split
existente antes de crear el árbol.
splitconstraints
358
Requerido
Valor
Descripción
minpopsize
atributo del entero
Tamaño mínimo de la población
de un segmento
minpopsizetreated
atributo del entero
Tamaño mínimo del segmento de
población tratado
minpopsizecontrol
atributo del entero
Tamaño mínimo del segmento de
población controlado
Opcional
Valor
Descripción
combiningfunction
consultar combinar funciones
La combinación de funciones se
utiliza para seleccionar de qué
manera se elige la división final
Portrait Miner 7.1
Capítulo 28: XML en Portrait Miner
Nota: • Cuando se asigna un elemento partitionfield tanto minpopsizetreated como
minpopsizecontrol son atributos splitconstraint válidos. De lo contrario, sólo debe
configurarse el atributo minpopsize.
• El atributo combiningfunction sólo debe utilizarse cuando está definido el elemento
kwaysplitfield.
testtrain
Requerido
Valor
Descripción
threshold
atributo real
Proporción de registros, número
entre cero y uno, que se utilizará
para capacitar la creación del
árbol de decisiones
namefield
elemento de nombre de campo
Campo aleatorio que define la
división de pruebas y
capacitaciones
Ejemplo
<testtrain threshold="0.5">
<field name="randomField"/>
</testtrain>
Especificación de creación de un cuadro de mando
para qsscorecard
scorecard
Requerido
Valor
Descripción
specification
elemento
Especificación para la creación
de un cuadro de mando
Ejemplo
Describir una especificación para crear tarjetas de puntuación con el campo objetivo Age y tres candidatos
para el análisis. Como resultado se crea un nuevo campo PredictedAge:
<?xml version="1.0" encoding="UTF-8"?>
<scorecard xmlns="http://www.quadstone.com/xml">
<specification modeltype="value" nfields="2" iscontinuous="true">
<objectivefield>
<field name="Age"/>
</objectivefield>
<analysiscandidates>
Guía de referencia del comando de creación de datos y TML
359
specification en cuadro de mando
<field name="Gender"/>
<field name="MaritalStatus"/>
<field name="HomeOwner"/>
</analysiscandidates>
<resultfield>
<field name="PredictedAge"/>
</resultfield>
</specification>
</scorecard>
specification en cuadro de mando
Requerido
Valor
Descripción
iscontinuous
atributo binario
Crea un cuadro de mando
objetivo y continuo, sin que
importe la configuración de
modeltype
modeltype
consultar tipos de modelo
Qué tipo de modelo (binario)
crear (ignorado si
iscontinuous es verdadero);
si no está configurado, crear una
cuadro de mando objetivo
continuo
nfields
atributo del entero
Cantidad de campos en el cuadro
de mando creado
objectivefield
elemento de nombre de campo
Campo objetivo
analysiscandidates
elemento nombres de campo
Candidatos para el análisis
resultfield
elemento de nombre de campo
Nombre del campo de resultados
creado
Opcional
Valor
Descripción
correlationthreshold
atributo real
Umbral que si los candidatos para
el análisis superan, quedan
excluidos por tener demasiada
correlación con el objetivo
testtrain
elemento
Metodología de
prueba/capacitación que se
utilizará
Ejemplo
<specification modeltype="value" nfields="2" iscontinuous="true">
<objectivefield>
<field name="Age"/>
</objectivefield>
<analysiscandidates>
360
Portrait Miner 7.1
Capítulo 28: XML en Portrait Miner
<field name="Gender"/>
<field name="MaritalStatus"/>
<field name="HomeOwner"/>
</analysiscandidates>
<resultfield>
<field name="PredictedAge"/>
</resultfield>
</specification>
Especificaciones de creación de rangos
binning
Opcional
Valor
Descripción
name
atributo de secuencia
Nombre de la creación de rangos
numeric
elemento
Creación de rangos numéricos
date
elemento
Creación de rangos de fecha
geographic
elemento
Creación de rangos geográficos
categorical
elemento
Creación de rangos categórica
Nota: El elemento binning lleva solo uno de los subelementos numeric, date, geographical
categorical.
Ejemplos
Agregar una creación de rangos numérica al campo LoanAmount:
<field name="LoanAmount">
<binning name="LoanAmount-1">
<numeric targetnbins="10" style="equalwidth"/>
</binning>
</field>
Agregar una creación de rangos categórica al campo Gender:
<field name="Gender">
<binning name="Gender-1">
<categorical>
<categories>
<category name="male" levelname="unnamed node">
<category name="1" levelname="base categories"
value="1"/>
</category>
<category name="female">
<category name="2" value="2"/>
</category>
</categories>
</categorical>
</binning>
</field>
Guía de referencia del comando de creación de datos y TML
361
numeric
Agregar una creación de rangos de campos geográficos al campo StateCode:
<field name="StateCode">
<binning>
<geographic>
<maplocation>/home/data/maps/us.mif</maplocation>
</geographic>
</binning>
</field>
numeric
Opcional
Valor
Descripción
targetnbins
atributo del entero
Cantidad necesaria de rangos
adjustnbins
atributo binario
Ajustar automáticamente la
cantidad de rangos para crear
límites claros entre rangos. Valor
predeterminado: true.
forcewholenumbered
atributo binario
Si la creación de rangos en un
campo de valor real debe tener
límites con números enteros
style
consultar estilo de rango
Tipo de creación de rangos
aplicada
binning
consultar visualización de
creación de rangos
Visualización de la creación de
rangos
minendparam
elemento
Definición de rango del límite
inferior. De manera
predeterminada, los rangos de
igual ancho utilizan endbins
auto, mientras que igual
población no utiliza none
maxendparam
elemento
Definición de rango del límite
superior. De manera
predeterminada, los rangos de
igual ancho utilizan endbins
auto, mientras que igual
población no utiliza non
boundaries
elemento
Límites de rangos para el estilo
de creación de rangos definido
por el usuario
Ejemplo
362
Portrait Miner 7.1
Capítulo 28: XML en Portrait Miner
Agregar una creación de rangos numéricos de igual población con diez rangos a un campo:
<binning name="LoanAmount-1">
<numeric targetnbins="10" style="equalwidth"/>
</binning>
date
Opcional
Efecto
targetnbins
atributo del entero
Cantidad necesaria de rangos
binby
consultar período de fecha
Período de la creación de rangos
reference
consultar referencia de fecha
Qué rango de fecha crear y
desde qué período de fecha
binwidth
atributo del entero
Cantidad de períodos de tiempo
para un rango
style
consultar estilo de rango
Tipo de creación de rangos
aplicada
binning
consultar visualización de
creación de rangos
Como se deben visualizar los
rangos
minendparam
elemento
Definición de rango del límite
inferior. De manera
predeterminada, los rangos de
igual ancho utilizan endbins
automáticos, mientras que
igual población no utiliza
ninguno
maxendparam
elemento
Definición de rango del límite
superior. De manera
predeterminada, los rangos de
igual ancho utilizan endbins
automáticos, mientras que
igual población no utiliza
ninguno
boundaries
elemento
Límites de rangos para el estilo
de creación de rangos definido
por el usuario
Ejemplo
Crear una fecha de rangos, por cuatrimestres, a partir del 1 de marzo de 1992.
<date display="equalwidth" binwidth="1" binby="quarter"
reference="auto" style="equalwidth">
<minendparam type="fixed">
<boundary>1992-03-01T00:00:00Z</boundary>
</minendparam>
Guía de referencia del comando de creación de datos y TML
363
categorical
<maxendparam type="none"/>
<boundaries endbins="low">
<boundary>1992-03-01T00:00:00Z</boundary>
<boundary>1992-04-01T00:00:00Z</boundary>
<boundary>1992-07-01T00:00:00Z</boundary>
<boundary>1992-10-01T00:00:00Z</boundary>
<boundary>1993-01-01T00:00:00Z</boundary>
<boundary>1993-04-01T00:00:00Z</boundary>
<boundary>1993-07-01T00:00:00Z</boundary>
<boundary>1993-10-01T00:00:00Z</boundary>
<boundary>1994-01-01T00:00:00Z</boundary>
<boundary>1994-04-01T00:00:00Z</boundary>
<boundary>1994-07-01T00:00:00Z</boundary>
<boundary>1994-10-01T00:00:00Z</boundary>
<boundary>1995-01-01T00:00:00Z</boundary>
<boundary>1995-04-01T00:00:00Z</boundary>
</boundaries>
</date>
categorical
Requerido
Valor
Descripción
categories
elemento
Descripción de
la jerarquía de
la categoría
hierarchylocation
elemento de archivo
Ubicación del
archivo que
contiene la
descripción de
jerarquía de la
categoría
selectn
elemento
Cantidad de
categorías por
crear
Nota: Solamente es necesario uno de estos elementos para definir una creación de rangos categórica.
Ejemplo Describir una creación de rangos categórica:
<binning name="Gender-1">
<categorical>
<categories>
<category name="male" levelname="unnamed node">
<category name="1" levelname="base categories"
value="1"/>
</category>
<category name="female">
<category name="2" value="2"/>
</category>
</categories>
</categorical>
</binning>
364
Portrait Miner 7.1
Capítulo 28: XML en Portrait Miner
categories
Requerido
Valor
Descripción
category
elementos
Una categoría en la jerarquía
Ejemplo
Describir la jerarquía categórica:
<binning name="Gender-1">
<categorical>
<categories>
<category name="male" levelname="unnamed node">
<category name="1" levelname="base categories"
value="1"/>
</category>
<category name="female">
<category name="2" value="2"/>
</category>
</categories>
</categorical>
</binning>
category
Requerido
Valor
Descripción
name
atributo de secuencia
Nombre de la categoría
value
numérico, fecha o atributo de la
secuencia
Valor de esta categoría
category
elementos
Descripción de una subcategoría
Opcional
Valor
Descripción
levelname
atributo de secuencia
Nombre del nivel de la jerarquía
categórica, necesario solamente
en la primera categoría de cada
conjunto
Nota: • Un elemento category tiene un valor de value o bien un elemento de category.
• Todas las categorías deben recurrir a la misma profundidad.
Ejemplos
Describa el mapeo de categorías entre el valor del campo y la etiqueta:
<category name="female">
<category name="1" value="1"/>
</category>
Guía de referencia del comando de creación de datos y TML
365
selectn
Describa la agrupación en categorías de varios valores de campo en una sola etiqueta:
<category name="InArrears">
<category name="2" value="2"/>
<category name="6" value="6"/>
<category name="14" value="14"/>
<category name="15" value="15"/>
<category name="18" value="18"/>
<category name="25" value="25"/>
</category>
selectn
Requerido
Valor
Descripción
n
atributo del entero
Cantidad de categorías por crear
Opcional
Valor
Descripción
mincatsize
atributo del entero
Cantidad mínima de registros en
cada categoría
Requerido
Valor
Descripción
maplocation
elemento de archivo
Ubicación del archivo de mapa
geographic
Ejemplo
Agregar una creación de rangos de campos geográficos al campo StateCode:
<geographic>
<maplocation>/home/data/maps/us.mif</maplocation>
</geographic>
minendparam
Opcional
Valor
Descripción
type
consultar fin estilo de rangos
Tipo de fin del estilo de rangos
boundary
elemento
Valor fijo de fin de estilo de
rangos
Ejemplo
Describe rangos con el fin más bajo del estilo de rangos en el valor 18 :
<binning name="Age-1">
<numeric targetnbins="10" style="equalwidth">
<minendparam type="fixed">
<boundary falls="right">18.0</boundary>
366
Portrait Miner 7.1
Capítulo 28: XML en Portrait Miner
</minendparam>
</numeric>
</binning>
maxendparam
Opcional
Valor
Descripción
type
consultar fin estilo de rangos
Tipo de fin del estilo de rangos
boundary
elemento
Valor fijo de fin de estilo de
rangos
Ejemplo
Describe rangos con el fin más alto del estilo de rangos establecido automáticamente por Portrait Miner:
<binning name="Age-1">
<numeric targetnbins="10" style="equalpopulation">
<maxendparam type="auto"/>
</numeric>
</binning>
boundaries
Opcional
Valor
Descripción
endbins
consultar fin de estilo de rangos Qué fines de estilo de rangos
están habilitados
boundary
elementos
Definición del límite de rangos
Ejemplo
Definir los límites de rangos definidos por el usuario:
<binning name="Age-1">
<numeric style="userdefined">
<boundaries endbins="both">
<boundary falls="right">20.0</boundary>
<boundary falls="right">30.0</boundary>
<boundary falls="right">40.0</boundary>
</boundaries>
</numeric>
</binning>
boundary
Requerido
Valor
Descripción
content
numérico o fecha
Valor del límite
Guía de referencia del comando de creación de datos y TML
367
valores de atributo
Opcional
Valor
Descripción
type
consultar fin estilo de rangos
Tipo de límite
falls
consultar inclusión de límites
El límite es inclusivo o exclusivo
Nota: Los valores de fecha deben suministrarse de manera estándar, con el formato
AAAA-MM-DDTHH:MM:SSZ.
Ejemplo
Definir el límite que incluye el valor 20:
<boundary falls="right">20.0</boundary>
Definir el límite que no incluye el valor 20:
<boundary falls="left">30.0</boundary>
Definir un límite de fecha:
<boundary>1992-03-01T00:00:00Z</boundary>
valores de atributo
368
Nombre
Valores
nullhandling
nomention | include | include_only |
exclude | selected | deselected
status
selected | deselected
otherstatus
selected | deselected
field type
integer | real | string | date |
unknown | numeric
end bin style
none | auto | fixed
bin style
equalpopulation | equalwidth |
userdefined
end bins
none | both | high | low
boundary inclusion
izquierda | derecha
binning display
equalwidth | compactends
date period
auto | hora | minuto | segundo | día
| semana | mes | cuatrimestre | año |
década | siglo
date reference
auto | minend | maxend
Portrait Miner 7.1
Capítulo 28: XML en Portrait Miner
Nombre
Valores
measure context
aggregation | statistic | tracker
combining function
unused | mean | meanlessstddev |
meanlesssqrtstddev | min
model types
risk | response | churn | satisfaction
| dissatisfaction
Guía de referencia del comando de creación de datos y TML
369
Índice
(data-build command) 106
* (operador FDL) 195
%, mod (operador FDL) 195
A
Abrir conectividad de base de datos (ODBC) 32
crear o modificar con qsdbaccess 32
abs (función FDL) 278
acerca de diagramas de ferrocarriles 148
Acerca del Asistente de scorecard 118
ActionROI (función FDL) 306
ActionROIAnnualized (función FDL) 307
addcenturies, addcenturiescountbackwards (funciones
FDL) 223
adddays (función FDL) 224
addhours (función FDL) 224
addminutes (función FDL) 225
addmonths, addmonthscountbackwards (funciones
FDL) 226
addseconds (función FDL) 228
addweeks (función FDL) 229
addyears, addyearscountbackwards (funciones FDL)
230
adición 195
operador FDL 195
agregación 66
utilizando qsmeasure 66
agregación de registros 66
utilizando qsmeasure 66
agregación de un campo 152
en un archivo de agregaciones TML 152
análisis de la cesta de mercado mediante qsruleminer
129
analizar un documento QMML mediante qsqmmledit
134
and (operador FDL) 198
any (función de agregación) 162, 165
en mediciones y derivaciones 162
archivo de descripción de datos planos 40, 137
creación a partir de archivo plano mediante
qsgenfdd 40
crear elementos desde QMML mediante qslt 137
archivo de enfoque 94, 95, 96, 113
copiar mediante qscopy (copia independiente) 94
copiar mediante qslink (copia enlazada) 95
eliminación con qsremove 96
mover/renombrar con qsmove 95
ver tamaños de archivo y dependencias mediante
qsinfo 113
archivo de texto 40, 42
creación de metadata mediante qsgenfdd 40
importación utilizando qsimportflat 42
archivo plano 40, 42, 44
creación a partir de un enfoque mediante
qsexportflat 44
creación de metadata mediante qsgenfdd 40
importación utilizando qsimportflat 42
argumentos de función (FDL) 192
asignación de un valor a una variable 190
en FDL 190
asignación de variables (FDL) 190
atributos de funciones (FDL) 194
auditar un enfoque 102
con enfoque 102
automatización de creaciones de datos 28
utilizando qsbuild 28
B
bin (función FDL) 326
Boolean (creación de rangos) 327
borrar un archivo de enfoque 96
mediante qsremove 96
búsqueda 318
de valores en una tabla de referencias 318
búsqueda de tabla de referencia 318
C
cadena 218, 254, 255, 256, 257, 258, 259, 260, 261,
262, 263, 265
buscar subcadenas utilizando FDL 255
buscar una cadena al final utilizando FDL 254
buscar una cadena en el inicio utilizando FDL 260
codificación soundex 259
convertir un campo a 218
eliminar espacios en blanco con FDL 265
extracción de una cadena de la posición de inicio
o final utilizando FDL 263
extraer una subcadena de acuerdo a la posición
y longitud utilizando FDL 257
extraer una subcadena final con FDL 258
extraer una subcadena inicial utilizando FDL 256
largo 261
substitute 262
cambiar el nombre de un archivo de enfoque 95
mediante qsmove 95
cambiar el nombre de un campo 75
mediante qsrenamefields 75
campo 63, 152
agregación en un archivo de agregaciones TML
152
derivación en una archivo de derivaciones,
rastreos, selecciones o agregaciones TML 152
derivar mediante qsderive 63
campo de marca 212
crear desde una selección 212
campos 75
renombrar mediante qsrenamefields 75
ceil (función FDL) 278
clamp (función FDL) 208
clase de carácter 268
en una expresión regular en FDL 268
clasificar registros en un enfoque 62
utilizando qssort 62
cláusula default (TML) 154
cláusula where (TML) 154
coincidencia de cadena 268
en FDL 268
coincidencia de patrones 268
en FDL 268
comandos de creación de datos 16, 21
acerca de 16
opciones estándar de la línea de comandos 21
comandos de creación de datos de Portrait Miner
16, 21
acerca de 16
opciones estándar de la línea de comandos 21
combinación de enfoques 90
mediante qsmerge 90
372
combinar registros 90
mediante qsmerge 90
comentarios 186
en FDL 186
compatibilidad 185
de tipos de datos en FDL 185
compatibilidad de tipos 185
en FDL 185
compatibilidad de tipos de datos 185
en FDL 185
compilar un documento QMML mediante qsqmmledit
134
concat (función FDL) 254
cond (función FDL) 208
conexión con base de datos 32
crear o modificar con qsdbaccess 32
Conexión de base de datos del usuario 32
crear o modificar con qsdbaccess 32
confintlower (función de agregación) 162, 165
en mediciones y derivaciones 162
confintupper (función de agregación) 162, 166
en mediciones y derivaciones 162
conjunto de datos de Excel 48, 50, 107
creación a partir de un enfoque mediante
qsexportstat 50
descripción mediante qsdescribestat 107
Importación mediante qsimportstat 48
conjunto de datos SAS 48, 50, 107
creación a partir de un enfoque mediante
qsexportstat 50
descripción mediante qsdescribestat 107
importación mediante qsimportstat 48
conjunto de datos SPSS 48, 50, 107
creación de un mediante qsexportstat 50
Descripción mediante qsdescribestat 107
importación mediante qsimportstat 48
conjunto de reglas 134
agregar o eliminar elementos de un documento
QMML mediante qsqmmledit 134
conversión de tipos de datos 186
en FDL 186
convertir un archivo de metadata 140
mediante qsqsfmtosas 140
convertir un archivo QMML 139
mediante qsqmml2sas 139
mediante qsqmml2sql 139
convertir un campo 216, 217, 218
a entero 217
a real 217
a una cadena 218
a una fecha 216
copia enlazada de un archivo de enfoque 95
mediante qslink 95
Portrait Miner 7.1
copiar metadata de enfoque 82
mediante qsupdate 82
copiar un archivo de enfoque 94, 95
mediante qscopy (copia independiente) 94
mediante qslink (copia enlazada) 95
cos (función FDL) 279
count (función de agregación) 162, 167
en mediciones y derivaciones 162
countcenturies (función FDL) 231
countdays (función FDL) 231
counthours (función FDL) 232
countminutes (función FDL) 233
countnonnull/countnonnulls (función de agregación)
162, 167
en mediciones y derivaciones 162
countnull/countnulls (función de agregación) 162,
168
en mediciones y derivaciones 162
countseconds (función FDL) 234
countunique (función de agregación) 162, 169
en mediciones y derivaciones 162
countuniquenonnull (función de agregación) 162,
169
en mediciones y derivaciones 162
countweeks (función FDL) 235
countwholecenturies, countwholecenturiesbackwards
(funciones FDL) 236
countwholedays (función FDL) 237
countwholehours (función FDL) 238
countwholeminutes (función FDL) 238
countwholemonths, countwholemonthsbackwards
(función FDL) 239
countwholeseconds (función FDL) 241
countwholeweeks (función FDL) 242
countwholeyears, countwholeyearsbackwards
(funciones FDL) 243
countyears (función FDL) 244
creación de 33
enfoque a partir de una tabla de base de datos
utilizando qsimportdb 33
crear reglas de asociación mediante qsruleminer 129
crear un cuadro de mando 119
mediante qsscorecardwizard (copia vinculada)
119
crear un enfoque 52
a partir de datos en otro enfoque mediante
qsimportfocus 52
cuadro de mando 109, 126
cómo crear una foto de modelo con qsscsnapshot
109
creación mediante qsscorecard 126
D
datos booleanos 185
en FDL 185
datos de texto 184
en FDL 184
datos de tiempo 184
en FDL 184
day (función FDL) 245
DayFrom (creación de rangos) 328
DayMultipleFrom (creación de rangos) 328
DayMultipleNumBins (creación de rangos) 329
DayMultiplePrePost (creación de rangos) 330
DayMultipleTo (creación de rangos) 331
DayMultipleWidth (creación de rangos) 332
dayofweek (función FDL) 245
DayPrePost (creación de rangos) 333
DayRange (creación de rangos) 334
DayTo (creación de rangos) 335
dblookup (función FDL) 318
deciles 177
en FDL 177
definición de parámetros de las creaciones de datos
28
con qsbuild 28
definiciones de función (FDL) 192
delimitadores 270
en una expresión regular de FDL 270
dependencias entre enfoques 113
ver mediante qsinfo 113
derivación de un campo 152
en un archivo de derivaciones, rastreos,
selecciones o agregaciones TML 152
derivar 70
un campo mediante qstrack 70
derivar un campo 63, 70
mediante qsderive 63
mediante qstrack 70
desigualdad 196
operador FDL 196
desviación estándar de un campo 178
distribución binomial 300
distribución de Poisson 303
distribución exponencial 301
distribución gamma 302
distribución normal 302
div (operador FDL) 195
división 195
operador FDL 195
documento QMML 134, 137
editar o compilar elementos mediante qsqmmledit
134
transformar elementos mediante qslt 137
visualizar elementos mediante qsqmmlview 134
Guía de referencia del comando de creación de datos y TML
373
duplicar registros 90
eliminar elementos mediante qsmerge 90
E
editar un documento QMML mediante qsqmmledit 134
eliminar un archivo de enfoque 96
mediante qsremove 96
endswith (función FDL) 254
enfoque 16, 42, 44, 48, 62, 90
clasificar registros utilizando qssort 62
creación a partir de un archivo plano utilizando
qsimportflat 42
eliminar registros duplicados mediante qsmerge
90
enfoque partir de un archivo SAS u otro conjunto
de datos creado por terceros mediante
qsimportstat 48
exportación a un archivo plano mediante
qsexportflat 44
solo lectura 16
enfoque de plantilla 82
en qsupdate 82
enfoque de solo lectura 16
entero 217
convertir un campo a 217
EqualRange (creación de rangos) 336
EqualRangeWidth (creación de rangos) 337
espacio en blanco 265
eliminar con FDL 265
estadística 158
evaluación de un archivo de estadística TML 158
estadística de enfoque 158
evaluación en un archivo de estadísticas TML
158
evaluación condicional en FDL 187, 208, 209
uso de expresiones if y case 187
uso de la función cond 208
uso de la función iff 209
exp (función FDL) 279
exportación 50, 78
de comentarios a un archivo XML a partir de un
enfoque 78
de metadata de un enfoque a un archivo XML 78
de metadata desde un enfoque hacia un archivo
XML 78
de un enfoque a un archivo SAS u otro conjunto
de datos creado por terceros mediante
qsexportstat 50
exportación de datos 50
a un archivo SAS u otro conjunto de datos creado
por terceros mediante qsexportstat 50
374
exportar datos 37, 38, 44
a un archivo plano mediante qsexportflat 44
a una tabla de base de datos utilizando qsdbinsert
37
a una tabla de base de datos utilizando
qsdbupdate 38
exportar metadata de un enfoque a un archivo XML
78
expresión aritmética 186
en FDL 186
expresión básica 186
en FDL 186
expresión case 189
en FDL 189
expresión case (FDL) 189
expresión if 188
en FDL 188
expresión if (FDL) 188
expresión lógica 186
en FDL 186
expresión regular 268, 272, 273, 274
composición 268
probando una cadena para encontrar una
coincidencia 272
reemplazar la primera subcadena que coincide
274
reemplazo de todas las subcadenas que
coinciden 273
expresión, lista de expresiones 186
en FDL 186
extracción de secuencias mediante qsruleminer 129
extraer de un archivo de archivo mediante qsunzip 98
F
FDL 137, 182, 184, 186, 187, 190, 192, 195, 196,
198, 199, 206, 268
acerca de 182
coincidencia de cadena 268
expresión, lista de expresiones 186
expresiones if y case 187
funciones 192, 199
definidas por el usuario 192
incorporadas 199
operadores 195, 196, 198
aritméticos 195
lógicos 198
relacionales 196
palabras reservadas 206
prioridad 199
de operadores 199
tipos de datos 184
Portrait Miner 7.1
FDL (continuado)
transformar elementos desde o hacia QMML
mediante qslt 137
variables 190
fecha 216
convertir un campo a 216
Field Derivation Language 182
consulte FDL 182
filtrado de registros 154
en un archivo de agregaciones TML 154
find (función FDL) 255
first (función de agregación) 162, 170
en mediciones y derivaciones 162
floor (función FDL) 280
focus!describing using qsdescribe qsdescribe 106
formato de fecha 55
Para archivos planos y expresiones FDL 55
Foto de modelo 108
descomprimir con qshtmlunpack 108
función 186, 192, 199
en FDL 186, 199
aplicación 186
incorporada 199
en FDL!defining 192
funciones de agregación 162
para usar en mediciones y derivaciones 162
funciones de división 156
para desglosar agregaciones 156
G
gmt2edt (función FDL) 246
guardar un archivo de enfoque 97
mediante qsarchive 97
H
hour (función FDL) 246
I
identificador 186
en FDL 186
identificador estadístico 186
en FDL 186
iff (función FDL) 209
ifnull (función FDL) 210
igualdad 196
operador FDL 196
importación 78
de comentarios a un enfoque desde un archivo
XML 78
importación (continuado)
de metadata a un enfoque a partir de un archivo
XML 78
de metadata a un enfoque desde un archivo XML
78
importación de datos 42, 48
a partir de un archivo plano utilizando qsimportflat
42
a partir de un archivo SAS u otro conjunto de
datos creado por terceros mediante qsimportstat
48
importación de metadata desde un archivo XML a un
enfoque 78
importar datos 33, 52
de un enfoque existente mediante qsimportfocus
52
de una tabla de base de datos utilizando
qsimportdb 33
importar metadata de un enfoque a otro 82
mediante qsupdate 82
inicialización de una variable 190
en FDL 190
inicialización y asignación de variables 190
en FDL 190
instrucción create (TML) 152
instrucción de calcular (TML) 158
instrucción temporary (TML) 152
isnull (función FDL) 211
isselected (función FDL) 212
J
jerarquía de rangos categóricos 142
crear un mapa de categorías mediante qsmapgen
142
L
largo de una cadena 261
last (función de agregación) 162, 171
en mediciones y derivaciones 162
left (función FDL) 256
letra 264, 265
mayúscula 265
convertir una cadena a 265
minúscula 264
convertir una cadena a 264
letra mayúscula 265
convertir una cadena a 265
literal de cadena 186
en FDL 186
literal de fecha 186
en FDL 186
Guía de referencia del comando de creación de datos y TML
375
literal numérico 186
en FDL 186
log (función FDL) 280
log10 (función FDL) 281
logbase (función FDL) 281
M
magnitud de un número 278
mapa de categorías 142
crear una jerarquía de rangos categóricos
mediante qsmapgen 142
match (función FDL) 272
max (función de agregación) 162
en mediciones y derivaciones 162
max (función de agregación). 171
max, maxnonnull (funciones FDL multi-argument). 282
mayor a (o igual a) 196
operadores FDL 196
mean (función de agregación) 162, 172
en mediciones y derivaciones 162
mean, meannonnull ( funciones FDL multi-argument)
283
median (función de agregación) 162, 173
en mediciones y derivaciones 162
medición 66
utilizando qsmeasure 66
medición de transacciones 66
utilizando qsmeasure 66
member (función FDL) 319
menor a (o igual a) 196
operadores FDL 196
menos 195
operador FDL 195
metadata 40, 82
copiar de un enfoque a otro mediante qsupdate
82
creación de metadata de archivo plano mediante
qsgenfdd 40
mid (función FDL) 257
min (función de agregación) 162, 173
en mediciones y derivaciones 162
min, minnonnull (funciones FDL multi-argument) 283
minúsculas 264
convertir una cadena a 264
minute (función FDL) 247
mod, % (operador FDL) 195
mode (función de agregación) 162, 174
en mediciones y derivaciones 162
modelo 109
cómo crear una foto de modelo con qsdtsnapshot
o qsscsnapshot 109
376
moderatio (función de agregación) 162, 175
en mediciones y derivaciones 162
month (función FDL) 248
MonthFrom (creación de rangos) 328
MonthMultipleFrom (creación de rangos) 328
MonthMultipleNumBins (creación de rangos) 329
MonthMultiplePrePost (creación de rangos) 330
MonthMultipleTo (creación de rangos) 331
MonthMultipleWidth (creación de rangos) 332
MonthPrePost (creación de rangos) 333
MonthRange (creación de rangos) 334
MonthTo (creación de rangos) 335
mover un archivo de enfoque 95
mediante qsmove 95
muestreo 292, 293, 294, 295, 296, 297
bidireccional estratificado 296
partición 293
en subpoblaciones de tamaño
aproximadamente igual 293
prueba/capacitación 292, 297
mediante el uso de testTrainSplit 297
uso de numericTestTrainSplit 292
prueba/capacitación/validación 292, 297
mediante el uso de
numericTestTrainValidateSplit 292
mediante el uso de testTrainValidateSplit 297
selección de un número exacto de registros 294
selección de un porcentaje exacto de registros
295
muestreo bidireccional estratificado 296
multiplicación 195
operador FDL 195
N
NegativeNonNegative (creación de rangos) 337
normalizar valores de campo 284
normalize (función FDL) 284
not (operador FDL) 198
now (función FDL) 248
numericTestTrainSplit (función FDL) 292
numericTestTrainValidateSplit (función FDL) 292
número aleatorio 300, 301, 302, 303, 304
con distribución binomial 300
con distribución de Poisson 303
con distribución exponencial 301
con distribución gamma 302
con distribución normal 302
con distribución uniforme en un intervalo 304
simula tirar una moneda al aire 301
número aleatorios 300
en FDL 300
Portrait Miner 7.1
número de índice 177, 326
para un rango 326
para un segmento de tabulación cruzada 177
nvl (función FDL) 210
O
OfferROI (función FDL) 308
OfferROIAnnualized (función FDL) 309
operadores 195, 196, 198, 270
aritméticos 195
en FDL 195
en una expresión regular en FDL 270
lógicos 198
en FDL 198
relacionales 196
en FDL 196
operadores aritméticos 195
en FDL 195
operadores lógicos 198
en FDL 198
operadores relacionales 196
en FDL 196
or (operador FDL) 198
P
palabras reservadas 149, 206
FDL 206
TML 149
percentage (función de agregación) 162, 175
en derivaciones 162
percentagerate (función de agregación) 162, 176
en derivaciones 162
Perfil y Auditoría 108
descomprimir con qshtmlunpack 108
plan de creación de datos 28
con qsbuild 28
por cláusula (TML) 156
pow (función FDL) 285
PreDuringPost (creación de rangos) 338
PrePost (creación de rangos) 339
prioridad de operadores 199
en FDL 199
probar la pertenencia a un conjunto 319
product, productnonnull (funciones FDL) 285
promedio 172, 283
de una lista de números 283
de valores en un campo 172
prueba/capacitación 292, 297
mediante el uso de numericTestTrainValidateSplit
292
mediante el uso de testTrainSplit 297
prueba/capacitación (continuado)
mediante el uso de testTrainValidateSplit 297
uso de numericTestTrainSplit 292
Q
qsarchive (comando de creación de datos) 97, 98
qsaudit 102
crear un Perfil y Auditoría con qsaudit 102
qsaudit (comando de creación de datos) 102
qsbuild (comando de creación de datos) 28
qscopy (comando de creación de datos) 94
qsdbaccess (comando de creación de datos) 32
qsdbcreatetable 35
qsdbinsert 37
qsdbupdate 38
qsdecisiontree (comando de creación de datos) 125
qsderive (comando de creación de datos) 63
qsdescribelicense (comando de creación de datos)
114
qsdescribestat (comando de creación de datos) 107
qsdtsnapshot (comando de creación de datos) 109
qsexportflat 44
qsexportmetadata (comando de creación de datos)
78
qsexportstat (comando de creación de datos) 50
qsgenfdd 40
qshtmlunpack (comando de creación de datos) 108
qsimportdb 33
qsimportflat 42
qsimportfocus 52
qsimportmetadata (comando de creación de datos)
78
qsimportstat (comando de creación de datos) 48
qsinfo (comando de creación de datos) 113
qsjoin (comando de creación de datos) 86
qslink (comando de creación de datos) 95
qslt (comando de creación de datos) 137
qsmapgen (comando de creación de datos) 142
qsmeasure (comando de creación de datos) 66
qsmerge (comando de creación de datos) 90
qsmove (comando de creación de datos) 95
qsqmml2sas (comando de creación de datos) 139
qsqmmledit (comando de creación de datos) 134
qsqmmltosql (comando de creación de datos) 139
qsqmmlview (comando de creación de datos) 134
qsqsfmtosas (comando de creación de datos) 140
qsremove (comando de creación de datos) 96
qsruleminer (comando de creación de datos) 129
qsscorecard (comando de creación de datos) 126
qsscorecardwizard (comando de creación de datos)
119
qsscsnapshot (comando de creación de datos) 109
Guía de referencia del comando de creación de datos y TML
377
qsselect (comando de creación de datos) 73
qssettings (comando de creación de datos) 102
qssort (comando de creación de datos) 62
qstrack (comando de construcción de datos) 70
qsupdate (comando de creación de datos) 82
qsxt (comando de creación de datos) 112
R
raíz cuadrada de un número 288
rango de carácter 268
en una expresión regular en FDL 268
rangos 156
para desglosar agregaciones 156
rankOrder (función FDL) 321
rankOrderApprox (función FDL) 321
rankOrderApproxMean (función FDL) 322
rankOrderMean (función FDL) 322
rastrear cambios de estado 70
mediante qstrack 70
rastreo de cambio de estado 70
mediante qstrack 70
real 217
convertir un campo a 217
realizar un perfil de un enfoque 102
con qsaudit 102
redondear a enteros 278
redondear hacia arriba 278
redondear a un entero 286
redondeo hasta el entero más cercano 286
redondear un entero 280
redondear hacia abajo 280
referencia inversa 270
en una expresión regular en FDL 270
regla 134
agregar elementos a un documento QMML
mediante qsqmmledit 134
relación 186
en FDL 186
renombrar un archivo de enfoque 95
mediante qsmove 95
replace (función FDL) 212
replaceall (función FDL) 273
replacefirst (función FDL) 274
resto 195
operador FDL 195
restricción de un numero a un intervalo 208
RetentionActionROI (función FDL) 310
RetentionActionROIAnnualized (función FDL) 311
RetentionOfferROI (función FDL) 313
RetentionOfferROIAnnualized (función FDL) 314
retorno de la inversión 308
con OfferROI 308
378
right (función FDL 258
rndBinomial (función FDL) 300
rndBool (función FDL) 301
rndExp (función FDL) 301
rndGamma (función FDL) 302
rndNormal (función FDL) 302
rndPoisson (función FDL) 303
rndUniform (función FDL) 304
ROI 306, 307, 309, 310, 311, 313, 314
con ActionROI 306
con ActionROIAnnualized 307
con OfferROIAnnualized 309
con RetentionActionROI 310
con RetentionActionROIAnnualized 311
con RetentionOfferROI 313
con RetentionOfferROIAnnualized 314
round (función FDL) 286
rownum (función FDL) 323
S
sampleEqualSize (función FDL) 293
sampleExactNumber (función FDL) 294
sampleExactPercentage (Función FDL) 295
sampleStratified (Función FDL) 296
second (función FDL) 249
segindex (función de agregación) 162, 177
en derivaciones 162
seguimiento de dependencia en creaciones de datos
28
con qsbuild 28
selección 212
crear un campo de marca 212
selección de registros 73
mediante qsselect 73
seleccionar registros 73
mediante qsselect 73
semilla 300
para generación de números aleatorios en FDL
300
sobre 300
sgn (función FDL) 287
Sign (binning) 340
significance (función de agregación) 162, 177
en derivaciones 162
signum (signo) de un número 287
sin (función FDL) 287
soundex (función FDL) 259
sqrt (función FDL) 288
startswith (función FDL) 260
stdev (función de agregación) 162, 178
en mediciones y derivaciones 162
strlen (función FDL) 261
Portrait Miner 7.1
strmember (función FDL) 261
substitute (función FDL) 262
substr (función FDL) 263
sum (función de agregación) 162, 179
en mediciones y derivaciones 162
sum, sumnonnull (funciones FDL multi-argument) 288
sustracción 195
operador FDL 195
T
tabla de base de datos 33, 35, 37, 38
actualizar la base de datos utilizando qsdbupdate
38
crear con qsdbcreatetable 35
importar utilizando qsimportdb 33
insertar datos utilizando qsdbinsert 37
tabulación cruzada 112
crear elementos aplicando una especificación
mediante qsxt 112
tan (función FDL) 289
testTrainSplit (función FDL) 297
testTrainValidateSplit (función FDL) 297
texto 254, 255, 256, 257, 258, 260, 263, 265
buscar una cadena al final utilizando FDL 254
buscar una cadena en el inicio utilizando FDL 260
buscar subcadenas utilizando FDL 255
eliminar espacios en blanco con FDL 265
extraer una cadena de la posición de inicio y final
utilizando FDL 263
extraer una subcadena de acuerdo a la posición
y longitud utilizando FDL 257
extraer una subcadena final con FDL 258
extraer una subcadena inicial utilizando FDL 256
tipo date 184
en FDL 184
tipo entero 184
en FDL 184
tipo real 184
en FDL 184
tipo smallinteger 184
en FDL 184
tipo string 184
en FDL 184
tipos de datos 184
en FDL 184
tipos de datos numéricos 184
en FDL 184
TML 148, 149, 162
acerca de 148
funciones de agregación 162
palabras reservadas 149
todate (función FDL) 216
today (función FDL) 249
tointeger (función FDL) 217
tolower (función FDL) 264
toreal (función FDL) 217
tostring (función FDL) 218
toupper (función FDL) 265
Transaction Measurement Language 148
consulte TML 148
trim (función FDL) 265
U
unión de enfoques 86
mediante qsjoin 86
unir cadenas 254
unir campos 86
mediante qsjoin 86
V
valor absoluto de un número 278
valor literal 186
en FDL 186
valor null 184, 210, 211
en FDL 184
prueba para 211
reemplazo con ifnull o nvl 210
valores falso y verdadero 185
en FDL 185
variable global 190
en FDL 190
variable local 190
en FDL 190
variable state 190
en FDL 190
variance (función de agregación) 162, 179
en mediciones y derivaciones 162
W
WeekFrom (creación de rangos) 328
WeekMultipleFrom (creación de rangos) 328
WeekMultipleNumBins (creación de rangos) 329
WeekMultiplePrePost (creación de rangos) 330
WeekMultipleTo (creación de rangos) 331
WeekMultipleWidth (creación de rangos) 332
weekofyear (función FDL) 250
WeekPrePost (creación de rangos) 333
WeekRange (creación de rangos) 334
WeekTo (creación de rangos) 335
Guía de referencia del comando de creación de datos y TML
379
X
XML 137
cambiar el formato para obtener legibilidad 137
XML en Portrait Miner 342
Y
year (función FDL) 251
380
YearFrom (creación de rangos) 328
YearMultipleFrom (creación de rangos) 328
YearMultipleNumBins (creación de rangos) 329
YearMultiplePrePost (creación de rangos) 330
YearMultipleTo (creación de rangos) 331
YearMultipleWidth (creación de rangos) 332
YearPrePost (creación de rangos) 333
YearRange (creación de rangos) 334
YearTo (creación de rangos) 335
Portrait Miner 7.1
Descargar