Guíadereferenciadel comandodecreacióndedatos...

380
Guía de referencia del comando de creación de datos y TML Versión 7.1

Transcript of Guíadereferenciadel comandodecreacióndedatos...

Guía de referencia delcomando de creación de datosy 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 sussubsidiarias y compañías asociadas.

Portrait Software, el logotipo de Portrait Software, Portrait y la marca Portrait de Portrait Software son lasmarcas comerciales de Portrait Software International Limited y se prohíbe su uso o explotación de cualquierforma 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 referenciaen 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 conocimientosde 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 deusuario ni contraseña, o no los recuerda, comuníquese con nosotros a través de uno de los canalesmencionados a continuación.

Si encuentra un problema en el uso, la instalación o la documentación de este producto, comuníquese connosotros 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...........................................................................................13Descripción general de Portrait Miner............................................................................14Quién debe leer este manual............................................................................................14

Capítulo 2: Comandos de creación de datos de Portrait Miner............................15Acerca de los comandos de creación de datos de Portrait Miner................................16Opciones estándar de la línea de comandos.................................................................21La opción de línea de comandos -force..........................................................................24La opción de línea de comandos -macro........................................................................25

Capítulo 3: Administrar el comando de creación de datos Portrait Miner..........27qsbuild................................................................................................................................28

Capítulo 4: Comandos para importar y exportar datos.........................................31qsdbaccess........................................................................................................................32qsimportdb.........................................................................................................................33qsdbcreatetable.................................................................................................................35qsdbinsert..........................................................................................................................37qsdbupdate........................................................................................................................38qsgenfdd............................................................................................................................40qsimportflat........................................................................................................................42qsexportflat........................................................................................................................44qsimportstat.......................................................................................................................48qsexportstat.......................................................................................................................50qsimportfocus....................................................................................................................52Cómo Portrait Miner importa los tipos de base de datos..............................................54

Importación a Portrait Miner desde una base de datos.................................................54Exportación de Portrait Miner a una base de datos.......................................................55

Formatos de fecha.............................................................................................................55Formatos de fecha estándar..........................................................................................56Formatos de fechas personalizados..............................................................................56

Capítulo 5: Comandos para procesar enfoques....................................................61qssort..................................................................................................................................62qsderive..............................................................................................................................63qsmeasure..........................................................................................................................66qstrack................................................................................................................................70qsselect..............................................................................................................................73qsrenamefields..................................................................................................................75qsexportmetadata..............................................................................................................78qsimportmetadata.............................................................................................................78qsupdate.............................................................................................................................82

Capítulo 6: Comandos para combinar enfoques...................................................85Acerca de la combinación de enfoques..........................................................................86qsjoin..................................................................................................................................86qsmerge..............................................................................................................................90

Capítulo 7: Comandos para administrar enfoques................................................93qscopy................................................................................................................................94qslink..................................................................................................................................95qsmove...............................................................................................................................95qsremove............................................................................................................................96qsarchive............................................................................................................................97qsunzip...............................................................................................................................98

Capítulo 8: Comandos para elaborar informes....................................................101qssettings.........................................................................................................................102qsaudit..............................................................................................................................102qsdescribe........................................................................................................................106qsdescribestat.................................................................................................................107qshtmlunpack..................................................................................................................108qsdtsnapshot, qsscsnapshot.........................................................................................109qsxt...................................................................................................................................112qsinfo................................................................................................................................113

Portrait Miner 7.14

qsdescribelicense...........................................................................................................114

Capítulo 9: Comandos para construir modelos...................................................117Acerca del Asistente de scorecard................................................................................118qsscorecardwizard..........................................................................................................119qsdecisiontree.................................................................................................................125qsscorecard.....................................................................................................................126Acerca del Asistente para reglas de asociación..........................................................128qsruleminer......................................................................................................................129

Capítulo 10: Comandos para trabajar con archivos QMML................................133qsqmmlview.....................................................................................................................134qsqmmledit......................................................................................................................134qslt....................................................................................................................................137qsqmml2sas.....................................................................................................................139qsqmml2sql......................................................................................................................139qsqsfmtosas....................................................................................................................140

Capítulo 11: Otros comandos................................................................................141qsmapgen.........................................................................................................................142

Capítulo 12: Lenguaje de medición de transacciones........................................147Acerca de Transaction Measurement Language..........................................................148Sintaxis de TML...............................................................................................................148Palabras reservadas en TML..........................................................................................149

Capítulo 13: Instrucciones TML.............................................................................151Definición de campos: la instrucción create................................................................152Uso de funciones de agregación y las cláusulas where y default.............................154División de agregaciones: la cláusula by.....................................................................156Evaluación del enfoque de estadísticas: la instrucción de calcular..........................158

Capítulo 14: Funciones de agregación.................................................................161Funciones de agregación para mediciones y derivaciones........................................162any....................................................................................................................................165confintlower.....................................................................................................................165

5Guía de referencia del comando de creación de datos y TML

confintupper.....................................................................................................................166count.................................................................................................................................167countnonnull/countnonnulls..........................................................................................167countnull/countnulls.......................................................................................................168countunique.....................................................................................................................169countuniquenonnull........................................................................................................169first....................................................................................................................................170last....................................................................................................................................171max (un argumento)........................................................................................................171mean (un argumento)......................................................................................................172median..............................................................................................................................173min (un argumento).........................................................................................................173mode.................................................................................................................................174moderatio.........................................................................................................................175percentage.......................................................................................................................175percentagerate.................................................................................................................176segindex...........................................................................................................................177significance......................................................................................................................177stdev.................................................................................................................................178sum (un argumento)........................................................................................................179variance............................................................................................................................179

Capítulo 15: Lenguaje de derivación de campos.................................................181Acerca del lenguaje de derivación de campos (FDL)..................................................182

Capítulo 16: Sintaxis FDL.......................................................................................183Tipos de datos.................................................................................................................184

El valor null...................................................................................................................184Datos booleanos..........................................................................................................185Compatibilidad de tipos................................................................................................185Conversión de tipos.....................................................................................................186

Expressions (Expresiones)............................................................................................186Expresiones básicas....................................................................................................186

Expresiones condicionales............................................................................................187La expresión if..............................................................................................................188La expresión case........................................................................................................189

Variables...........................................................................................................................190Variables globales en Decision Studio.........................................................................191

Portrait Miner 7.16

Variables state en Transaction Measurement Language.............................................191Funciones definidas por el usuario...............................................................................192

Atributos de funciones.................................................................................................194Operadores aritméticos..................................................................................................195Operadores relacionales.................................................................................................196Operadores lógicos.........................................................................................................198Prioridad de operadores.................................................................................................199Funciones incorporadas.................................................................................................199Palabras reservadas en FDL..........................................................................................206

Capítulo 17: Funciones condicionales..................................................................207clamp................................................................................................................................208cond..................................................................................................................................208iff.......................................................................................................................................209ifnull, nvl...........................................................................................................................210isnull.................................................................................................................................211isselected.........................................................................................................................212replace..............................................................................................................................212

Capítulo 18: Funciones de conversión de tipo de datos.....................................215todate................................................................................................................................216tointeger...........................................................................................................................217toreal.................................................................................................................................217tostring.............................................................................................................................218

Capítulo 19: Funciones para trabajar con fechas................................................221addcenturies, addcenturiescountbackwards...............................................................223adddays............................................................................................................................224addhours..........................................................................................................................224addminutes......................................................................................................................225addmonths, addmonthscountbackwards.....................................................................226addseconds......................................................................................................................228addweeks.........................................................................................................................229addyears, addyearscountbackwards............................................................................230countcenturies.................................................................................................................231countdays.........................................................................................................................231counthours.......................................................................................................................232

7Guía de referencia del comando de creación de datos y TML

countminutes...................................................................................................................233countseconds..................................................................................................................234countweeks......................................................................................................................235countwholecenturies, countwholecenturiesbackwards..............................................236countwholedays..............................................................................................................237countwholehours.............................................................................................................238countwholeminutes.........................................................................................................238countwholemonths, countwholemonthsbackwards....................................................239countwholeseconds........................................................................................................241countwholeweeks............................................................................................................242countwholeyears, countwholeyearsbackwards...........................................................243countyears.......................................................................................................................244day....................................................................................................................................245dayofweek........................................................................................................................245gmt2edt.............................................................................................................................246hour...................................................................................................................................246minute...............................................................................................................................247month................................................................................................................................248now...................................................................................................................................248second..............................................................................................................................249today.................................................................................................................................249weekofyear.......................................................................................................................250year...................................................................................................................................251

Capítulo 20: Funciones para trabajar con cadenas.............................................253concat...............................................................................................................................254endswith...........................................................................................................................254find....................................................................................................................................255left.....................................................................................................................................256mid....................................................................................................................................257right...................................................................................................................................258soundex............................................................................................................................259startswith..........................................................................................................................260strlen.................................................................................................................................261strmember........................................................................................................................261substitute.........................................................................................................................262substr................................................................................................................................263tolower..............................................................................................................................264

Portrait Miner 7.18

toupper.............................................................................................................................265trim....................................................................................................................................265

Capítulo 21: Expresiones regulares y sus funciones asociadas.......................267Expresiones regulares....................................................................................................268Componentes básicos de una expresión regular........................................................268

Referencias inversas...................................................................................................270Operadores de las expresiones regulares....................................................................270

Operadores de repetición............................................................................................270El operador de concatenación.....................................................................................271El operador de alternancia...........................................................................................271

match................................................................................................................................272replaceall..........................................................................................................................273replacefirst.......................................................................................................................274

Capítulo 22: Funciones matemáticas y estadísticas...........................................277abs....................................................................................................................................278ceil.....................................................................................................................................278cos....................................................................................................................................279exp....................................................................................................................................279floor...................................................................................................................................280log.....................................................................................................................................280log10.................................................................................................................................281logbase.............................................................................................................................281max (dos o más argumentos), maxnonnull..................................................................282mean (dos o más argumentos), meannonnull..............................................................283min (dos o más argumentos), minnonnull....................................................................283normalize..........................................................................................................................284pow...................................................................................................................................285product, productnonnull.................................................................................................285round................................................................................................................................286sgn....................................................................................................................................287sin.....................................................................................................................................287sqrt....................................................................................................................................288sum (dos o más argumentos), sumnonnull..................................................................288tan.....................................................................................................................................289

9Guía de referencia del comando de creación de datos y TML

Capítulo 23: Funciones de muestreo de datos....................................................291numericTestTrainSplit.....................................................................................................292numericTestTrainValidateSplit.......................................................................................292sampleEqualSize.............................................................................................................293sampleExactNumber.......................................................................................................294sampleExactPercentage.................................................................................................295sampleStratified...............................................................................................................296testTrainSplit....................................................................................................................297testTrainValidateSplit......................................................................................................297

Capítulo 24: Funciones de números aleatorios...................................................299Sobre las funciones de números aleatorios en FDL....................................................300rndBinomial......................................................................................................................300rndBool.............................................................................................................................301rndExp..............................................................................................................................301rndGamma........................................................................................................................302rndNormal........................................................................................................................302rndPoisson.......................................................................................................................303rndUniform.......................................................................................................................304

Capítulo 25: Funciones de rentabilidad de la inversión......................................305ActionROI.........................................................................................................................306ActionROIAnnualized......................................................................................................307OfferROI............................................................................................................................308OfferROIAnnualized........................................................................................................309RetentionActionROI........................................................................................................310RetentionActionROIAnnualized.....................................................................................311RetentionOfferROI...........................................................................................................313RetentionOfferROIAnnualized........................................................................................314

Capítulo 26: Funciones diversas...........................................................................317dblookup..........................................................................................................................318member.............................................................................................................................319rankOrder, rankOrderApprox.........................................................................................321rankOrderMean, rankOrderApproxMean.......................................................................322rownum.............................................................................................................................323

Portrait Miner 7.110

Capítulo 27: Rangos...............................................................................................325bin.....................................................................................................................................326Boolean............................................................................................................................327DayFrom, WeekFrom, MonthFrom, YearFrom..............................................................328DayMultipleFrom, WeekMultipleFrom, MonthMultipleFrom, YearMultipleFrom........328DayMultipleNumBins,WeekMultipleNumBins,MonthMultipleNumBins,YearMultipleNumBins.329DayMultiplePrePost, WeekMultiplePrePost, MonthMultiplePrePost,YearMultiplePrePost.330DayMultipleTo, WeekMultipleTo, MonthMultipleTo, YearMultipleTo...........................331DayMultipleWidth, WeekMultipleWidth, MonthMultipleWidth, YearMultipleWidth....332DayPrePost, WeekPrePost, MonthPrePost, YearPrePost............................................333DayRange, WeekRange, MonthRange, YearRange......................................................334DayTo, WeekTo, MonthTo, YearTo..................................................................................335EqualRange......................................................................................................................336EqualRangeWidth............................................................................................................337NegativeNonNegative......................................................................................................337PreDuringPost.................................................................................................................338PrePost.............................................................................................................................339Sign...................................................................................................................................340

Capítulo 28: XML en Portrait Miner.......................................................................341XML en Portrait Miner.....................................................................................................342Especificación de metadatos para qsimportmetadata................................................342

metadata......................................................................................................................342focus.............................................................................................................................343field en metadatos........................................................................................................343fdl.................................................................................................................................344comment......................................................................................................................345history...........................................................................................................................346recordselection.............................................................................................................346numeric........................................................................................................................347date..............................................................................................................................347categorical....................................................................................................................348range............................................................................................................................349select............................................................................................................................349

Especificación de agregación para qsmeasure...........................................................349aggregations................................................................................................................349field en agregados........................................................................................................350

11Guía de referencia del comando de creación de datos y TML

Especificación de derivación para qsderive.................................................................351derivations....................................................................................................................351field en derivaciones....................................................................................................351

Especificación de selección para qsselect...................................................................352selections.....................................................................................................................352field en selecciones......................................................................................................352

Especificación de tabulación cruzada para qsxt.........................................................353crosstabset...................................................................................................................353crosstab........................................................................................................................354specification en la tabulación cruzada.........................................................................354function.........................................................................................................................355field en la tabulación cruzada......................................................................................355

Especificación de mapeo del nombre de campo para qsrenamefields.....................356mappingset...................................................................................................................356map..............................................................................................................................356

Especificación del árbol de decisión para qsdecisiontree.........................................357decisiontree..................................................................................................................357specification en el árbol de decisión............................................................................357splitconstraints.............................................................................................................358testtrain........................................................................................................................359

Especificación de creación de un cuadro de mando para qsscorecard....................359scorecard.....................................................................................................................359specification en cuadro de mando...............................................................................360

Especificaciones de creación de rangos......................................................................361binning..........................................................................................................................361numeric........................................................................................................................362date..............................................................................................................................363categorical....................................................................................................................364categories.....................................................................................................................365category.......................................................................................................................365selectn..........................................................................................................................366geographic...................................................................................................................366minendparam...............................................................................................................366maxendparam..............................................................................................................367boundaries...................................................................................................................367boundary......................................................................................................................367

valores de atributo..........................................................................................................368

Portrait Miner 7.112

Capítulo 1Introducción

En esta sección:

• Descripción general de Portrait Miner . . . . . . . . . . . . . . .14• Quién debe leer este manual . . . . . . . . . . . . . . . . . . . . . . .14

Descripción general de Portrait MinerPortrait Miner es una poderosa solución de análisis predictivo que permite que tanto los profesionalesdedicados a la percepción del cliente como los usuarios comerciales puedan formar una imagen clarade sus clientes para comprenderlos mejor, descubrir áreas de oportunidades, alcanzar una mayorsegmentación y predecir comportamientos futuros.

Portrait Customer Analytics es una solución incomparable de próxima generación, diseñada para facilitarel uso y obtener rápidas visiones ejecutables. Esta solución reduce la brecha entre las herramientasestándar de inteligencia empresarial que poseen un alcance limitado para explorar información y lassoluciones de procesamiento de datos numéricos para las cuales los programadores estadísticos debencrear consultas y modelos.

Esta solución utiliza una poderosa visualización de la información en 3D y una rápida automatizaciónde modelos para revelar importantes conexiones entre los datos y calcular tendencias con solo pulsarun botón, lo cual incrementa la precisión del modelo predictivo y aumenta la velocidad de los resultadosanalíticos.

Portrait Miner se puede utilizar para prever comportamientos y tendencias que puedan afectar lasganancias, como la fuga de clientes, las oportunidades de ventas cruzadas y ventas mejoradas, elplaneamiento y la segmentación de campañas, la satisfacción y lealtad del cliente y el valor del ciclo devida del cliente.

Quién debe leer este manualEl manual está dirigido a los usuarios de Portrait Miner que estén habituados a utilizar la línea decomandos y que deseen crear o modificar la creación de datos. Algunas secciones — en especial, elcapítulo que describe los comandos disponibles para administrar enfoques — también pueden ser deinterés para los administradores de Portrait Miner.

Este documento fue creado a modo de referencia y no es un tutorial.

Portrait Miner 7.114

Descripción general de Portrait Miner

Capítulo 2Comandos de creación dedatos de Portrait Miner

En esta sección:

• Acerca de los comandos de creación de datos de PortraitMiner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .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

Acerca de los comandos de creación de datos dePortrait 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 puedeingresar comandos individuales para realizar tareas one-off, la verdadera ventaja de utilizar los comandosde creación de datos consiste en que puede combinarlos de manera similar a las secuencias de comandosde 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 puedeutilizar 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 seminimizan los errores humanos. Si ejecuta un proceso normal de creación o implementación de datosy lo deja funcionando solo, durante la noche quizás, y algo falla (por ejemplo, se acaba el espacio enel disco), seguramente querrá solucionar el problema y continuar desde el punto en que se presentó lainterrupción y no comenzar todo el proceso nuevamente. Del mismo modo, si las operaciones necesariaspara las creaciones subsiguientes se superponen en cierta medida, convendría ahorrar tiempo deprocesamiento realizando dichas operaciones solamente una vez. Con el Data Build Manager oqsbuildserá más fácil rastrear las dependencias entre las operaciones y recordar cuáles son lasoperaciones que ya se han realizado.

Cada comando de creación de datos requiere ciertos argumentos en la línea de comandos y podríaaceptar 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 describecada 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, dondedice "<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 delas 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 comoun elemento a los fines de alternación y repetición se extiende hasta la barra vertical, corchete o llavemás próxima.) Por ejemplo, donde dice -input <enfoque de origen> {,-input <enfoquede 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 administrardatos en enfoques y para informar sobre enfoques y modelos.

Comandos para importar y exportar datos

Portrait Miner 7.116

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

ObjetivoComando

Crear, probar o eliminar una conexión de base dedatos del usuario, para acceder a una base dedatos.

qsdbaccess

Importar datos de una tabla de una base de datoso del resultado de una búsqueda en la base dedatos.

qsimportdb

Crear una tabla vacía en una base de datos segúnlos campos de un enfoque.

qsdbcreatetable

Insertar registros de un enfoque en la tabla de unabase de datos.

qsdbinsert

Actualizar los registros preexistentes en la tablade una base de datos, con datos de un enfoque.

qsdbupdate

Crear un archivo de descripción de texto planopara los datos en un archivo de texto.

qsgenfdd

Importar datos de un archivo plano.qsimportflat

Exportar datos a un archivo plano.qsexportflat

Importar datos de un archivo SAS u otro conjuntode datos de terceros.

qsimportstat

Exportar datos a un archivo SAS u otro conjuntode datos de terceros.

qsexportstat

Importar datos (sin metadatos) de un enfoqueexistente.

qsimportfocus

Comandos para procesar enfoques

ObjetivoComando

Clasificar los registros en un enfoque.qssort

Derivar los campos en un enfoque.qsderive

Agregar registros en un enfoque para producir unnuevo enfoque.

qsmeasure

Derivar los campos en un enfoque con derivacionesde rastreo de estado.

qstrack

Agregar una selección de registro a un enfoque.qsselect

Cambiar el nombre de los campos de un enfoque.qsrenamefields

Exportar metadatos desde un enfoque.qsexportmetadata

Importar metadata desde un archivo a un enfoque.qsimportmetadata

Copiar metadatos de un enfoque a otro.qsupdate

17Guía de referencia del comando de creación de datos y TML

Capítulo 2: Comandos de creación de datos de Portrait Miner

Comandos para combinar enfoques

ObjetivoComando

Unir campos de uno o más enfoques secundariosen un enfoque primario, haciendo coincidir losregistros con campos clave.

qsjoin

Combinar los registros de enfoques similares paracrear un nuevo enfoque y mantener los registrosclasificados por campo clave.

qsmerge

Comandos para administrar enfoques

ObjetivoComando

Copiar un enfoque para crear uno nuevo eindependiente.

qscopy

Copiar un enfoque compartiendo los datossubyacentes.

qslink

Mover o cambiar el nombre de un enfoque.qsmove

Eliminar los enfoques.qsremove

Crear un archivo de archivo s a partir de enfoqueso carpetas.

qsarchive

Extraer de un archivo de archivos.qsunzip

Comandos para elaborar informes

ObjetivoComando

Establecer opciones comunes de formato paradistintos informes.

qssettings

Generar un Perfil y Auditoría de un enfoque.qsaudit

Mostrar información resumida sobre un enfoque.qsdescribe

Mostrar información resumida sobre un archivoSAS u otro conjunto de datos de terceros.

qsdescribestat

Descomprimir un archivo HTML o XML generadopor qsaudit, qsdtsnapshot, o qsscsnapshot.

qshtmlunpack

Generar una foto modelo de un árbol de decisión.qsdtsnapshot

Generar una foto modelo de un cuadro de mando.qsscsnapshot

Aplicar una especificación de tabulación cruzadaa un enfoque para producir una nueva tabulacióncruzada.

qsxt

Portrait Miner 7.118

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

ObjetivoComando

Mostrar información de los archivos queconstituyen un enfoque y su relación con otrosenfoques.

qsinfo

Mostrar información sobre una licencia de PortraitMiner.

qsdescribelicense

Comandos para construir modelos

ObjetivoComando

Aplicar una especificación de árbol de decisionesa un enfoque para producir un informe del nuevomodelo de árbol de decisión.

qsdecisiontree

Aplicar una especificación de un cuadro de mandoa un enfoque para producir un informe del nuevomodelo de cuadro de mando.

qsscorecard

Crear un cuadro de mando en un enfoqueespecífico utilizando un archivo de parámetros.

qsscorecardwizard

Comandos para trabajar con archivos QMML

ObjetivoComando

Mostrar el contenido de un archivo de reglasQMML.

qsqmmlview

Modificar un archivo de reglas QMML.qsqmmledit

Transformar un archivo FDL, QMML o XMLgenérico en un formato distinto.

qslt

Convertir un archivo QMML en un archivo SAS.qsqmml2sas

Convertir un archivo QMML en un archivo SQL.qsqmml2sql

Convertir las derivaciones de un archivo demetadatos en un archivo SAS.

qsqsfmtosas

Otros comandos

ObjetivoComando

Ejecutar un plan de creación.qsbuild

Crear un conjunto de mapas de Decision Studio apartir de la creación de rangos de uno o másarchivos divididos por categorías jerárquicas.

qsmapgen

19Guía de referencia del comando de creación de datos y TML

Capítulo 2: 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 delsistema operativo. En cambio, siempre debe utilizar los comandos enumeradosanteriormente (o el Portrait Miner para administrar los enfoques.

Generalmente, los comandos de creación de datos que generan archivos sobrescribencualquier archivo preexistente con el mismo nombre. Tenga precaución de nosobrescribir enfoques que dependan de otros o que tengan enfoques a su cargo, yaque podría inutilizar esos otros enfoques.

Nota: • Para utilizar los comandos de creación de datos, debe tener acceso de línea de comandos aPortrait Miner. Consulte la Guía de administración de Portrait Miner para obtener informaciónacerca 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 comandosque contienen ciertos caracteres estén entre comillas, en especial los espacios y la puntuaciónespecial (como comillas simples y dobles, "<," ">," "*," "=," y "#").

Algunas opciones llevan argumentos que son listas de valores separados por comas, porejemplo, la opción -fields en varios comandos. Ese tipo de listas es en realidad un únicoargumento 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íneade comandos en la página 21], el resultado del comando de creación de datos (en pantallao 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 elprocesador que utiliza el comando; si tiene problemas de rendimiento con los comandos decreación de datos, esta información puede ayudar para que el soporte técnico de PortraitMiner resuelva su problema.

• Los comandos de creación de datos qssort, qsjoin y qsmerge muestran o registran los mensajescon datos específicos cuando utiliza la opción -verbose o -logfile . Así podrá comprendermá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 valordistinto de cero si falla. Cuando un comando falla, siempre genera un mensaje de error con elsiguiente formato:*** Error: <message>

Los mensajes de error aparecen en errores estándar y también en los archivos de registro sise utiliza la opción -logfile [consultar Opciones estándar de la línea de comandos en lapágina 21]. Los comandos además pueden generar mensajes de advertencia con el siguienteformato:*** Warning: <message>

Portrait Miner 7.120

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

Los mensajes de advertencia aparecen en los errores estándar o bien en los archivos deregistro (pero no en ambos).

• Si un comando falla porque el enfoque es de sólo lectura, con qslink o qscopy copie elenfoque 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 quele solicita información, no corresponde utilizar esta forma del comando en una secuencia deshell o archivo por lote.

• De manera predeterminada, los comandos de creación de datos que leen enfoques utilizan elsubenfoque 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 , -tagy -xtag para especificar listas de campos. Los campos se pueden especificar concombinaciones de -field y -xfield o -tag y -xtag pero las opciones de campo y lasopciones de etiqueta no pueden utilizarse combinadas.

Opciones estándar de la línea de comandosOpciones independientes: Utilice una de las siguientes opciones en lugar de los argumentos normalesde los comandos de creación de datos:

EfectoOpción

Muestra texto en uso, incluso un resumen de todaslas opciones válidas de la línea de comandos quesean distintas de las opciones estándar.

-help

Muestra el texto en uso incluso un resumen detodas las opciones válidas de la línea decomandos.

-helpall

Muestra la versión de Portrait Miner y lainformación de la licencia asociada.

-version

Otras opciones comunes a todos los comandos

EfectoOpción

Utilice el archivo de preferencias especificado(consultar Administración de Portrait Miner).

Las configuraciones de este archivo anulanaquellas presentes en los archivos de preferencias

-config <archivo de preferencias>

estándar del sistema y específicos según elusuario.

21Guía de referencia del comando de creación de datos y TML

Capítulo 2: Comandos de creación de datos de Portrait Miner

EfectoOpción

Una vez completado el comando, envíe un mensajede correo electrónico al destinatario especificado

-email

en las preferencias de Correo electrónicoemailaddress (consulte la Guía deAdministración de Portrait Miner).

El mensaje de correo electrónico incluye unresumen de estado en formato HTML, como el quegenera la opción-statusfile .

En el archivo especificado, escriba informacióndetallada del avance con los tiempos de

-logfile <archivo de registro>

funcionamiento y demás información específicasegún el comando acerca de la ejecución, inclusivetodos los mensajes de error o advertencia ysobrescriba todo archivo preexistente con esenombre. Continúe mostrando los mensajes de erroren salida estándar. Esta opción implica la opción-verbose .

Usar como máximo la cantidad de memoriaespecificada. El comando intentará mantenerse

-memory <número de megabytes>

dentro del límite de ser posible, pero nunca loexcederá. En los casos en que un comandorequiere más memoria que la cantidad máxima, seproduce un error. Esta opción anula laconfiguración de la preferencia límite blandode la memoria del enfoque (consulte laGuíade Administración de Portrait Miner).

Utiliza la cantidad especificada de procesadores(si están disponibles) para las operaciones que

-parallel <número de procesadores>

pueden utilizar más de un procesador. Esta opciónanula la configuración de la preferenciaParalelismo (consulte laGuía de Administraciónde Portrait Miner).

Muestra información simple sobre el avance, comouna línea de caracteres . y + .

-progress

Utiliza la configuración del archivo especificadopara controlar el formato numérico y de fechas en

-settings <archivo de configuraciones>

un informe generado. Esta opción tiene efectosolamente en los comandos de generación deinformes, es decir qsaudit, qsdtsnapshot yqsscsnapshot.

En el directorio de configuración específica segúnel usuario de una PC con cliente Portrait Miner,

Portrait Miner 7.122

Opciones estándar de la línea de comandos

EfectoOpción

Decision Studio crea un archivo llamadosettings.xml cuando realiza cambios sobre lasconfiguraciones con Editar->Ver Preferencias.Puede copiar este archivo al servidor para utilizarlocon la opción -settings. O puede crear unarchivo de configuraciones en el servidor utilizandoel comando qssettings.

De manera predeterminada, el formato de la fechaes europeo, la cantidad de posiciones decimaleses 2, los ceros posteriores no se quitan, no seutilizan separadores locales de miles y el formatode la hora es de 24 horas.

Produce un resumen de comandos y de estadocon formato HTML en el archivo de estado.

Si utiliza la opción -email, el mensaje de correoelectrónico sobre el estado incluye un resumensimilar.

-statusfile <archivo de estado>

Muestra información detallada sobre el avancecompleto, con tiempos de funcionamiento y demás

-verbose

información específica según el comando acercade 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 preferenciacorrespondiente, la memoria disponible, especificada usando la opción -memory o lapreferencia 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 debase de datos y tipo de datos; o códigos de diagnóstico interesantes para el Soporte técnicode 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 = 200barcolor = #FF0000

Utilice estas preferencias para crear un perfil y auditoría con imágenes de 200 píxeles de altura y barrasrojas:qsaudit -config audit.ini -input RetailCustApril.ftr

23Guía de referencia del comando de creación de datos y TML

Capítulo 2: Comandos de creación de datos de Portrait Miner

Utilice 512 megabytes de memoria para crear un nuevo enfoque RetailTransAprilSorted.ftrclasificando 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 enfoqueRetailTransMaySorted.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 -forceEsta 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.

EfectoOpción

Permitir un nuevo enfoque especificado utilizandola opción -output o -to para sobrescribir unenfoque existente.

Sin la opción -force, si el enfoque especificadopor -output o -to ya existe, el comando no hacenada (excepto emitir una advertencia).

-force

Nota: • La opción -force solo se debe utilizar cuando sea absolutamente necesario, y se debeasegurar de que ya no requiere ni el enfoque que está sobrescribiendo ni ningún otro enfoqueque esté enlazado a este [consulte qsinfo en la página 113]. En la mayoría de los casos, seríamejor apartar el enfoque original utilizando qsmove antes de utilizar un comando de creaciónde 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 demodo implícito, no es necesario utilizar -force.

Ejemplos Crear un nuevo enfoque RetailTransAprilSorted.ftr y sobrescribir cualquier enfoqueexistente con el mismo nombre, que contenga todos los registros del enfoque RetailTransApril.ftrordenados según el campo CustomerID:qssort -force -output RetailTransAprilSorted.ftr-input RetailTransApril.ftr -keys CustomerID

Portrait Miner 7.124

La opción de línea de comandos -force

La opción de línea de comandos -macroEsta opción se aplica a los comandos:

qsderive, qsmeasure, qstrack y qsselect

ObjetivoComando

Antes de analizar un archivo de entrada TML oXML correspondiente, reemplazar todas lasinstancias de $<nombre> con el valor dado.

Puede utilizar esta opción repetidamente sobre lamisma línea de comandos para especificarexpansiones para macros múltiples.

-macro <nombre>=<valor>

Realizar sustitución de macro en archivos deentrada TML y XML correspondientes mediante la

-macro @<archivo de macros>

lectura de los pares <nombre>=<valor> de líneassucesivas del archivo de macros.

El archivo de macros también puede estar enformato XML.

Nota: • Los nombres para macros deben comenzar con una letra e incluir solo letras, dígitos y guiónbajo ("_").

• 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 enfoqueRetailTransApril.ftr:qsselect -macro monthName=April -macro year=1999 -macro month=4-selections selections-macro.tml-input RetailTransApril.ftr -outputRetailTransAprilSelection1.ftr

O, como alternativa, dado el archivo de macros, macros.tml, que contiene lo siguiente:monthName=Aprilyear=1999month=4

Aplicar estos macros para lograr el mismo resultado:qsselect -macro @macros.tml -selections selections-macro.tml-input RetailTransApril.ftr -outputRetailTransAprilSelection2.ftr

25Guía de referencia del comando de creación de datos y TML

Capítulo 2: Comandos de creación de datos de Portrait Miner

También consulteXML en Portrait Miner en la página 342

Portrait Miner 7.126

La opción de línea de comandos -macro

Capítulo 3Administrar el comando decreación de datos PortraitMiner

En esta sección:

• qsbuild . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28

qsbuildSinopsis 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 quese especifique un plan distinto de creación de datos con la opción -input).

Argumentos opcionales

EfectoOpción

Asignar el valor determinado u otra propiedad alparámetro mencionado. (Observe que no hayespacio luego de la -D.)

-D<nombre>=<valor>

En lugar de ejecutar el plan de creación de datos,descríbalo, enumerando los objetivos principalesy sus descripciones.

-describe

Ejecutar el plan de creación de datos como lo hacenormalmente, pero muestre los comandos de

-dryrun

creación de datos en lugar de ejecutarlos. (Todatarea que no sea un comando de creación de datosse ejecuta normalmente).

Utilice el plan de creación de datos especificado,en lugar del archivo qsbuild.qsb en el directorioactual.

-input <plan de creación de datos>

Utilice la ruta de clase especificada como ruta debúsqueda adicional para las clases de Java.

-lib <ruta de clase>

Valide el plan de creación de datos y genere unarchivo intermedio de creación.

-preprocess

Asignar valores a los parámetros o a otraspropiedades mediante la lectura de los pares

-propertyfile <archivo de propiedades>

Portrait Miner 7.128

qsbuild

EfectoOpción

<nombre>=<valor> de líneas sucesivas delarchivo de propiedades.

Valide el plan de creación de datos de acuerdo conel esquema especificado (con sintaxis RELAX NG)

-schema <archivo de esquema>

en lugar del esquema al que se hace referenciaen el plan de creación de datos. Puede utilizar unURI para especificar la ubicación de un archivo deesquema que no es local.

No cree los objetivos especificados, aunque otrosobjetivos dependan de ellos.

-skip <objetivo> [, <objetivo> ...]

Cree los objetivos especificados en lugar delobjetivo predeterminado.

-targets <objetivo> [, <objetivo> ...]

Valide el plan de creación de datos según suesquema y ejecute el plan sólo si es válido

-validate fail

(predeterminado si no especifica una opción-validate).

No valide el plan de creación de datos según suesquema.

-validate none

Valide el plan de creación de datos según suesquema; si hay errores emita advertencias, perointente ejecutar el plan sin importar su validez.

-validate warn

En lugar de abortar un plan de creación de datoscuando no se puede crear el objetivo, emita una

-warn

advertencia e intente crear otros objetivos que nodependan del objetivo que presenta errores.

Además de estas opciones de la línea de comandos, qsbuild acepta las opciones comunes a todoslos comandos de creación de datos [consultar Opciones estándar de la línea de comandos en lapágina 21].

Nota: • El plan de creación de datos describe de qué manera crear un conjunto de datos para analizaro implementar un modelo. Contiene una cantidad de "objetivos" dependientes entre sí y lassecuencias de las operaciones necesarias para crear los objetivos. El archivo utiliza un formatocon base XML. Para obtener más información sobre Data Build Manager y los formatos delos 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 BuildManager , 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

29Guía de referencia del comando de creación de datos y TML

Capítulo 3: Administrar el comando de creación de datos Portrait Miner

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 consulteXML en Portrait Miner en la página 342

Portrait Miner 7.130

qsbuild

Capítulo 4Comandos para importar yexportar 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

qsdbaccessSinopsis 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 otraspartes de Portrait Miner para conectarse con bases de datos. Consultar la Guía de Administración dePortrait Miner para obtener más información.

Argumentos opcionales

EfectoOpción

Aplicar la operación (agregar, enumerar, probar oeliminar) a las UDC del sistema en lugar de hacerlocon sus UDC personales.

Cuando utiliza -add con -system, qsdbaccessademás le solicita una URL, una clase y un DRL.

-system

Por lo general deberá aceptar las opcionespredeterminadas de estas características.

La opción -system sólo debe ser utilizada por losadministradores del sistema.

Además de esta opción de la línea de comandos, qsdbaccess acepta las opciones comunes a todoslos comandos de creación de datos [consultar Opciones estándar de la línea de comandos en lapágina 21].

Nota: • Un UDC está cifrado: si contiene detalles para la identificación del usuario, sólo usted puedeutilizarlos para acceder a la base de datos en cuestión.

• Cuando crea un UDC, qsdbaccess sobrescribe cualquier UDC preexistente con el mismonombre (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), inclusivesi 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 dediá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

Portrait Miner 7.132

qsdbaccess

User> userPassword>Updating connection user@retailUpdate OKTesting connection user@retailODBC OKJDBC OKConnection OK

Crear un UDC de sistema (como usuario administrador) para que cualquier usuario pueda acceder a labase de datos DSN retaila:qsdbaccess -system Please enter required text at the ">" prompt:DSN> retailUser>[Just pressing ENTER will use the system default]URL>Class>DRL>Updating connection dbuser@dbserver:dbUpdate 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

qsimportdbSinopsis 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 unarchivo SQL).

Argumentos opcionales

33Guía de referencia del comando de creación de datos y TML

Capítulo 4: Comandos para importar y exportar datos

EfectoOpción

Ubicar la tabla en este catálogo de base de datos.-catalog <nombre de catálogo>

Crear campos en el enfoque de destino quecorrespondan únicamente a las columnasespecificadas en la tabla.

-fields <columna> [, <columna> ...]

Crear campos en el enfoque de destino quecorrespondan únicamente a las columnas en la

-fields @<archivo de campos>

tabla que se enumeran (una por línea) en el archivode campos.

Consulte la La opción de línea de comandos-force en la página 24.

-force

Ubicar la tabla en este esquema de base de datos.-schema <nombre de esquema>

Crear campos en el enfoque de destino quecorrespondan a todas las columnas en la tablaexcepto las columnas especificadas.

-xfields <columna> [, <columna> ...]

Crear campos en el enfoque de destino quecorrespondan a todas las columnas en la tabla

-xfields @<archivo de campos>

excepto las columnas que se enumeran (una porlínea) en el archivo de campos.

Además de estas opciones de línea de comandos, qsimportdb acepta las opciones comunes a todoslos comandos de creación de datos [consulte Opciones estándar de la línea de comandos en lapágina 21].

Nota: • Si se especifica un identificador (por ejemplo, un nombre de tabla o campo) como un argumentode línea de comandos, qsimportdb lo pasa al controlador ODBC entre comillas, y su basede datos su base de datos puede tratar al identificador con diferenciación entre minúsculas ymayúsculas.

• El SQL especificado con la opción -sql se pasa tal cual a la base de datos como unainstrucción única; no se requiere un punto y coma de terminación (y puede ser una sintaxisinválida para algunos sistemas de base de datos).

• Al utilizar qsimportdb, es posible crear un enfoque que no tenga nombres de campocompatibles con Portrait Miner. Para convertir el enfoque a una forma que se pueda utilizaren Decision Studio o con otros comandos de creación de datos, se le puede cambiar el nombrea los campos mediante qsrenamefields.

• Al utilizar Portrait Miner, puede acceder a la mayor parte de la funcionalidad de consulta debase 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 tablaRetailCustApril, en el DSN al que se refiere la UDC user@retail:qsimportdb -table RetailCustApril-udc user@retail -output RetailCustApril.ftr

Portrait Miner 7.134

qsimportdb

Crear un enfoque RetailTransAprilCA.ftr, que contenga solo registros de la tablaRetailCustApril 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 RetailTransAprilwhere (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

qsdbcreatetableSinopsis 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 unanueva tabla de base de datos vacía con el nombre de tabla dado, en la base de datos con el UDCdeterminado [consultar qsdbaccess en la página 32].

Alternativamente, crear una nueva tabla con una instrucción SQL CREATE TABLE (proporcionada enun archivo SQL).

Argumentos opcionales

35Guía de referencia del comando de creación de datos y TML

Capítulo 4: Comandos para importar y exportar datos

EfectoOpción

Crear la tabla en este catálogo de base de datos.-catalog <nombre de catálogo>

Crear columnas de la tabla que correspondanúnicamente a los campos especificados en elenfoque.

-fields <campo> [, <campo> ...]

Crear columnas de la tabla que correspondanúnicamente a los campos en el enfoque que seenumeran (uno por línea) en el archivo de campos.

-fields @<archivo de campos>

En lugar de crear una tabla en la base de datos,crear un archivo de salida SQL que contenga lainstrucción CREATE TABLE adecuada.

Luego puede utilizar el archivo SQL como entradaen qsdbcreatetable (con la opción -sql).

[-output <archivo de salida SQL>]

Crear la tabla en este esquema de base de datos.-schema <nombre de esquema>

Utilizar el subenfoque especificado del enfoque deplantilla.

-subfocus <subenfoque>

Crear columnas de la tabla que correspondanúnicamente a los campos en el enfoque que tienenlas etiquetas especificadas.

-tags <etiqueta> [, <etiqueta> ...]

Crear columnas de la tabla que correspondan atodos los campos en el enfoque excepto loscampos especificados.

-xfields <campo> [, <campo> ...]

Crear columnas de la tabla que correspondan atodos los campos en el enfoque excepto los

-xfields @<archivo de campos>

campos que se enumeran (uno por línea) en elarchivo de campos.

Crear columnas de la tabla que correspondan atodos los campos en el enfoque excepto loscampos que tienen las etiquetas especificadas.

-xtags <etiqueta> [, <etiqueta> ...]

Además de estas opciones de línea de comandos, qsdbcreatetable acepta las opciones comunesa todos los comandos de creación de datos [consulte Opciones estándar de la línea de comandosen la página 21].

Nota: • Si se especifica un identificador (por ejemplo, un nombre de tabla o campo) como un argumentode línea de comandos, qsdbcreatetable lo pasa al controlador ODBC entre comillas, y subase 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 unainstrucción única; no se requiere un punto y coma de terminación (y puede ser una sintaxisinválida para algunos sistemas de base de datos).

Ejemplo

Portrait Miner 7.136

qsdbcreatetable

Crear una tabla de base de datos vacía, RETAILAGGREGATIONS, desde el enfoqueRetailAggregationsApril.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

qsdbinsertSinopsis 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ónSQL INSERT). Ubicar la tabla en la base de datos con la UDC proporcionada [consulte qsdbaccessen la página 32].

Argumentos opcionales

EfectoOpción

Ubicar la tabla en este catálogo de base de datos.-catalog <nombre de catálogo>

Insertar datos únicamente de los camposespecificados en el enfoque.

-fields <campo> [, <campo> ...]

Insertar datos únicamente de los campos en elenfoque que están enumerados (uno por línea) enel archivo de campos.

-fields @<archivo de campos>

Ubicar la tabla en este esquema de base de datos.-schema <nombre de esquema>

Usar el subenfoque especificado del enfoque deorigen.

-subfocus <subenfoque>

37Guía de referencia del comando de creación de datos y TML

Capítulo 4: Comandos para importar y exportar datos

EfectoOpción

Insertar datos únicamente de los campos en elenfoque que tienen las etiquetas especificadas.

-tags <etiqueta> [, <etiqueta> ...]

Insertar datos de todos los campos en el enfoqueexcepto los campos especificados.

-xfields <campo> [, <campo> ...]

Insertar datos de todos los campos en el enfoqueexcepto los campos que se enumeran (uno porlínea) en el archivo de campos.

-xfields @<archivo de campos>

Insertar datos de todos los campos en el enfoqueexcepto los campos que tienen las etiquetasespecificadas.

-xtags <etiqueta> [, <etiqueta> ...]

Además de estas opciones de línea de comandos, qsdbinsert acepta las opciones comunes a todoslos comandos de creación de datos [consulte Opciones estándar de la línea de comandos en lapá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 teclasduplicadas), 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 latabla de base de datos.

• Si se especifica un identificador (por ejemplo, un nombre de tabla o campo) como un argumentode línea de comandos, qsdbinsert lo pasa al controlador ODBC entre comillas, y su basede 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 datosRETAILAGGREGATIONS:qsdbinsert -input RetailAggregationsApril.ftr-table RETAILAGGREGATIONS -udc user@retail

También consulteqsdbupdate en la página 38

qsdbupdateSinopsis qsdbupdate -udc <UDC>

-input <enfoque de origen> [-subfocus <subenfoque>]

-table <tabla de destino>

Portrait Miner 7.138

qsdbupdate

{-keys <campo clave> [, <campo clave>] [, <campo clave>] | -key @<archivoclave>}

-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 especificadosen el enfoque de origen (con una instrucción SQL UPDATE). Cada registro en el enfoque actualiza todoslos registros con los mismos valores de campo clave en la tabla de base de datos. Ubicar la tabla en labase de datos con la UDC proporcionada [consulte qsdbaccess en la página 32].

Argumentos opcionales

EfectoOpción

Ubicar la tabla en este catálogo de base de datos.-catalog <nombre de catálogo>

Actualizar la tabla únicamente con datos de loscampos especificados en el enfoque.

-fields <campo> [, <campo> ...]

Actualizar la tabla únicamente con datos de loscampos en el enfoque que están enumerados (unopor línea) en el archivo de campos.

-fields @<archivo de campos>

Ubicar la tabla en este esquema de base de datos.-schema <nombre de esquema>

Usar el subenfoque especificado del enfoque deorigen.

-subfocus <subenfoque>

Actualizar la tabla únicamente con los datos de loscampos en el enfoque que tienen las etiquetasespecificadas.

-tags <etiqueta> [, <etiqueta> ...]

Actualizar la tabla con los datos de todos loscampos en el enfoque excepto los camposespecificados.

-xfields <campo> [, <campo> ...]

Actualizar la tabla con los datos de todos loscampos en el enfoque excepto los campos que seenumeran (uno por línea) en el archivo de campos.

-xfields @<archivo de campos>

Actualizar la tabla con los datos de todos loscampos en el enfoque excepto los campos quetienen las etiquetas especificadas.

-xtags <etiqueta> [, <etiqueta> ...]

Además de estas opciones de línea de comandos, qsdbupdate acepta las opciones comunes a todoslos comandos de creación de datos [consulte Opciones estándar de la línea de comandos en lapágina 21].

39Guía de referencia del comando de creación de datos y TML

Capítulo 4: Comandos para importar y exportar datos

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 latabla de base de datos. Sin embargo, no se tienen que actualizar los valores en todas lascolumnas de la tabla.

• Si se especifica un identificador (por ejemplo, un nombre de tabla o campo) como un argumentode línea de comandos, qsdbupdate lo pasa al controlador ODBC entre comillas, y su basede datos puede tratar al identificador con diferenciación entre minúsculas y mayúsculas.

Ejemplo

Actualizar únicamente los campos numberPurchases, averagePurchase y totalPointsRedeemeden 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

qsgenfddSinopsis 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 alexaminar una muestra de los registros para definir el formato del archivo. Nombrar el archivo dedescripción de datos planos mediante el nombre de base del archivo plano y crearlo en el mismodirectorio en el que se encuentra el archivo plano.

Argumentos opcionales

Portrait Miner 7.140

qsgenfdd

EfectoOpción

Incluir este comentario de tabla en el archivo dedescripción de datos planos.

-comment <comentario de tabla>

Anular el formato de fecha seleccionadoautomáticamente [consulte Formatos de fecha enla página 55].

-dateformat <formato de fecha>

Anular el carácter del marcador de fechaseleccionado automáticamente.

-datemarker <marcador de fecha>

Incluir este número de día en fechas que no tenganun componente de día.

-defaultday <número de día>

Incluir este número de mes en fechas que notengan un componente de mes.

-defaultmonth <número de mes>

Incluir una descripción de los datos teniendo encuenta que tienen una línea de encabezado inicialque contiene los nombres de los campos.

-headers

Anular la secuencia de marcador nulo seleccionadoautomáticamente.

-null <marcador nulo>

Anular el carácter de separador de camposeleccionado automáticamente.

-separator <separador de campo>

Anular el carácter del marcador de secuenciaseleccionado automáticamente.

-stringmarker <marcador de secuencia>

Basar el archivo de descripción de los datos planosen este archivo existente de descripción de datosplanos de plantilla.

-template <archivo FDD 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 todoslos comandos de creación de datos [consulte Opciones estándar de la línea de comandos en lapágina 21].

Nota: • Si ya existe un archivo de descripción de datos planos válido, qsgenfdd no realizará ningunaacción.

• En la mayoría de los casos, qsgenfdd selecciona automáticamente los valores adecuadospara la metadata que describe un archivo plano. No obstante, debido a que solamente analizauna muestra de los datos en el archivo plano (y debido a que pueden existir ambigüedadesen 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 correctadel archivo de datos.

• Se puede controlar el tamaño de las muestras utilizadas en la detección automática de formatomediante las preferencias de la Base de datos del archivo plano tamaño de muestradel formato de datos y tamaño de muestra de los datos (consulte Ayuda dePortrait Miner).

41Guía de referencia del comando de creación de datos y TML

Capítulo 4: Comandos para importar y exportar datos

• Para que la detección automática de formato funcione, los campos del archivo plano debenestar delimitados por un carácter de separación en lugar de diferenciarse por su posición (esdecir, 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 camposen un componente table.

• Las opciones de formato especificadas en la línea de comandos anulan las opciones de formatoglobales en un archivo FDD de plantilla, lo que, a su vez, anula las opciones de formato globalesdetectadas automáticamente. Las opciones de línea de comandos no anulan las opcionesespecíficas de los campos.

• También es posible acceder a la función de qsgenfdd mediante el asistente Nuevo enfoquedisponible 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 detexto RetailCustMay.txt:

qsgenfdd -dateformat "%d-%b-%Y %H:%M:%S" -input RetailCustMay.txt

También consulteqsexportflat en la página 44 qsimportflat en la página 42

qsimportflatSinopsis 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 unarchivo de texto o un archivo de descripción de datos planos).

Argumentos opcionales

Portrait Miner 7.142

qsimportflat

EfectoOpción

Ingresar codificación de archivo (UTF-8, Shift-JIS,LATIN1, EUC_JP, UTF16-LE, UTF_BE, etc.). .

-encoding <codificación>

Crear campos en el enfoque de destino quecorrespondan solamente a los camposespecificados en el archivo plano.

-fields <campo> [, <campo> ...]

Crear campos en el enfoque de destino quecorrespondan solamente a los campos en el

-fields @<archivo de campos>

archivo plano enumerados en el archivo de campos(uno por línea).

Consulte la La opción de línea de comandos-force en la página 24.

-force

Cancelar la importación del archivo plano si elproceso genera una cantidad mayor de errores

-maxerrors <cantidad de errores>

que la especificada, en relación con el formato delarchivo plano.

Cancelar la importación del archivo plano si elproceso genera una cantidad mayor de

-maxwarnings <número de advertencias>

advertencias que la especificada, en relación conel formato del archivo plano.

No generar ninguna advertencia en relación conel formato del archivo plano.

-nowarnings

Crear campos en el enfoque de destino quecorrespondan a todos los campos en el archivoplano, a excepción de los campos especificados.

-xfields <campo> [, <campo> ...]

Crear campos en el enfoque de destino quecorrespondan a todos los campos en el archivo

-xfields @<archivo de campos>

plano, a excepción de los campos enumerados enel archivo de campos (uno por línea).

Además de estas opciones de línea de comandos, qsimportflat acepta las opciones comunes a todoslos comandos de creación de datos [consulte Opciones estándar de la línea de comandos en lapágina 21].

Nota: • Preferentemente, se debe especificar un archivo de descripción de datos planos (FDD) antesque un archivo de texto como la entrada para qsimportflat. Se puede crear un archivo FDD apartir de un archivo de texto mediante qsgenfdd.

• Por defecto, la Base de datos del archivo plano tiene la preferencia permitir erroresde formato de datos activada (consulte la Ayuda de Portrait Miner). Esto implica quetodos 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 laBase de datos del archivo plano en cuanto a las preferencias errores máximos de

43Guía de referencia del comando de creación de datos y TML

Capítulo 4: Comandos para importar y exportar datos

extracción, advertencias máximas de extracción e ignorar advertenciasde extracción respectivamente.

• También es posible acceder a la función de qsimportflat mediante el asistente Nuevoenfoque disponible en Decision Studio o Portrait Miner.

Ejemplos

Crear un nuevo enfoque RetailTransApril.ftr, que contenga todos los campos del archivo planoRetailTransApril.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 unarchivo FDD:qsgenfdd -input RetailCustApril.txtqsimportflat -fields "CustomerID, StartDate, Age, Postcode, Gender"-input RetailCustApril.fdd-output RetailCustAprilSomeFields.ftr

luego, crear otro enfoque RetailCustAprilOtherFields.ftr que contenga todos los camposexcepto CustomerID y Postcode, a partir del archivo plano RetailCustApril.txt, con el mismoarchivo FDD:qsimportflat -xfields "CustomerID, Postcode"-input RetailCustApril.fdd-output RetailCustAprilOtherFields.ftr

También consulteqsexportflat en la página 44

qsexportflatSinopsis 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]

Portrait Miner 7.144

qsexportflat

[-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

EfectoOpción

Colocar todos los valores de la secuencia entrecomillas en el archivo plano, en lugar de colocar

-alwaysquotestrings

solo aquellos que contienen caracteres especiales(como el separador).

Utilizar este formato [consulte Formatos de fechaen la página 55] para las fechas del archivo plano.

-dateformat <formato de fecha>

Utilizar este carácter de marcador para introducirfechas en el archivo plano.

-datemarker <marcador de fecha>

Incluir este número de día en cualquier archivo dedescripción de datos planos generado (para

-defaultday <número de día>

describir fechas cuyo formato no contenga uncomponente de día).

Incluir este número de mes en cualquier archivode descripción de datos planos generado (para

-defaultmonth <número de mes>

describir fechas cuyo formato no contenga uncomponente de mes).

Así como se crea el archivo plano, se debe crearun archivo de descripción de datos planos (archivo.fdd) para describir el formato de la fecha.

-fdd

Crear campos en el archivo plano quecorrespondan únicamente a los camposespecificados en el enfoque de origen.

-fields <campo> [, <campo> ...]

Crear campos en el archivo plano quecorrespondan únicamente a los campos en el

-fields @<archivo de campos>

enfoque de origen enumerados en el archivo decampos (uno por línea).

45Guía de referencia del comando de creación de datos y TML

Capítulo 4: Comandos para importar y exportar datos

EfectoOpción

Utilizar una cantidad de caracteres fija para cadacampo (seleccionada para adaptarse a todos losvalores posibles de ese tipo de datos).

Se puede utilizar esta opción junto a un separadorde campo vacío para crear un archivo plano cuyos

-fixedformat

campos se diferencien por su posición y no por eluso de un carácter de separación.

Incluir una línea inicial para el encabezado en elarchivo plano que contenga los nombres de loscampos.

-headers

Utilizar esta secuencia de marcador nulo en lugarde un espacio vacío para indicar las ocurrenciasdel valor nulo en el archivo plano.

-null <marcador nulo>

Crear registros en el archivo plano quecorrespondan solamente a los registros en el

-records <expresión FDL>

enfoque de origen para los que la expresión FDLnumérica no es cero ("true").

Crear registros en el archivo plano quecorrespondan solamente a los registros en el

-records @<archivo FDL>

enfoque de origen para los que la expresión FDLno es cero ("true") en el archivo especificado.

Utilizar este carácter de separador de campo enlugar de una coma.

-separator <separador de campo>

Utilizar este carácter de marcador de campo enlugar de comillas dobles.

-stringmarker <marcador de secuencia>

Usar el subenfoque especificado del enfoque deorigen.

-subfocus <subenfoque>

Crear campos en el archivo plano quecorrespondan solamente a los campos en elenfoque que tiene las etiquetas especificadas.

-tags <etiqueta> [, <etiqueta> ...]

Basar el formato del archivo plano en este archivoexistente de descripción de datos planos deplantilla.

-template <archivo FDD de plantilla>

Crear campos en el archivo plano quecorrespondan a todos los campos en el enfoque

-xfields <campo> [, <campo> ...]

de origen, a excepción de los camposespecificados.

Crear campos en el archivo plano quecorrespondan a todos los campos en el enfoque

-xfields @<archivo de campos>

Portrait Miner 7.146

qsexportflat

EfectoOpción

de origen, a excepción de los campos enumeradosen el archivo de campos (uno por línea).

Crear campos en el archivo plano quecorrespondan a todos los campos en el enfoque

-xtags <etiqueta> [, <etiqueta> ...]

de origen, a excepción de los campos que tienenetiquetas 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 todoslos comandos de creación de datos [consulte Opciones estándar de la línea de comandos en lapágina 21].

Nota:

• Si se utiliza una expresión de selección FDL (para exportar solamente un subconjunto de los registrosdel 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 dedescripción de datos planos (independientemente de que se especifique la opción -fdd) y crea unarchivo 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 uncomponente table.

• Las opciones de formato especificadas en la línea de comandos anulan las opciones de formatoglobales en el archivo FDD de plantilla. Las opciones de línea de comandos no anulan las opcionesespecíficas de los campos.

• Si ya existe un archivo plano con el mismo nombre del archivo de salida, qsexportflat hace una copiade seguridad del archivo existente (con "~" anexado al nombre del archivo) en lugar de solamentesobrescribirlo.

• Es posible acceder a la mayoría de las funciones de qsexportflat mediante el cuadro de diálogoExportar 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 enfoqueRetailTransApril.ftr:qsexportflat -input RetailTransApril.ftr -output RetailTransApril.csv

Crear un nuevo archivo plano RetailTransAprilDates.csv que contenga solamente los camposCustomerID y PurchaseDate del enfoque RetailTransApril.ftr utilizando un formato de fechaespecí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

47Guía de referencia del comando de creación de datos y TML

Capítulo 4: Comandos para importar y exportar datos

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 consulteqsgenfdd en la página 40 qsimportflat en la página 42

qsimportstatSinopsis 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 creadopor 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

EfectoOpción

Crear campos en el enfoque de destino quecorrespondan solamente a los camposespecificados en el conjunto de datos de origen.

-fields <campo> [, <campo> ...]

Crear campos en el enfoque de destino quecorrespondan solamente a los campos en el

-fields @<archivo de campos>

conjunto de datos de origen enumerados en elarchivo de campos (uno por línea).

Consulte la La opción de línea de comandos-force en la página 24.

-force

Crear un archivo de metadata a partir de un archivode catálogo SAS format.sas7bcat que debe

-metadata <archivo de metadata>

Portrait Miner 7.148

qsimportstat

EfectoOpción

estar incluido en la misma carpeta que el conjuntode datos SAS de origen.

Interpretar el conjunto de datos de origen como eltipo de conjunto de datos especificado, y anular la

-type <tipo de conjunto de datos>

interpretación por defecto (que depende de laextensión del archivo). Los tipos de conjuntos dedatos válidos incluyen sas, spss y excel; paraconsultar una lista completa, utilice la opción -help.

Crear campos en el enfoque de destino quecorrespondan a todos los campos en conjunto de

-xfields <campo> [, <campo> ...]

datos de origen, a excepción de los camposespecificados.

Crear campos en el enfoque de destino quecorrespondan a todos los campos en el conjunto

-xfields @<archivo de campos>

de datos de origen, a excepción de los camposenumerados en el archivo de campos (uno porlínea).

Además de estas opciones de línea de comandos, qsimportstat acepta las opciones comunes a todoslos comandos de creación de datos [consulte Opciones estándar de la línea de comandos en lapágina 21].

Nota: • Si intenta importar desde un conjunto de datos SAS y ya existe el archivo de metadata, seproduce 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 qsimportstatmediante el cuadro de diálogo Importar enfoque .

Ejemplos

Crear un nuevo enfoque RetailTransApril.ftr, que contenga todos los campos del archivo SASRetailTransApril.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

49Guía de referencia del comando de creación de datos y TML

Capítulo 4: Comandos para importar y exportar datos

qsexportstatSinopsis 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 @<archivoFDL>]

Descripción: Crear el conjunto de datos de destino de terceros a partir de los datos en el enfoque deorigen. Los conjuntos de datos SAS, SPSS y de Excel son algunos de los conjuntos admitidos (consultehttp://support.quadstone.com/info/requirements/ para obtener una lista detallada).

Argumentos opcionales

EfectoOpción

Crear campos en el conjunto de datos de destinoque correspondan solamente a los camposespecificados en el enfoque de origen.

-fields <campo> [, <campo> ...]

Crear campos en el conjunto de datos de destinoque correspondan solamente a los campos en el

-fields @<archivo de campos>

enfoque de origen enumerados en el archivo decampos (uno por línea).

Permitir que un nuevo conjunto de datosespecificado mediante la opción -outputsobrescriba un archivo existente.

Sin la opción -overwrite, si ya existe el conjuntode datos especificado mediante -output, el

-overwrite

comando no realizará ninguna acción (exceptoemitir una advertencia).

Crear registros en el conjunto de datos de destinoque correspondan solamente a los registros en el

-records <expresión FDL>

enfoque de origen para los que la expresión FDLnumérica no es cero ("true").

Crear registros en el conjunto de datos de destinoque correspondan solamente a los registros en el

-records @<archivo FDL>

enfoque de origen para los que la expresión FDLno es cero ("true") en el archivo especificado.

Portrait Miner 7.150

qsexportstat

EfectoOpción

Usar el subenfoque especificado del enfoque deorigen.

-subfocus <subenfoque>

Crear campos en el conjunto de datos de destinoque correspondan solamente a los campos en el

-tags <etiqueta> [, <etiqueta> ...]

enfoque de origen que tiene las etiquetasespecificadas.

Crear un conjunto de datos del tipo especificadoen lugar de usar la extensión del archivo para

-type <tipo de conjunto de datos>

determinar el tipo. Los tipos de conjuntos de datosválidos incluyen sas, spss, excel (.xls) y excelx(.xlsx). Para consultar una lista completa, utilice laopción -help.

Crear campos en el enfoque de destino quecorrespondan a todos los campos en conjunto de

-xfields <campo> [, <campo> ...]

datos de origen, a excepción de los camposespecificados.

Crear campos en el enfoque de destino quecorrespondan a todos los campos en el conjunto

-xfields @<archivo de campos>

de datos de origen, a excepción de los camposenumerados en el archivo de campos (uno porlínea).

Crear campos en el enfoque de destino quecorrespondan a todos los campos en el conjunto

-xtags <etiqueta> [, <etiqueta> ...]

de datos de origen, a excepción de los camposque tienen las etiquetas especificadas.

Además de estas opciones de línea de comandos, qsexportstat acepta las opciones comunes a todoslos comandos de creación de datos [consulte Opciones estándar de la línea de comandos en lapágina 21].

Mediante Portrait Miner, se puede acceder a la mayoría de las funciones de qsexportstatmediante el cuadro de diálogo Exportar para otro programa .

Nota:

Ejemplos Crear un archivo SAS nuevo RetailTransAprilStore800.sas7bdat que contenga unsubconjunto de registros (solo compras de la tienda 800) y solo campos de gasto a partir del enfoqueRetailTransApril.ftr :qsexportstat -input RetailTransApril.ftr-output RetailTransAprilStore800.sas7bdat-fields "CustomerID, PurchaseDate, Store, Amount"-records "Store = \"800\""

También consulteqsdescribestat en la página 107 qsimportstat en la página 48

51Guía de referencia del comando de creación de datos y TML

Capítulo 4: Comandos para importar y exportar datos

qsimportfocusSinopsis 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 copiarmetadata .

Argumentos opcionales

EfectoOpción

Crear campos en el enfoque de destino quecorrespondan únicamente a los camposespecificados en el enfoque de origen.

-fields <campo> [, <campo> ...]

Crear campos en el enfoque de destino quecorrespondan únicamente a los campos en el

-fields @<archivo de campos>

enfoque de origen que se enumeran (uno por línea)en el archivo de campos.

Consulte la La opción de línea de comandos-force en la página 24.

-force

Preservar los tipos de datos heredados de unenfoque creado con una versión anterior dePortrait Miner.

-preservetypes

Crear registros en el enfoque de destino quecorrespondan únicamente a los registros en el

-records <expresión FDL>

enfoque de origen para los que la expresiónnumérica FDL no es cero ("true").

Crear registros en el enfoque de destino quecorrespondan únicamente a los registros en el

-records @<archivo FDL>

enfoque de origen para los que la expresión FDLen el archivo especificado no es cero ("true").

Usar el subenfoque especificado del enfoque deorigen.

-subfocus <subenfoque>

Portrait Miner 7.152

qsimportfocus

EfectoOpción

Crear campos en el enfoque de destino quecorrespondan únicamente a los campos en el

-tags <etiqueta> [, <etiqueta> ...]

enfoque de origen que tienen las etiquetasespecificadas.

Crear campos en el enfoque de destino quecorrespondan a todos los campos en el enfoquede origen excepto los campos especificados.

-xfields <campo> [, <campo> ...]

Crear campos en el enfoque de destino quecorrespondan a todos los campos en el enfoque

-xfields @<archivo de campos>

de origen excepto los campos que se enumeran(uno por línea) en el archivo de campos.

Crear campos en el enfoque de destino quecorrespondan a todos los campos en el enfoque

-xtags <etiqueta> [, <etiqueta> ...]

de origen excepto los campos que tienen lasetiquetas especificadas.

Además de estas opciones de línea de comandos, qsimportfocus acepta las opciones comunes a todoslos comandos de creación de datos [consulte Opciones estándar de la línea de comandos en lapá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 camposen campos con los datatypes de entero, real, fecha y secuencia estándares. Puede forzar aqsimportfocus a retener los tipos de datos originales en el enfoque de destino, al utilizarla opción -preservetypes.

• Al utilizar Portrait Miner, se puede acceder a la mayoría de las funcionalidades deqsimportfocus a través del cuadro de diálogo Exportar como enfoque .

Ejemplos Crear un nuevo enfoque RetailTransAprilStandardTypes.ftr que contenga todoslos registros del enfoque RetailTransApril.ftr, pero convierta los campos con tipos de datosheredados 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\""

53Guía de referencia del comando de creación de datos y TML

Capítulo 4: Comandos para importar y exportar datos

Crear un nuevo enfoque, RetailTransApril2Customers.ftr, que contenga únicamente lastransacciones 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 dedatos

Importación a Portrait Miner desde una base de datosPortrait Miner asigna los siguientes tipos de base de datos a sus tipos de datos según el tamaño deltipo de base de datos y a la configuración de preferencias de las Bases de datos.

Tipo de campode PortraitMiner

preservar lostiposnuméricos alimportar

representarenteros largoscomo cadenas

Precision(Precisión)

Scale (Escala)Tipo de basede datos

cadenachar, char2,varchar,varchar2,nchar, nchar2,nvarchar,nvarchar2

fechadate, time,timestamp,datetime,smalldatetime

enteroint, integer,tinyint, smallint,byteint, bit

real

cadena

true

false

false

false

true

bigint

cadena

real

real

true

false

15

> 15

> 15

< 0decimal, dec,numeric,number

cadena

Portrait Miner 7.154

Cómo Portrait Miner importa los tipos de base de datos

Tipo de campode PortraitMiner

preservar lostiposnuméricos alimportar

representarenteros largoscomo cadenas

Precision(Precisión)

Scale (Escala)Tipo de basede datos

real

entero

true

false

false

0

10

> 10 15

> 15

0decimal, dec,numeric,number

real

realfalsefalse

true> 15

> 10

cadena

cadena

realfloat, double,real

real

realtrue

false

15

> 15

> 15

> 0decimal, dec,numeric,number

cadena

real

cadena

true

false

money

realsmallmoney

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 datosLos tipos de base de datos que Portrait Miner exporta dependen de la base de datos de destino y elcontrolador ODBC. Portrait Miner sugiere un tipo adecuado para la base de datos que especifique, sibien el controlador ODBC interpreta esa sugerencia en uno de los tipos de esa base de datos.

Formatos de fechaCuando trabaja con archivos planos y expresiones FDL, puede especificar la forma en la que PortraitMiner debe interpretar o exportar las fechas y las horas, usando un formato de fecha estándar [consultela sección Formatos de fecha estándar en la página 56] o un formato de fecha personalizado [consultela sección Formatos de fechas personalizados en la página 56].

55Guía de referencia del comando de creación de datos y TML

Capítulo 4: Comandos para importar y exportar datos

Formatos de fecha estándar

Formato de fechaNombre

MM/DD/AAAA:hh:mm:ss, por ejemplo,12/31/2000:13:36:59

Americano

DD/MM/AAAA:hh:mm:ss, por ejemplo,31/12/2000:13:36:59

Europeo

AAAA/MM/DD:hh:mm:ss, por ejemplo,2000/12/31:13:36:59

AMD

Nota: • Los tres formatos de fecha estándar también se pueden utilizar para fechas sin componentede hora y para horas puras ("fechas" con solo un componente de hora). Para fechas con solohoras 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 personalizadosPuede especificar un formato de fecha personalizado mediante la utilización de códigos de caracteresespeciales, cada uno comenzando con un signo de porcentaje %:

Componente de fecha con formatoCódigo

El mismo signo de porcentaje: %%%

Coincide con cualquier carácter%?

Coincide con cualquier cantidad de caracteres; porejemplo, para ignorar los caracteres finales, use%A/%m/%d%*

%*

El nombre del día en forma abreviada ("lu.","ma.", ..., "do.")

%a

El nombre del día completo (lunes", "martes",..., "domingo")

%A

El nombre del mes en forma abreviada ("en.","febr.", ..., "dic.")

%b

El nombre del mes completo ("enero","febrero", ..., "diciembre")

%B

(Entrada) Equivalente a "%a %b %e %T %Y"

(Salida) La fecha y hora en la representaciónestándar para la ubicación actual

%c

Equivalente a "%a %b %e %T %Z %Y"%C

Portrait Miner 7.156

Formatos de fecha estándar

Componente de fecha con formatoCódigo

El día del mes, usando dos dígitos ("01", "02",..., "31")

%d

Equivalente a %m/%d/%y%D

El día del mes, en un solo dígito precedido por unespacio (" 1", " 2", ..., "31")

%e

Equivalente a "%b"%h

La hora del día, usando el reloj de 24 horas ("00","02", ..., "23")

%H

La hora del día, usando el reloj de 12 horas ("01","02", ..., "12")

%I

El día del año, usando tres dígitos (fechas julianas)("001", "002", ..., "366")

%j

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")

%M

"a.m." o "p.m." según corresponda%p

Equivalente a %I:%M:%S %p%r

Equivalente a %H:%M%R

El segundo del minuto, usando dos dígitos ("00","01", ..., "61")

%S

Equivalente a %H:%M:%S%T

La fecha con formato según la preferencia deordenación x

%x

Equivalente a "%x"%X

Los años de un siglo, usando dos dígitos ("00","01", ..., "99")

%y

El año, usando cuatro dígitos%Y

El nombre de la zona horaria de la ubicación actual%Z

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ígitoscomo años entre Y - 99 y Y. Por ejemplo, si configura las preferencias en 2077, Portrait Minerinterpreta los años de dos dígitos 76, 77, y 78 como 2076, 2077, and 1978 respectivamente.

57Guía de referencia del comando de creación de datos y TML

Capítulo 4: Comandos para importar y exportar datos

Si configura un año máximo futuro igual a un valor positivo n y el año actual es A, Portrait Minerinterpreta todos los años de dos dígitos como años entre Y + n - 99 y Y + n. Por ejemplo, siconfigura las preferencias en 50 y el año actual es 2002, Portrait Miner interpreta los años de dosdí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 mostrarlas fechas (pero no al interpretarlas).

• Así como /, cualquier otro carácter (salvo el separador de campo o el marcador nulo) puede utilizarsecomo separador en la fecha.

• En los formatos de fecha que no tienen un componente de día o mes explícito, puede especificar unopor 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

Cadena de formato de fechaEjemplo de fecha

Europeo02/04/2003

27/10/1940

Americano04/02/2003

10/27/1940

AMD2003/04/02

1940/10/27

%d-%b-%Y02-Apr-2003

27-Oct-1940

((%d %b %Y))02 Apr 2003

27 Oct 1940

((%Y-%m-%d %H:%M))2003-04-02 13:25

1940-10-27 08:23

%Y-%m-%d:%H:%M2003-04-02:13:25

1940-10-27:08:23

((%e %b %Y))2 Apr 2003

27 Oct 1940

((%B %e, %Y))April 2, 2003

((%d/%m/%Y %H:%M))02/04/2003 13:25

27/10/1940 08:23

Portrait Miner 7.158

Formatos de fechas personalizados

Cadena de formato de fechaEjemplo de fecha

((%Y-%m-%d %H:%M:%S%*))2003-04-02 13:25:15000000

((%B %d, %Y))April 02, 2003

%e-%b-%Y2-Apr-2003

27-Oct-1940

(quiebre europeo=2010)02/04/03

27/10/40

(quiebre americano=2010)04/02/03

10/27/40

(quiebre AMD=2010)03/04/02

40/10/27

(%d-%b-%y pivot=2010)02-Apr-03

27-Oct-40

((%B %d, %y) pivot=2010)April 02, 03

(%e-%b-%y pivot=2010)2-Apr-03

27-Oct-03

((%B %e, %y) pivot=2010)April 2, 03

((%I:%M %p))01:25 PM

08:23 AM

%H:%M13:25

08:23

59Guía de referencia del comando de creación de datos y TML

Capítulo 4: Comandos para importar y exportar datos

Capítulo 5Comandos para procesarenfoques

En esta sección:

• qssort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .62• qsderive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63• qsmeasure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66• qstrack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70• qsselect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73• qsrenamefields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75• qsexportmetadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .78• qsimportmetadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .78• qsupdate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .82

qssortSinopsis qssort

-input <enfoque de origen>> [-subfocus <subenfoque>]

-output <enfoque de destino> [-force]

{-keys <campo clave> [, <campo clave>] [, <campo clave>]| -key @<archivoclave>}} qssort-input <enfoque de origen> [-subfocus <subenfoque>]

-check

{-keys <campo clave> [, <campo clave>] [, <campo clave>]| -key @<archivoclave>}}

Descripción: Clasifique los registros del enfoque de origen según los campos clave para producir elenfoque de destino.

Alternativamente, compruebe que el enfoque de origen ya está clasificado.

Argumentos opcionales

EfectoOpción

Consulte la La opción de línea de comandos-force en la página 24.

-force

Usar el subenfoque especificado del enfoque deorigen.

-subfocus <subenfoque>

Además de esta opción de línea de comandos, qssort acepta las opciones comunes a todos los comandosde 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 lasutilidades 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 utilizandoqssort.

• En general, es mucho más rápido comprobar el orden de la clasificación de un enfoque queclasificarlo.

• 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.

Portrait Miner 7.162

qssort

• El enfoque de destino es independiente del enfoque de origen, es decir, no comparte datossubyacentes.

• Utilizando Portrait Miner, se puede acceder a la mayoría de las funciones de qssort medianteel asistente Ordenar enfoque .

Ejemplos Comprobar que el enfoque RetailCustApril.ftr está clasificado según el campoCustomerID:qssort -check -input RetailCustApril.ftr -keys CustomerID

Cree un nuevo enfoque, RetailTransAprilSorted.ftr, que contenga todos los registros delenfoque RetailTransApril.ftr, clasificado según el campo CustomerID:qssort -output RetailTransAprilSorted.ftr-input RetailTransApril.ftr -keys CustomerID

qsderiveSinopsis 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; derivarlos 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, anexarlos campos derivados al enfoque de origen.

Argumentos opcionales

ObjetivoComando

EfectoOpción

Derivar únicamente los campos especificados.-fields <campo> [, <campo>> ...]

Derivar únicamente los campos que se enumeran(uno por línea) en el archivo de campos.

-fields @<archivo de campos>>

Consulte la La opción de línea de comandos-force en la página 24.

-force

63Guía de referencia del comando de creación de datos y TML

Capítulo 5: Comandos para procesar enfoques

ObjetivoComando

Consulte la La opción de línea de comandos-macro en la página 25.

-macro <nombre>=<valor>

Consulte la La opción de línea de comandos-macro en la página 25.

-macro @<archivo de macros>

En lugar de anexar campos derivados al enfoquede origen, copiar el enfoque de origen al enfoque

-output <enfoque de destino>

de destino y anexar los campos derivados alenfoque de destino.

Utilizar la semilla entera (en lugar de 0) para todaslas funciones FDL de número aleatorio queaparezcan en expresiones de derivación.

-random <semilla entera>

Además de derivar uno o más campos, escribala(s) expresión(es) de la derivación en los formatos

-savexml

TML y XML en los archivos <salida>.tml y<salida>.xml, en el mismo directorio del enfoquede destino, donde <salida> es el nombre de basedel enfoque de salida.

Usar el subenfoque especificado del enfoque deorigen.

-subfocus <subenfoque>

Si falla una derivación de campo, mostrar unaadvertencia y continuar derivando otros campos(en lugar de detenerse).

-warn

Derivar todos los campos en el archivo dederivaciones excepto los campos especificados.

-xfields <campo>> [, <campo> ...]

Derivar todos los campos en el archivo dederivaciones excepto los campos que se enumeran(uno por línea) en el archivo de campos.

-xfields @<archivo de campos>

Además de estas opciones de línea de comandos, qsderive acepta las opciones comunes a todos loscomandos de creación de datos [consulte Opciones estándar de la línea de comandos en la página21].

Nota: • El orden en que aparecen los campos derivados en el enfoque de destino es el orden en elque aparecen en el archivo de derivaciones.

• Si se especifica un enfoque de destino, compartirá los datos subyacentes con el enfoque deorigen.

• 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 semillade número aleatorio para esa expresión FDL.

• Puede utilizar el archivo XML que guardó qsderive mediante la opción -savexml como unarchivo de derivaciones.

Portrait Miner 7.164

qsderive

• Utilizando Portrait Miner, se puede acceder a la mayoría de las funciones de qsderivemediante 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 enfoqueRetailTransApril.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 crearun nuevo enfoque RetailTransAprilDerivAllButFirstOne.ftr, que contenga todos los camposdel 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 enfoqueRetailCustApril.ftr, más los campos de resultado que se crearon en Creador de scorecards deDecision 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 enfoqueRetailTransApril.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

65Guía de referencia del comando de creación de datos y TML

Capítulo 5: Comandos para procesar enfoques

qsmeasureSinopsis 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 @<archivoclave>}

[-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 destinosegún las definiciones de campos en los archivos de agregación. Los archivos de agregaciones contieneninstrucciones create o las representaciones XML correspondientes. Utilice los campos clave paraidentificar grupos de registros para agregación [consulte Uso de funciones de agregación y lascláusulas where y default en la página 154].

Argumentos opcionales

EfectoOpción

Considerar solo los campos especificados delenfoque de origen (para optimizar el rendimiento

-fields <campo> [, <campo> ...]

del comando evitando la consideración de loscampos que no se utilizan).

Considerar solo los campos del enfoque de origenque están enumerados (uno por línea) en el archivode campos.

-fields @<archivo de campos>

Consulte la La opción de línea de comandos-force en la página 24.

-force

Incluye definiciones de las funciones FDL [consulteFunciones definidas por el usuario en la página192].

Es posible que las expresiones en los archivos deagregaciones involucren estas funciones.

-library <archivo de funciones FDL>[, <archivo de funciones FDL> ...]

Portrait Miner 7.166

qsmeasure

EfectoOpción

Consulte la La opción de línea de comandos-macro en la página 25.

-macro <nombre>=<valor>

Consulte la La opción de línea de comandos-macro en la página 25.

-macro @<archivo de macros>

Calcular estadísticas para el enfoque de entradasegún las definiciones en los archivos de

-statistics <archivo de estadísticas>[, <archivo de estadísticas> ...]

estadísticas, que contienen instrucciones decálculo [consulte Evaluación del enfoque deestadísticas: la instrucción de calcular en lapágina 158] o las representaciones XMLcorrespondientes.

Las expresiones en los archivos de agregacionespueden hacer referencia a estas estadísticas.

Tener en cuenta solamente los campos del enfoquede origen que tienen las etiquetas especificadas

-tags <etiqueta> [, <etiqueta> ...]

(para optimizar el rendimiento del comando al evitartener en cuenta los campos no utilizados).

Considerar todos los campos del enfoque deorigen, excepto los campos especificados (para

-xfields <campo> [, <campo> ...]

optimizar el rendimiento del comando evitando laconsideración de campos que no se utilizan).

Considerar todos los campos del enfoque deorigen, excepto aquellos que estén enumerados(uno por línea) en el archivo de campos.

-xfields @<archivo de campos>

Tener en cuenta todos los campos del enfoque deorigen, excepto los campos que tienen la etiqueta

-xtags <>tag> [, <etiqueta>> ...]

especificada (para optimizar el rendimiento delcomando al evitar tener en cuenta los campos noutilizados).

Además de estas opciones de línea de comandos, qsmeasure acepta las opciones comunes a todoslos comandos de creación de datos [consulte Opciones estándar de la línea de comandos en lapágina 21].

Nota: • El enfoque de origen debe ordenarse según los campos clave [consulte qssort en la página62]. No obstante, qsmeasure no comprueba si esto es así, y no emite una advertencia o unerror si el enfoque no está ordenado correctamente.

• El enfoque de destino contiene campos clave que corresponden a los campos clave en elenfoque de origen, seguidos de los campos agregados (en el mismo orden en el que aparecenen el archivo de agregaciones), seguidos por todos los campos derivados (también en el mismoorden en el que aparecen en el archivo de agregaciones). Para forzar la aparición de un campoagregado después de un campo derivado en el enfoque de destino, puede utilizarse una

67Guía de referencia del comando de creación de datos y TML

Capítulo 5: Comandos para procesar enfoques

instrucción temporary para crear el campo de agregación, y luego derivar un campo desdeallí.

• El enfoque de destino es independiente del enfoque de origen, es decir, no comparte datossubyacentes.

• Para calcular agregaciones que involucren los estados entre las transacciones en lugar deinvolucrar solamente los valores en los registros de transacciones, derive campos intermediosadecuados mediante qstrack antes de utilizar qsmeasure.

• El XML para qsmeasure adopta la forma de un elemento de <aggregations>, que contieneelementos <field context="aggregation">, cada uno de los cuales, a su vez, debecontener una expresión TML en un elemento <fdl>. Se puede utilizar un elemento <by> paraespecificar 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 qsmeasuremediante 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 crearel 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"]{caseStore = "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);

Portrait Miner 7.168

qsmeasure

Aplique estas agregaciones al enfoque RetailTransAprilSorted.ftr para crear el enfoqueRetailStoreSplitsApril.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 yaverageSpendInStore_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, quecontiene 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 enfoqueRetailStoreSplitsApril.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 enfoqueRetailRankApril1.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 Amountdesde el enfoque RetailTransAprilSorted.ftr:qsmeasure -fields "CustomerID, Amount"-statistics statistics-amount.tml-aggregations aggregations-statistic.tml-input RetailTransAprilSorted.ftr-output RetailRankApril2.ftr-keys CustomerID

69Guía de referencia del comando de creación de datos y TML

Capítulo 5: Comandos para procesar enfoques

También consulteEspecificación de agregación para qsmeasure en la página 349

qstrackSinopsis qstrack

-trackers <archivo de rastreo> [, <archivo de rastreo> ...] -input <enfoquede origen> -output <enfoque de destino> [-force]-key <campo clave> | -key@<archivo clave>[-statistics <archivo de estadísticas> [, <archivo deestadísticas> ...]] [-library <archivo de función FDL> [, <archivo de funciónFDL> ...]]

[-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; derivarlos 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 definicionesgeneralmente involucran variables de estado [consulte Variables en la página 190]. Utilizar el campoclave para identificar grupos de registros para rastrear el estado: qstrack restablece todas las variablesde estado al inicio de un nuevo grupo.

Argumentos opcionales

EfectoOpción

Considerar solo los campos especificados delenfoque de origen (para optimizar el rendimiento

-fields <campo> [, <campo> ...]

del comando evitando la consideración de loscampos que no se utilizan).

Considerar solo los campos del enfoque de origenque están enumerados (uno por línea) en el archivode campos.

-fields @<archivo de campos>

Consulte la La opción de línea de comandos-force en la página 24.

-force

Incluye definiciones de las funciones FDL [consulteFunciones definidas por el usuario en la página192].

Las expresiones de los archivos de seguimientopueden incluir estas funciones.

-library <archivo de funciones FDL>[, <archivo de funciones FDL> ...]

Portrait Miner 7.170

qstrack

EfectoOpción

Consulte la La opción de línea de comandos-macro en la página 25.

-macro <nombre>=<valor>

Consulte la La opción de línea de comandos-macro en la página 25.

-macro @<archivo de macros>

Calcular estadísticas para el enfoque de entradasegún las definiciones en los archivos de

-statistics <archivo de estadísticas>[, <archivo de estadísticas> ...]

estadísticas, que contienen instrucciones decálculo [consulte Evaluación del enfoque deestadísticas: la instrucción de calcular en lapágina 158] o las representaciones XMLcorrespondientes.

Las expresiones de los archivos de seguimientopueden hacer referencia a estas estadísticas.

Tener en cuenta solamente los campos del enfoquede origen que tienen las etiquetas especificadas

-tags <etiqueta> [, <etiqueta> ...]

(para optimizar el rendimiento del comando al evitartener en cuenta los campos no utilizados).

Considerar todos los campos del enfoque deorigen, excepto los campos especificados (para

-xfields <campo> [, <campo> ...]

optimizar el rendimiento del comando evitando laconsideración de campos que no se utilizan).

Considerar todos los campos del enfoque deorigen, excepto aquellos que estén enumerados(uno por línea) en el archivo de campos.

-xfields @<archivo de campos>

Considerar todos los campos del enfoque deorigen, excepto los campos que tienen las etiquetas

-xtags <etiqueta> [, <etiqueta> ...]

especificadas (para optimizar el rendimiento delcomando al evitar la consideración de campos sinutilizar).

Además de estas opciones de línea de comandos, qstrack acepta las opciones comunes a todos loscomandos de creación de datos [consulte Opciones estándar de la línea de comandos en la página21].

Nota: • El orden en el que aparecen los campos derivados en el enfoque de destino es el orden enel que aparecen en el archivo de rastreadores.

• El enfoque de origen se debe clasificar por medio del campo clave [consulte qssort en lapágina 62]. Sin embargo, qstrack no verifica que así sea, y no emite una advertencia ni unerror si el enfoque no se clasifica correctamente.

• El enfoque de destino es independiente del enfoque de origen, es decir, no comparte datossubyacentes.

71Guía de referencia del comando de creación de datos y TML

Capítulo 5: Comandos para procesar enfoques

• 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, unaexpresió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) andcurrentYear = 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 enfoqueRetailTransAprilRunningSpend.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 contienelo 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 enfoqueRetailTransAprilRunningSpend.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

Portrait Miner 7.172

qstrack

qsselectSinopsis 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 XMLcorrespondiente. 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

EfectoOpción

Consulte la La opción de línea de comandos-force en la página 24.

-force

Consulte la La opción de línea de comandos-macro en la página 25.

-macro <nombre>=<valor>

Consulte la La opción de línea de comandos-macro en la página 25.

-macro @<archivo de macros>

En lugar de anexar campos derivados al enfoquede origen, copiar el enfoque de origen al enfoque

-output <enfoque de destino>

de destino y anexar los campos derivados alenfoque de destino.

Utilizar la semilla entera (en lugar de 0) para todaslas funciones FDL de número aleatorio queaparezcan en expresiones de derivación.

-random <semilla entera>

Además de derivar uno o más campos y aplicaruna selección, escriba la(s) expresión(es) de la

-savexml

derivación del archivo de selecciones en losformatos TML y XML en los archivos<salida>.tml y <salida>.xml, en el mismodirectorio del enfoque de destino, donde <salida>es el nombre de base del enfoque de salida.

En lugar de usar la definición del primer campo enel archivo de selecciones, usar la definición delcampo especificado.

-selection <campo>

73Guía de referencia del comando de creación de datos y TML

Capítulo 5: Comandos para procesar enfoques

EfectoOpción

Usar el subenfoque especificado del enfoque deorigen.

-subfocus <subenfoque>

Además de estas opciones de línea de comandos, qsselect acepta las opciones comunes a todos loscomandos de creación de datos [consulte Opciones estándar de la línea de comandos en la página21].

Nota: • Comúnmente, las expresiones de derivación en el archivo de selecciones son aplicacionesde 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 esverdadera.

• Si se especifica un enfoque de destino, compartirá los datos subyacentes con el enfoque deorigen.

• El XML para qsselect adopta la forma de un elemento de <selections>, que contieneelementos <field context="selection">, cada uno de los cuales, a su vez, debecontener una expresión FDL en un elemento <fdl>.

• Puede usar el archivo XML que guardó qsselect como un archivo de selecciones mediante laopció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 enaplicaciones 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 losiguiente:<?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>

Portrait Miner 7.174

qsselect

Aplique esta selección para seleccionar el mismo 10% de los registros en el enfoqueRetailTransApril.ftr utilizando la misma semilla:qsselect -selections selections-random.xml-input RetailTransApril.ftr-output RetailTransAprilSampleSelect.ftr

También consulteEspecificación de selección para qsselect en la página 352

qsrenamefieldsSinopsis 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 quesean compatibles con Portrait Miner, mediante un algoritmo incorporado .

Argumentos opcionales

ObjetivoComando

Consulte la La opción de línea de comandos-force en la página 24.

-force

Invertir el sentido de los mapeos de nombre decampo.

-invert

75Guía de referencia del comando de creación de datos y TML

Capítulo 5: Comandos para procesar enfoques

ObjetivoComando

Crear un archivo XML de mapeo, que describa elmapeo real utilizado desde los nombres de archivoanteriores a los nuevos.

Se puede utilizar este archivo como un archivo demapeo de entrada para qsrenamefields. Junto a

-mapping <archivo de mapeo de salida>

la opción -invert, se puede utilizar luego unmapeo inverso de nombre de campo inclusocuando el mapeo original campo-nombre sea unalgoritmo (y no necesariamente de uno a uno).

En lugar de renombrar directamente los camposen el enfoque de origen, copiar el enfoque de

-output <enfoque de destino>

origen al enfoque de destino y renombre loscampos en el enfoque de destino.

Además de estas opciones de línea de comandos, qsrenamefields acepta las opciones comunes atodos los comandos de creación de datos [consulte Opciones estándar de la línea de comandos enla página 21].

Nota: • Omitir el argumento -map completamente tiene el mismo efecto que especificar -mapQSCompliant.

• Un archivo de mapeo de entrada tiene formato XML o contiene pares <nombreantiguo>=<nombre nuevo> en líneas sucesivas del archivo.

• Si se utiliza más de un argumento -map, qsrenamefields implementa los mapeos de nombrede 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 norealizará la acción.

• Si se especifica un enfoque de destino, compartirá los datos subyacentes con el enfoque deorigen.

• 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 -mapQSCompliant) para convertir el enfoque en uno que se pueda utilizar en Decision Studio ocon otros comandos de creación de datos.

• Es posible acceder a algunas de las funciones de qsrenamefields mediante Visor de Tablasen Decision Studio o mediante el cuadro de diálogo Cambiar nombres de campos disponibleen Portrait Miner .

Ejemplos

Portrait Miner 7.176

qsrenamefields

Crear un enfoque, RetailCustAprilRenamed1.ftr, con el campo StartDate renombrado comoInitialized, 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=InitializedAge=CurrentAgeGender=Sex

implementar este archivo de mapeo para crear el enfoque RetailCustAprilRenamed2.ftr con elcampo StartDate renombrado como Initialized, Age renombrado como CurrentAge, y Genderrenombrado 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 siguientecontenido:<?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 elcampo StartDate renombrado como Initialized, Age renombrado como CurrentAge, y Genderrenombrado como Sex:qsrenamefields -map @mapping-file.xml-input RetailCustApril.ftr -output RetailCustAprilRenamed2.ftr

Crear un enfoque RetailCustAprilQSCompliant.ftr con nombres de campos que sean compatiblescon Portrait Miner:qsrenamefields-input RetailCustApril.ftr-output RetailCustAprilQSCompliant.ftr

También consulteEspecificación de mapeo del nombre de campo para qsrenamefields en la página 356

77Guía de referencia del comando de creación de datos y TML

Capítulo 5: Comandos para procesar enfoques

qsexportmetadataSinopsis qsexportmetadata -input <enfoque de origen> [-output <archivo demetadata>]

Descripción: Exportar metadata del enfoque de origen, que incluye el historial del enfoque, la creaciónde rangos, los comentarios, las derivaciones, las interpretaciones, las selecciones de registros, laestructura de subenfoque y el subenfoque por defecto. Por defecto, escribir la información en una salidaestándar.

Argumentos opcionales

EfectoOpción

Crear este archivo de metadata en lugar de escribirla salida estándar.

-output <archivo de metadata desalida>

Además de esta opción de línea de comandos, qsexportmetadata acepta las opciones comunes atodos los comandos de creación de datos [consulte Opciones estándar de la línea de comandos enla página 21].

Nota: • La salida de metadata de qsexportmetadata es un formato de archivo basado en XML [consulteEspecificación de metadatos para qsimportmetadata en la página 342].

• Mediante Portrait Miner, se puede acceder a las funciones de qsexportmetadata medianteel cuadro de diálogo Exportar metadata .

Ejemplos

Crear un nuevo archivo XML RetailTransApril.xml que contenga la metadata del enfoqueRetailTransApril.ftr:qsexportmetadata -input RetailTransApril.ftr-output RetailTransApril.xml

También consulteqsimportmetadata en la página 78

qsimportmetadataSinopsis qsimportmetadata

-input <enfoque de origen> -metadata <archivo de metadata>[-output <enfoquede destino>] [-force] [-details <tipo> [, <tipo> ...] -fields <campo> [,<campo> ...] | -fields @<archivo de campos>] -fields <campo> [, <campo> ...]| -fields @<archivo de campos>] [-dryrun] [-warn]

Portrait Miner 7.178

qsexportmetadata

Descripción: Importar metadata, que incluye creación de rangos, comentarios, derivaciones,interpretaciones, selecciones de registros, estructura de subenfoque y subenfoque por defecto delarchivo de metadata al enfoque de origen.

Argumentos opcionales

EfectoOpción

Importar los tipos especificados de metadata, quepueden incluir rangos, comentarios,

-details <tipo> [, <tipo> ...]

derivaciones, historial,interpretaciones, selecciones, iniciar(subenfoque por defecto) y subenfoques(estructura de subenfoques). Las interpretacionescategóricas se clasifican como creaciones derangos, no interpretaciones. Si esta opción no estádisponible, se importan todos los tipos de metadata(excepto historial).

No importar metadata, sino visualizar la informaciónsobre la metadata que se habría importado.

-dryrun

En lugar de importar metadata de campo de todoslos campos, importar metadata solamente de loscampos especificados.

-fields <campo> [, <campo> ...]

En lugar de importar metadata de campo de todoslos campos, importar metadata solamente de los

-fields @<archivo de campos>

campos enumerados en el archivo de campos (unopor línea).

Consulte la La opción de línea de comandos-force en la página 24.

-force

En lugar de implementar directamente la metadataal enfoque de origen, copiar el enfoque de origen

-output <enfoque de destino>

al enfoque de destino e implementar la metadataal enfoque de destino.

En lugar de cancelar la operación si no es posibleimportar toda la metadata, emitir una advertenciae intentar importar la metadata restante.

-warn

Importar metadata de campo de todos los campos,a excepción de los campos especificados.

-xfields <campo> [, <campo> ...]

Importar metadata de campo de todos los campos,a excepción de los que están enumerados en elarchivo de campos (uno por línea).

-xfields @<archivo de campos>

Además de estas opciones de línea de comandos, qsimportmetadata acepta las opciones comunes atodos los comandos de creación de datos [consulte Opciones estándar de la línea de comandos enla página 21].

79Guía de referencia del comando de creación de datos y TML

Capítulo 5: Comandos para procesar enfoques

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 delhistorial en el archivo de metadata no se encuentra o está vacía, qsimportmetadata no sustituyela metadata del historial en el enfoque.

• Si se especifica un enfoque de destino, compartirá los datos subyacentes con el enfoque deorigen.

• El archivo de metadata utiliza un formato de archivo basado en XML [consulte Especificaciónde metadatos para qsimportmetadata en la página 342]. El XML de metadata paraqsimportmetadata adopta la forma de un elemento de <metadata> que contiene elementosde <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 apartir de los valores que contiene el campo (y un rango denominado "nodo sin nombre"). Silas categorías básicas en el rango importado hacen referencia a valores a los que las categoríasbásicas del campo no hacen referencia, qsimportmetadata agrega estos valores como categoríasbásicas. Finalmente, agrega las categorías (si existen) desde el rango importado directamentea continuación de las categorías básicas del campo (a menos que el rango importado tengael mismo conjunto de categorías básicas que el campo, en cuyo caso qsimportmetadata omiteel primer nivel del rango importado y agrega el resto de los niveles directamente a continuaciónde 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 importadocontiene un elemento <category> como mínimo, qsimportmetadata borra la interpretacióncategórica en el campo (y elimina todos los rangos categóricos existentes en el campo) antesde 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áticamenteatributos 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 desubenfoque, 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 conel mismo nombre en el archivo de origen, por lo que se sobrescribe cualquier metadata existenteasociada con dicho enfoque.

• Utilizando Portrait Miner, se puede acceder a la mayoría de las funciones de qsimportmetadatamediante 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 DOBin CUSTINFO.</comment>

</field>

Portrait Miner 7.180

qsimportmetadata

<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, quecontenga 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 enfoqueRetailCustAprilCommented3.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 theRetail 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, quecontenga 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"/>

81Guía de referencia del comando de creación de datos y TML

Capítulo 5: Comandos para procesar enfoques

<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 tieneun rango categórico con dos niveles (uno de ellos denomina las categorías de base y el otro fusionatres 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 queSRVOverallSatisfaction 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 consulteqsexportmetadata en la página 78

qsupdateSinopsisqsupdate -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 destinoe incluye las definiciones de subenfoques y campos derivados, además de cualquier interpretación decampo, rango y selecciones de registro.

Argumentos opcionales

Portrait Miner 7.182

qsupdate

EfectoOpción

Consulte la La opción de línea de comandos-force en la página 24.

-force

Además de esta opción de línea de comando, qsupdate acepta las opciones comunes de todos loscomandos de creación de datos [consulte Opciones estándar de la línea de comandos en la página21].

Nota: • El enfoque de destino no puede tener ninguna interpretación de campo, rango ni selecciónde registro existentes.

• Si el enfoque de plantilla y el enfoque de destino tienen diferentes nombres de campo o tiposde datos, es posible que qsupdate no pueda copiar algunos aspectos de la metadata delenfoque de plantilla.

• Este comando de creación de datos es obsoleto: en cambio, utilice qsexportmetadata yqsimportmetadata.

Ejemplo

Aplique derivaciones, interpretaciones, rangos y selecciones de registro del enfoqueRetailCustApril.ftr previamente procesado al enfoque RetailCustMay.ftr recién importado:qslink -from RetailCustMay.ftr -to RetailCustMayUpdated.ftrqsupdate -from RetailCustApril.ftr -to RetailCustMayUpdated.ftr

83Guía de referencia del comando de creación de datos y TML

Capítulo 5: Comandos para procesar enfoques

Capítulo 6Comandos para combinarenfoques

En esta sección:

• Acerca de la combinación de enfoques . . . . . . . . . . . . . .86• qsjoin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .86• qsmerge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .90

Acerca de la combinación de enfoquesPortrait 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 enPortrait 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 deun left join de dos tablas.

También se pueden combinar los registros de varios enfoques en Portrait Miner o a través delcomando de creación de datos qsmerge de Portrait Miner.

También consulte

dblookup en la página 318

qsjoinSinopsis qsjoin

-input <enfoque primario> [-subfocus <subenfoque>]

{-keys <campo clave> [, <campo clave>] [, <campo clave>] | -key @<archivoclave>}

[-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 losregistros mediante el uso de los campos clave. Por defecto, una todos los campos que no sean camposclave de los enfoques secundarios.

A menos que se utilice la opción -onetoone, qsjoin realiza de forma eficaz una serie de unionesexternas de izquierda (en las que el enfoque primario es la tabla de la izquierda) al incorporar los camposde cada uno de los enfoques secundarios de a uno a la vez. Los valores clave de un registro del enfoqueprimario identifican de forma única un registro correspondiente de cada uno de los enfoques secundarios(en los que haya uno).

Portrait Miner 7.186

Acerca de la combinación de enfoques

Argumentos opcionales

EfectoOpción

Al hacer coincidir los registros, se debe tratar elvalor nulo de un campo clave como un valor

-equalnulls

ordinario (es decir, considerar a todos los casosdel valor nulo como iguales entre sí, pero diferentesde todos los otros valores).

En lugar de unir todos los campos del enfoquesecundario, une solo los campos especificados,

-fields <campo> [, <campo> ...]

En lugar de unir todos los campos del enfoquesecundario, se deben unir solamente los campos

-fields @<archivo de campos>

especificados (uno por línea) en el archivo decampos.

Consulte la La opción de línea de comandos-force en la página 24. Esto también afecta los

-force

enfoques creados mediante el uso de la opción-unmatched.

Importar metadata del campo de los enfoquessecundarios.

-importmeta

Para cada enfoque secundario, se debe crear uncampo de enteros adicional en el enfoque de

-match <prefijo>

salida, que contiene el valor 1 para los registrosque incluyen datos del enfoque secundario y elvalor 0 para todos los otros registros. Se debeutilizar el prefijo dado junto con el nombre delenfoque secundario para denominar al campo.

En lugar de realizar una unión externa de izquierda,intente realizar una coincidencia uno a uno de losgrupos de registros con las mismas claves.

-onetoone

En lugar de unir campos al enfoque primario, copieel enfoque primario en el enfoque de destino yluego una los campos con el enfoque de destino.

-output <enfoque de destino>

Utilice los subenfoques especificados del enfoqueprimario o secundario mencionado en último lugar

-subfocus <subenfoque>

en la línea de comando (mediante el uso de-input o -join).

En lugar de unir todos los campos del enfoquesecundario, una solamente los campos que tienenlas etiquetas especificadas.

-tags <etiqueta> [, <etiqueta> ...]

Para cada enfoque secundario, se debe crear unenfoque de salida alternativo preservando los

-unmatched <prefijo>

87Guía de referencia del comando de creación de datos y TML

Capítulo 6: Comandos para combinar enfoques

EfectoOpción

registros del enfoque secundario cuyos camposclave no coinciden con los registros del enfoqueprimario. Utilice el prefijo dado junto con el nombredel enfoque secundario para denominar el enfoquede salida alternativo.

Una todos los campos del enfoque, excepto loscampos especificados.

-xfields <campo> [, <campo> ...]

Una todos los campos del enfoque, excepto loscampos especificados (uno por línea) en el archivode campos.

-xfields @<archivo de campos>

Una todos los campos del enfoque, excepto loscampos que tienen las etiquetas especificadas.

-xtags <etiqueta> [, <etiqueta> ...]

Además de estas opciones de línea de comando, qsjoin acepta las opciones comunes a todos loscomandos de creación de datos [consulte Opciones estándar de la línea de comandos en la página21].

Nota:

• Para cada campo clave nombrado, todos los campos de ese nombre en los enfoques primarios ysecundarios deben ser de un tipo compatible, es decir, todos campos de secuencia, todos camposde fecha o todos campos numéricos.

• Los enfoques primarios y secundarios deben estar clasificados según los campos clave [consulteqssort en la página 62]. Si los enfoques no están clasificados de forma apropiada, se produce unfallo 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 registrosde 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 enfoquesecundario 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ásde un registro del enfoque primario tienen el mismo conjunto de claves, se unen copias de los registroscorrespondientes (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 compartenuna combinación determinada de valores de campos clave, qsjoin intenta unir campos de registrossucesivos de un enfoque secundario que comparten la misma combinación de valores de camposclave, 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 enfoqueprimario, 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 enfoqueprimario, qsjoin utiliza los registros excedentes del enfoque secundario como no coincidentes. Si seutiliza 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.

Portrait Miner 7.188

qsjoin

• 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 campoclave como un valor nuevo y diferente: un registro con el valor nulo de un campo clave nuncacorresponde a un registro de otro enfoque. Se puede anular este comportamiento mediante el usode la opción -equalnulls.

• En el caso de la compatibilidad con versiones anteriores, si se especifica solo un enfoque secundarioy se utiliza la opción -match o -unmatched, el nombre del enfoque secundario no se utiliza paranombrar 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 elasistente Unir campos con el enfoque. .

Ejemplos

Crear un enfoque RetailAprilAnalysis1.ftr combinando registros de los enfoquesRetailCustApril.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 enfoqueRetailAggregationsApril.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 enfoquesRetailCustApril.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 enfoqueunmatchedRetailAggregationsApril.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 consulteqsmerge en la página 90

89Guía de referencia del comando de creación de datos y TML

Capítulo 6: Comandos para combinar enfoques

qsmergeSinopsis qsmerge

-input <enfoque primario> [-subfocus <subenfoque>]

{-keys <campo clave> [, <campo clave>] [, <campo clave>] | -key @<archivoclave>}

[-equalnulls]

-output <enfoque de destino> [-force]

[-nodups]

-merge <enfoque secundario> [ -subfocus <subenfoque>][-merge <enfoquesecundario> [ -subfocus <subenfoque>] ...]

Descripción Combina registros de los enfoques primarios y secundarios al intercalarlos para crear elenfoque de destino, de manera tal que se mantengan ordenados según los campos clave [consulteqssort en la página 62].

Argumentos opcionales

EfectoOpción

Al hacer una prueba para detectar clavesduplicadas, trate el valor null de un campo clave

-equalnulls

como un valor ordinario (es decir, considere a todoslos casos del valor nulo como iguales entre ellos,pero diferentes a todos los otros valores).

Consulte la La opción de línea de comandos-force en la página 24.

-force

Evite duplicar valores de campos clave: si dos omás registros comparten valores de campos clave,

-nodups

retenga el primero de esos registros del primerenfoque para contener dicho registro (tratando losenfoques en el siguiente orden: primario,secundario mencionado en primer lugar, etc.);descarte el resto de los registros que tienen losmismos valores de campos clave.

Utilice los subenfoques especificados del enfoqueprimario o secundario mencionado en último lugar

-subfocus <subenfoque>

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 loscomandos de creación de datos [consulte Opciones estándar de la línea de comandos en la página21].

Portrait Miner 7.190

qsmerge

Nota: • Los enfoques primarios y secundarios deben estar clasificados según los campos clave [consulteqssort en la página 62]. Si los enfoques no están clasificados de forma apropiada, se produceuna falla en qsmerge y se envía un mensaje de error a tal efecto.

• Los campos correspondientes en los enfoques primarios y secundarios (identificados pornombre) deben ser exactamente del mismo tipo, pero no necesariamente deben estar ordenadosde la misma manera.

• El enfoque de destino contiene el mismo conjunto de campos que el enfoque primario, ordenadode la misma manera. Si un enfoque secundario contiene campos que no están en el enfoqueprimario, qsmerge los ignora. Si el enfoque primario contiene campos que no están en unenfoque secundario, qsmerge utiliza el valor nulo en el lugar de los valores que faltan en elenfoque secundario.

• Si dos o más registros comparten los mismos valores de campos clave, aquellos del enfoqueprimario aparecen primero en el enfoque de destino, seguidos por aquellos de cada enfoquesecundario de a uno a la vez. A menos que se utilice la opción -nodups, la operación decombinació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 paraeliminar registros que tienen valores clave duplicados de un enfoque.

• El enfoque de destino es independiente de los enfoques primario y secundario, es decir queno comparten datos subyacentes.

• Al ordenar los registros o realizar pruebas para detectar claves duplicadas, qsmerge trata alvalor nulo de un campo clave como un valor nuevo y distinto: un registro con el valor nulo deun campo clave nunca corresponde a un registro de otro enfoque. Se puede anular estecomportamiento mediante el uso de la opción -equalnulls.

• Al utilizar Portrait Miner, se puede acceder a la mayoría de las funciones de qsmerge medianteel cuadro de diálogo Combinar registros. .

• Si los enfoques combinados contienen tipos de datos heredados, en el enfoque de salida lostipos 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 almacenamientosuficiente, en lugar de que se trunque el contenido, el campo contendrá el valor null. En estecaso, aparece un mensaje de resumen que muestra el campo afectado y la cantidad de entradasal momento de la finalización.

• Para combinar dos enfoques, los campos que se combinarán deben incluir tipos de datoscompatibles.

Ejemplos

Crear un enfoque, RetailTransAprilMayJune.ftr, que contenga todos los registros de los enfoquesRetailTransAprilSorted.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 valoresclave también aparecen en el enfoque RetailTransMaySorted.ftr:qsmerge -nodups-input RetailTransAprilSorted.ftr

91Guía de referencia del comando de creación de datos y TML

Capítulo 6: Comandos para combinar enfoques

-merge RetailTransMaySorted.ftr-keys CustomerID -output RetailTransAprilMayNodups.ftr

También consulteqsjoin en la página 86

Portrait Miner 7.192

qsmerge

Capítulo 7Comandos para administrarenfoques

En esta sección:

• qscopy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .94• qslink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .95• qsmove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .95• qsremove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .96• qsarchive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .97• qsunzip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .98

qscopySinopsis 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 directorioespecificado (preservando el nombre del enfoque de origen). Copiar los datos subyacentes para queel nuevo enfoque sea independiente de demás enfoques.

Argumentos opcionales

EfectoOpción

Consulte la La opción de línea de comandos-force en la página 24.

-force

Además de esta opción de línea de comandos, qscopy acepta las opciones comunes a todos loscomandos de creación de datos [consulte Opciones estándar de la línea de comandos en la página21].

Debido a la independencia potencial de los enfoques, no debe intentar copiar unenfoque mediante utilidades estándares del sistema operativo. En cambio, siempredebe utilizar qscopy o qslink (o Portrait Miner).

Nota: • Si intenta copiar un enfoque sobre un enfoque existente, qscopy emite una advertencia y nohace nada más.

• Para crear un copia enlazada de un enfoque, en la que la copia comparta los datos subyacentescon 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álisisde 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

Portrait Miner 7.194

qscopy

qslinkSinopsis 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 directorioespecificado (preservando el nombre del enfoque de origen). Compartir los datos subyacentes con elenfoque original. (El nuevo enfoque es dependiente del enfoque original).

Argumentos opcionales

EfectoOpción

Consulte la La opción de línea de comandos-force en la página 24.

-force

Además de esta opción de línea de comandos, qslink acepta las opciones comunes a todos loscomandos de creación de datos [consulte Opciones estándar de la línea de comandos en la página21].

Nota: • Si intenta copiar un enfoque sobre un enfoque existente, qslink emite una advertencia y nohace nada más.

• Para crear una copia independiente de un enfoque, en la que la copia no comparta los datossubyacentes 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 enfoqueRetailAnalysisMay.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

qsmoveSinopsis qsmove -from <enfoque de origen>

-to {,<enfoque de destino> | <directorio>,}

95Guía de referencia del comando de creación de datos y TML

Capítulo 7: Comandos para administrar enfoques

Descripción: Renombrar el enfoque de origen como enfoque de destino o mover el enfoque de origenal directorio especificado, teniendo en cuenta posibles dependencias de los datos.

Argumentos opcionales Además de los argumentos requeridos, qscopy acepta las opciones comunesa todos los comandos de creación de datos [consulte Opciones estándar de la línea de comandosen la página 21].

Nota: • Si se intenta renombrar o mover un enfoque por encima de un enfoque existente, qsmoveemitirá 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 debeintentar renombrar o mover un enfoque con utilidades estándares del sistemaoperativo. 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

qsremoveSinopsis 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 dependenciasde datos.

Argumentos opcionales

EfectoOpción

Ignorar los errores provocados por la incapacidadde actualizar enlaces relacionados con losenfoques.

-force

Portrait Miner 7.196

qsremove

EfectoOpción

Eliminar el enfoque y todos los enfoquesdependientes.

-recursive

Además de estas opciones de línea de comandos, qsremove acepta las opciones comunes a todoslos comandos de creación de datos [consulte Opciones estándar de la línea de comandos en lapágina 21].

Debido a la posible interdependencia de los datos de los enfoques, no se debeintentar eliminar un enfoque con utilidades estándares del sistema operativo. Ensu 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 puedeescribir, se mostrará un error. En tal caso, se debe utilizar -force y -recursive para eliminarel 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 parael archivo de enfoque .ftr.

• Tras eliminar un enfoque con qsremove, es posible que quede una copia de seguridad delarchivo .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

qsarchiveSinopsis qsarchive -input <enfoque o carpeta>

[, -input <enfoque o carpeta> ...]-output <archivo de archivo>

97Guía de referencia del comando de creación de datos y TML

Capítulo 7: Comandos para administrar enfoques

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 opcionescomunes de todos los comandos de creación de datos [consulte Opciones estándar de la línea decomandos en la página 21].

Nota: • Si crea un archivo de archivos a partir de una carpeta que contiene enfoques enlazados adatos 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 qsarchiveal utilizar el cuadro de diálogo Archivar de Portrait Miner.

Ejemplo

Crear un archivo de archivo FirstQuarter.zip que comparta datos subyacentes con los enfoquesJanuary.ftr, February.ftr y March.ftr:qsarchive -input January.ftr -input February.ftr -input March.ftr-output FirstQuarter.zip

También consulteqsunzip en la página 98

qsunzipSinopsis qsunzip -input <archivo de archivo > [-output <directorio de salida>]

[-overwrite]

Descripción: Extraer archivos y carpetas de un archivo de archivo .

Argumentos opcionales

EfectoOpción

Extraer en el directorio alternativo donde estáubicado el archivo de archivo . Si no se proporciona

-output <directorio de salida>

una opción -output, los archivos y las carpetasse extraerán al directorio actual.

Sobrescribe los archivos y las carpetas si se losextrae a una ubicación que contiene el mismocontenido que el archivo zip.

-overwrite

Además de estas opciones de línea de comando, qsunzip acepta las opciones comunes de todos loscomandos de creación de datos [consulte Opciones estándar de la línea de comandos en la página21].

Nota: • Si no se utiliza la opción -overwrite y se extraen los archivos y las carpetas a una ubicaciónque 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 qsunzipmediante el cuadro de diálogo Extraer de Portrait Miner.

Portrait Miner 7.198

qsunzip

Ejemplo Extraer archivo s y carpetas del mismo archivo de archivo firstquarter.zip a la mismaubicación que firstquarter.zip:qsunzip -input firstquarter.zip

También consulteqsarchive en la página 97

99Guía de referencia del comando de creación de datos y TML

Capítulo 7: Comandos para administrar enfoques

Capítulo 8Comandos para elaborarinformes

En esta sección:

• qssettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .102• qsaudit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .102• qsdescribe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .106• qsdescribestat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .107• qshtmlunpack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .108• qsdtsnapshot, qsscsnapshot . . . . . . . . . . . . . . . . . . . . .109• qsxt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .112• qsinfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .113• qsdescribelicense . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .114

qssettingsSinopsis qssettings [<property>=<valor> ...]

Descripción: establezca el valor de cada propiedad enumerada para controlar aspectos de la salidade 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 opcionescomunes a todos los comandos de creación de datos [consultar Opciones estándar de la línea decomandos en la página 21].

El comando qssettings crea o modifica el archivo settings.xml en su directorio deconfiguración, específico según el usuario, de Portrait Miner. Utilice este archivo en conjunto

Nota:

con qsaudit, qsdtsnapshot, o qsscsnapshot especificando la opción Opciones estándarde 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 enformato de 12 horas y números con ceros posteriores, en cuatro posiciones decimales y un separadorde miles específico según el lugar:qssettings DateFormat=2 TwelveHour=true StripTrailingZeroes=falseNumDecimalPlaces=4 ThousandSeparators=true

También consulteFormatos de fecha en la página 55 qsaudit en la página 102 qsdtsnapshot, qsscsnapshot en lapágina 109

qsauditSinopsis 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> ...]]

Portrait Miner 7.1102

qssettings

-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 | -htmlimagesnone]

[-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 | -htmlimagesnone] [-paginate]

Descripción: crea un informe de Perfil y Auditoría en el enfoque especificado, o un informe decomparación que describa las diferencias entre el enfoque especificado y el enfoque descripto en uninforme de referencia (con la opción -reference). De manera predeterminada, realizar una auditoríade todos los campos del enfoque, en relación con el objetivo del enfoque, si es que lo hay. Este es unproceso de dos etapas: primero, el comando genera un archivo XML intermedio (empaquetado en unarchivo .qsxml), y luego, a partir de este archivo intermedio, crea el informe con formato HTML terminado(empaquetado en un archivo .qshtml).

103Guía de referencia del comando de creación de datos y TML

Capítulo 8: Comandos para elaborar informes

Opcionalmente puede crear solamente el archivo intermedio .qsxml o el archivo .qshtml a partir deun archivo .qshtml o .qsxml preexistente.

Para descomprimir archivos .qshtml y .qsxml, visualizarlos o reutilizarlos fuera de Portrait Miner,utilice qshtmlunpack.

Argumentos opcionales

EfectoOpción

Realice una auditoría sólo sobre los camposespecificados (excepto los campos excluidos con-xfields).

-fields <campo> [, <campo> ...]

Realice una auditoría sólo sobre los camposenumerados (uno por línea) en el archivo decampos.

-fields @<archivo de campos>

Crea un informe HTML a partir de un informe XMLo HTML.

-generate HTML

Crea un informe HTML directamente(predeterminado si usted no especifica una opción-generate).

-generate Full

Crea un informe XML .-generate XML

Incluye imágenes PNG de mapa de bits y SVGoptimizadas para imprimir y para ver en pantalla.

-htmlimages largepng

No incluye ninguna imagen.-htmlimages none

Incluye imágenes PNG de mapa de bits y SVGoptimizadas para pantalla (predeterminado si ustedno especifica una opción -htmlimages).

-htmlimages smallpng

Incluye solamente imágenes SVG.-htmlimages svg

Crea un perfil y auditoría no uplift, ignorando todainterpretación de partición en el enfoque.

-nopartition

No realiza auditorías sobre campos relacionadoscon campos objetivo, aunque el enfoque tenga unobjetivo.

-notarget

Sobrescribe cualquier informe preexistente.

De lo contrario, si ya hay un informe con el mismonombre, qsaudit emite una advertencia y no hacenada más.

-overwrite

Crea una página HTML individual para cada campoauditado.

-paginate

Usar el campo especificado como el campo departición.

-partitionfield <campo>

Portrait Miner 7.1104

qsaudit

EfectoOpción

Informa solamente los registros en los cuales laexpresión FDL numérica no es cero ("verdadero").

-records <expresión FDL>

Informa solamente los registros en los cuales laexpresión FDL en el campo especificado no escero ("verdadero").

-records @<archivo FDL>

Utiliza el informe HTML creado anteriormente yarchivado como informe de referencia y crea uninforme comparativo.

-reference <informe HTML archivado>

Usar el subenfoque especificado del enfoque.-subfocus <subenfoque>

Audita solamente los campos que tienen lasetiquetas especificadas (excepto cualquier campoexcluido con -xtags).

-tags <etiqueta> [, <etiqueta> ...]

Audita campos en el enfoque en relación con loscampos objetivo especificados, en lugar delenfoque objetivo.

-targets <campo> [, <campo> ...]

Audita campos en el enfoque en relación con loscampos objetivo enumerados (uno por línea) en elarchivo de campos.

-targets @<archivo de campos>

No audita los campos especificados.-xfields <campo> [, <campo> ...]

No audita los campos enumerados (uno por línea)en el archivo de campos.

-xfields @<archivo de campos>

No audita los campos que tienen las etiquetasespecificadas.

-xtags <etiqueta> [, <etiqueta> ...]

Además de estas opciones de líneas de comandos, qsaudit acepta la opción -settings, como tambiénopciones comunes para todos los comandos de creación de datos [consultar Opciones estándar dela línea de comandos en la página 21].

Nota: • De manera predeterminada, un informe de comparación incluye los mismos campos que elinforme de referencia. Si selecciona explícitamente los campos por incluir en el informe decomparació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 preferenciasde 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

105Guía de referencia del comando de creación de datos y TML

Capítulo 8: Comandos para elaborar informes

Crear un nuevo Perfil y auditoría RetailCustApril.qshtml desde el enfoqueRetailCustApril.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 unapá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 enfoqueRetailCustApril.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 recrearlos 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 enfoqueRetailCustMay.ftr comparado con el informe de referenciaRetailCustApril.qshtml:qsaudit -reference RetailCustApril.qshtml-input RetailCustMay.ftr -output RetailCustMayApril.qshtml

También consulteXML en Portrait Miner en la página 342 qsdescribe en la página 106 qsdtsnapshot, qsscsnapshot enla página 109 qssettings en la página 102

qsdescribeSinopsis 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 lacantidad de campos y registros y el historial del enfoque.

Argumentos opcionales

Portrait Miner 7.1106

qsdescribe

EfectoOpción

Brinda información más detallada de los camposdel enfoque, inclusive estadísticas de campos,

-detail

expresiones de derivación y semillas para camposderivados.

Brinda información sobre cada uno de los camposdel enfoque.

-fields

Escribe el informe en el archivo especificado, enlugar de la salida estándar.

-output <archivo de informe>

Usar el subenfoque especificado del enfoque deorigen.

-subfocus <subenfoque>

Además de estas opciones de la línea de comandos, qsdescribe acepta las opciones comunes a todoslos comandos de creación de datos [consultar Opciones estándar de la línea de comandos en lapágina 21].

Nota: • De manera predeterminada, qsdescribe informa sobre toda la jerarquía de subenfoques dentrode un enfoque. Si utiliza la opción -subfocus, qsdescribe informa solamente sobre elsubenfoque que usted especifique.

• Con Portrait Miner, podrá acceder a la mayoría de las funciones de qsdescribe a través delcuadro 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 loscampos:qsdescribe -detail -fields -input RetailCustApril.ftr

También consulte

qsaudit en la página 102

qssettings en la página 102

qsdescribestatSinopsis qsdescribestat -input <conjunto de datos de origen>

[-output <archivo de informe>]

[-type <tipo de conjunto de datos>]

107Guía de referencia del comando de creación de datos y TML

Capítulo 8: Comandos para elaborar informes

[-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 conjuntosadmitidos (consulte http://support.quadstone.com/info/requirements/ para obtener una lista detallada).

Argumentos opcionales

EfectoOpción

Enumerar los tipos de datos de campo junto consus nombres.

-detail

Escribe el informe en el archivo especificado, enlugar de la salida estándar.

-output <archivo de informe>

Interpretar el conjunto de datos de origen como eltipo de conjunto de datos especificado, y anular la

-type <tipo de conjunto de datos>

interpretación por defecto (que depende de laextensión del archivo). Los tipos de conjuntos dedatos válidos incluyen sas, spss y excel; paraconsultar una lista completa, utilice la opción -help.

Además de estas opciones de línea de comandos, qsdescribestat acepta las opciones comunes atodos los comandos de creación de datos [consulte Opciones estándar de la línea de comandos enla 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

qshtmlunpackSinopsis qshtmlunpack <informe archivado> <directorio de salida> [<nombre dearchivo HTML>]

Descripción: descomprimir un informe generado por Portrait Miner como archivo .qshtml o .qsxmlycrear el directorio de salida especificado que contenga los componentes del informe. En el caso de uninforme HTML archivado, el archivo HTML (dentro del directorio de salida) recibe de manerapredeterminada el nombre qsreport.html.

Argumentos opcionales

Portrait Miner 7.1108

qshtmlunpack

EfectoOpción

Utilizar este nombre de archivo para el archivoHTML en un informe HTML sin descomprimir, enlugar de qsreport.html.

Al descomprimir un informe XML archivado,qshtmlunpack ignora este argumento.

<nombre de archivo HTML>

Con Portrait Miner puede acceder a la mayoría de las funciones de qshtmlunpack a travésde la opción del botón secundario del mouse Descomprimir a carpeta.

Nota:

Ejemplo

Descomprimir el archivo RetailCustApril.qshtml como Perfil y Auditoría HTMLRetailCustApril.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, qsscsnapshotSinopsis{qsdtsnapshot -input <árbol de decisión> | qsscsnapshot -input <cuadro demando>} [-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 | -htmlimagesnone]

{qsdtsnapshot -input <árbol de decisión> | qsscsnapshot -input <cuadro demando>}

-generate XML

-output <informe XML archivado>

[-focus <enfoque> [-subfocus<subenfoque>]]

[-audit modeled | -audit all | -audit none]

109Guía de referencia del comando de creación de datos y TML

Capítulo 8: Comandos para elaborar informes

[-overwrite]

[-htmlimages largepng | -htmlimages smallpng | -htmlimages svg | -htmlimagesnone]

{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 | -htmlimagesnone]

Descripción: crear una foto de modelo del árbol de decisión especificado (archivo .qsdt) o cuadro demando (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 (empaquetadoen un archivo .qsxml), y luego, a partir de este archivo intermedio, crea el informe con formato HTMLterminado (empaquetado en un archivo .qshtml).

Opcionalmente puede crear solamente el archivo intermedio .qsxml o el archivo .qshtml a partir deun archivo .qshtml o .qsxml preexistente.

Para descomprimir archivos .qshtml y .qsxml, visualizarlos o reutilizarlos fuera de Portrait Miner,utilice qshtmlunpack.

Argumentos opcionales

EfectoOpción

Audita todos los campos del enfoque.-audit all

Audita los campos utilizados en el modelo (lospredeterminados si no especifica una opción de-audit).

-audit modeled

No audita ningún campo.-audit none

Incluye el contenido de este archivo de texto comodescripción del modelo en la sección "Metadatosprovistos por el usuario" del informe.

-description <archivo de texto>

Informe del modelo según se lo aplica en elenfoque especificado, en lugar de en el enfoqueutilizado para crear el modelo.

-focus <enfoque>

Crea un informe HTML a partir de un informe XMLo HTML.

-generate HTML

Portrait Miner 7.1110

qsdtsnapshot, qsscsnapshot

EfectoOpción

Crea un informe HTML directamente(predeterminado si usted no especifica una opción-generate).

-generate Full

Crea un informe XML .-generate XML

Incluye imágenes PNG de mapa de bits y SVGoptimizadas para imprimir y para ver en pantalla.

-htmlimages largepng

No incluye ninguna imagen.-htmlimages none

Incluye imágenes PNG de mapa de bits y SVGoptimizadas para pantalla (predeterminado si ustedno especifica una opción -htmlimages).

-htmlimages smallpng

Incluye solamente imágenes SVG.-htmlimages svg

Sobrescribe cualquier informe preexistente.

De lo contrario, si ya hay un informe con el mismonombre, qsdtsnapshot/qsscsnapshot emiteuna advertencia y no hace nada más.

-overwrite

Usar el subenfoque especificado del enfoque.-subfocus <subenfoque>

Además de estas opciones de líneas de comandos, qsdtsnapshot y qsscsnapshot aceptan laopció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 elmodelo.

• Las opciones adicionales de formato de informes están disponibles a través de las preferenciasde auditorías y fotos (consultar la Ayuda de Portrait Miner).

• Con Portrait Miner, puede acceder a la mayoría de las funciones de qsdtsnapshot yqsscsnapshot a través de la caja de diálogo Foto de árbol de decisión o ScorecardSnapshot. .

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 lugarde 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

111Guía de referencia del comando de creación de datos y TML

Capítulo 8: Comandos para elaborar informes

XML en Portrait Miner en la página 342

qsaudit en la página 102

qssettings en la página 102

qsxtSinopsis 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 entradaestándar) al enfoque especificado para crear una nueva tabulación cruzada (por defecto a una salidaestándar).

Argumentos opcionales

EfectoOpción

Cuando sea pertinente, utilice rangos de la parteresultante de la tabulación cruzada proporcionadaen lugar de rangos de la parte de especificación.

-comparable

Incluir el contenido de este archivo de texto comouna descripción de la tabulación cruzada.

-description <archivo de texto>

Cree este archivo de tabulación cruzada en lugarde escribir la salida estándar.

-output <archivo de tabulacióncruzada>

Utilice este archivo de tabulación cruzada en lugarde leer desde la entrada estándar.

-spec <archivo de tabulación cruzada>

Usar el subenfoque especificado del enfoque.-subfocus <subenfoque>

Además de estas opciones de línea de comando, qsxt acepta las opciones comunes de todos loscomandos de creación de datos [consulte Opciones estándar de la línea de comandos en la página21].

Nota: • En la tabulación cruzada de salida, qsxt crea rangos de cada campo mediante el uso de unade las siguientes opciones (en orden de preferencia decreciente): un rango para el campo dela especificación de tabulación cruzada proporcionada (o la parte resultante si se utiliza laopción -comparable); un rango para el campo del enfoque proporcionado; los parámetrosde rango predeterminados, según lo configurado por las preferencias de rango (consulte laAyuda de Portrait Miner).

• Al utilizar Portrait Miner, puede acceder a la mayoría de las funciones de qsxt mediante elcuadro de diálogo Aplicar tabulación cruzada. .

Portrait Miner 7.1112

qsxt

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.qstvpara crear el resultado ageGenderMay-binbyApril.qstv:qsxt -comparable -focus RetailCustMay.ftr -spec ageGenderApril.qstv-output ageGenderMay-binbyApril.qstv

También consulteEspecificación de tabulación cruzada para qsxt en la página 353

qsinfoSinopsis 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 elenfoque 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 quedependen del de origen y aquellos de los que depende este último). Por defecto, debe escribir el informeen la salida estándar en un formato de archivo basado en XML.

Argumentos opcionales

EfectoOpción

Crear el informe en formato HTML.-generate HTML

Crear el informe en un formato de archivo basadoen XML (el predeterminado si no se especifica unaopción -generate).

-generate XML

Escribe el informe en el archivo especificado, enlugar de la salida estándar.

-output <archivo de informe>

Además de estas opciones de línea de comandos, qsinfo acepta las opciones comunes a todos loscomandos de creación de datos [consulte Opciones estándar de la línea de comandos en la página21].

Nota: • Un enfoque se almacena en el disco como un archivo .ftr (el "archivo de enfoque") juntocon una colección de archivos de datos y otros en dos carpetas; sus nombres finalizan con.rdx ("Raw Data eXtract") y .xtr ("eXTRa").

113Guía de referencia del comando de creación de datos y TML

Capítulo 8: Comandos para elaborar informes

Un nuevo enfoque que se crea al copiar un enfoque existente [consulte qscopy en la página94] o al importar datos de otro tipo de base de datos es independiente de otros enfoques. Porotro lado, un enfoque que se guarda desde Decision Studio con un nombre nuevo, o uno quese crea al hacer una copia enlazada [consultar qslink en la página 95] es dependiente de lascarpetas de datos que pertenecen a otros enfoques.

• Al utilizar Portrait Miner, se puede acceder a la mayoría de las funcionalidades de qsinfoa través del cuadro de diálogo Mostrar propiedades de enfoque .

Ejemplo

Crear un nuevo informe de propiedades de enfoque HTML RetailCustApril.html, del enfoqueRetailCustApril.ftr:qsinfo -input RetailAprilAnalysis.ftr -generate HTML-output RetailAprilAnalysis.html

También consulteXML en Portrait Miner en la página 342

qsdescribelicenseSinopsis qsdescribelicense

[-input <archivo de licencia>]

[-output <archivo de informe>]

Descripción: muestra un informe sobre la licencia instalada de Portrait Miner en formato de textoplano.

Argumentos opcionales

EfectoOpción

Realiza un informe sobre el archivo de licenciaespecificado en lugar de un archivo sobre lalicencia instalada.

-input <archivo de licencia>

Escribe el informe en el archivo especificado, enlugar de la salida estándar.

-output <archivo de informe>

Además de estas opciones de línea de comando, qsdescribelicense acepta las opciones comunesde todos los comandos de creación de datos [consulte Opciones estándar de la línea de comandosen la página 21].

El informe puede incluir los siguientes componentes:Nota:

• 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

Portrait Miner 7.1114

qsdescribelicense

• 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 fechasde validez

Ejemplo

Muestra las claves de licencia del archivo de licencia actual de Portrait Miner:qsdescribelicense

115Guía de referencia del comando de creación de datos y TML

Capítulo 8: Comandos para elaborar informes

Capítulo 9Comandos para construirmodelos

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

Acerca del Asistente de scorecardEl Asistente de scorecard automatiza el modelado de scorecards utilizando metodología de mejoresprácticas: crea rangos optimizados, luego reducción variable y finalmente crea una secuencia de modelosen datos de prueba y capacitación para establecer el mejor "tamaño de modelo". La metodología demodelado consta de las siguientes etapas.

Metodología de prueba/capacitación Metodología de prueba/capacitación Una parte de los datos deorigen se usa para capacitación y otra parte para pruebas: esta división puede generarse aleatoriamenteo utilizando un campo indicador binario designado.

Rango optimizado Creación de rangos optimizados Los datos de capacitación se usan para seleccionarrangos para cada candidato de análisis que maximiza su poder predictivo univariante comparado conel objetivo.

En el caso de los campos no categóricos, se utiliza el asistente de rangos optimizados de forma iterativapara 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 valorobjetivo promedio como función de cada candidato de análisis sea relativamente "parejo", sin demasiadosaltos y bajos.

Para campos categóricos, se combinan las categorías donde el valor objetivo promedio no essignificativamente 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 delnúmero total de categorías, c, que aparecen para el campo. Así, todas las categorías que tienen el nivelde confianza están combinadas (con un importante umbral configurable).

Durante esta fase, los campos con una correlación sospechosamente alta al objetivo se excluyen defuturos análisis (con un mensaje de advertencia). También se emite una advertencia para los camposen los que cualquiera de los rangos individuales contiene un número pequeño de registros. Ambosumbrales son configurables.

Reducción variable: La fase de reducción variable reduce el grupo de candidatos a análisis (predictoresindependientes) de aquellos inicialmente marcados como un grupo más pequeño de n, a fin de disminuirel 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 demando (mediante el uso de datos de capacitación) en cada grupo, lo que elimina los peores camposmediante una exclusión gradual hasta que queden los mejores campos n del grupo. Repitiendo esteprocedimiento 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 equilibramejor la complejidad (número de predictores) con la generalización (medida por el rendimiento delconjunto de prueba). Los datos de capacitación se usan para crear una secuencia de n scorecards. Elprimero 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 conun criterio configurable. En el paso final, se reajustan los coeficientes de ponderación del modeloseleccionado, basándose en todos los datos (es decir, tanto los datos de prueba como los de capacitación)

Portrait Miner 7.1118

Acerca del Asistente de scorecard

a fin de mejorar la precisión. Si se desea pueden guardarse todos los modelos interinos junto con elmodelo 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 ylos enlaces al registro de ejecución detallado. Esto incluye una tabla de datos de rendimiento quepuede 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 datosintermedios que contienen la metadata generada por la metodología hasta ese momento. Estos amenudo resultan útiles para tener un informe detallado y explorar las decisiones que se tomarondurante el proceso.

También consulte

qsscorecardwizard en la página 119

qsscorecardwizardSinopsis qsscorecardwizard <archivo de parámetros>

Descripción: Crear un cuadro de mando en un enfoque específico utilizando un archivo de parámetros.

También se puede acceder a la funcionalidad del comando de creación de datosqsscorecardwizard mediante el cuadro de diálogo Asistente de Scorecard de PortraitMiner.

Nota:

Parámetros de modelado: el proceso de modelado realizado por qsscorecardwizard está controladopor el archivo de parámetros que se especifica como argumento de línea de comando. Por ejemplo, enel caso de un archivo denominado parameters.ini que contenga:[globals]inputFocus=D:/Data/DirectBank/DirectBank.ftrobjectiveField=CardVisaxmlReport=D:/Data/DirectBank/DirectBank.xml[variable reduction]maxVariables=5[model development]finalModel=D:/Data/DirectBank/DirectBank_auto.qsscfinalFocus=D:/Data/DirectBank/DirectBank_auto_3rightsized.ftr

el siguiente comandoqsscorecardwizard parameters.ini

crearía un modelo de cuadro de mando DirectBank_auto.qssc junto con un nuevo enfoqueDirectBank_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:

119Guía de referencia del comando de creación de datos y TML

Capítulo 9: Comandos para construir modelos

• Cada sección se indica con un título de sección encerrado entre corchetes, p. ej., [globals]. Acontinuació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 elvalor 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 elespacio 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 elsitio o por usuario, pero siempre son anulados por los parámetros especificados en el archivo .ini dela 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 directoriode 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]

DescripciónDefault(Predeterminada)

Parámetro

La ubicación del enfoque de entrada.(obligatorio)inputFocus

El nombre del campo objetivo. Obligatorio a menos que elenfoque contenga una interpretación de objetivo. Si está

(ninguno)objectiveField

establecida, esta configuración anula cualquier interpretaciónde enfoque.

Una lista separada por comas de los campos de candidatospara análisis. Si está establecido, se ignora cualquierinterpretación de candidato para análisis del enfoque.

(ninguno)useFields

Una lista de campos separada por comas para excluir de lalista de candidatos para análisis.

(ninguno)ignoreFields

El campo para utilizar como el indicador de capacitación deprueba. El campo debe ser un campo numérico binario en el

(ninguno)testTrainingField

que 1 indica datos de capacitación y 0 indica prueba. Si noestá establecido, se generará automáticamente una división.

Portrait Miner 7.1120

qsscorecardwizard

DescripciónDefault(Predeterminada)

Parámetro

La proporción de registros (entre 0 y 1) para seleccionar parala capacitación, excepto que testTrainingField estéespecificado.

0.5trainingProportion

La semilla aleatoria que se utilizará. Si no está establecida,se generará automáticamente una semilla aleatoria. Se puede

(ninguno)randomSeed

replicar una ejecución anterior al utilizar la semilla informadapor esa ejecución (en la sección "parameters").

Establecer en verdadero (true) para obtener informaciónadicional de diagnóstico en el registro de consola. Este detalle

falseverbose

adicional siempre está registrado en el registro de archivos;consulte logFile.

La ubicación para registrar el progreso de la ejecución. Si nose especifica lo contrario, el registro se crea en

(automático)logFile

<params>-<YYYY-mm-dd-HH-MM-SS>.log al lado delarchivo de parámetros <params>.ini especificado en lalínea de comandos. (Cuando se ejecuta a través de PortraitMiner, el registro se crea en<pmhome>/shared/logs/qsscorecardwizard-<user>-<YYYY-mm-dd-HH-MM-SS>.log.)

La ubicación para crear el informe de resumen XML. De formapredeterminada, el informe se guarda en

(automático)xmlReport

<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]

DescripciónDefault (Predeterminada)Parámetro

Establecer en falso para saltearlos rangos optimizados.

truedoOptimizedBinning

La cantidad mínima de registrosque debe aparecer en un rango

0minBinSize

que no es nulo durante lacreación de rangos optimizadosde campos no categóricos.Cualquier rango (incluidos losrangos nulos y categóricos) quetenga menos registros activaráuna advertencia en el informefinal.

La cantidad máxima de rangosque se deben crear para los

20maxBins

campos no categóricos. La

121Guía de referencia del comando de creación de datos y TML

Capítulo 9: Comandos para construir modelos

DescripciónDefault (Predeterminada)Parámetro

cantidad seleccionada de rangospodría ser menor, según larestricción de "punto de ajuste"(consulte la siguiente sección).

La cantidad máxima de cambiosde signo en la diferencia de la

2maxTurningPoints

media del campo objetivo entrerangos consecutivos (se excluyenlos rangos nulos sin clasificar).Un valor de 0 hace que el rangofinal sea monótono en la mediadel campo objetivo. Un valor demaxBins (o mayor) elimina estarestricción. En general, un valorde 1 ó 2 es razonable.

El porcentaje Gini (o R^2)máximo "creíble". Los campos

95maxQuality

con poder predictivo por encimade este umbral serán excluidosde los análisis posteriores. Tengaen cuenta que este control serealiza siempre (incluso cuandola creación de rangosoptimizados está desactivada),excepto que se especifique unvalor de 100.

El nivel de importancia quedetermina si un rango categórico

0.001pValue

tiene un índice de respuestasignificativamente diferente a lapoblación general. El valor estáespecificado en una escala de 0a 1, en general cerca de 0. Tengaen cuenta que también se aplicala corrección de Bonferroni.

La ubicación donde se guarda elenfoque provisorio después de la

(ninguno)binnedFocus

creación de rangos optimizados,si se desea.

Parámetros de la sección [variable reduction]

Portrait Miner 7.1122

qsscorecardwizard

DescripciónDefault (Predeterminada)Parámetro

Establecer en falso para saltearla reducción de la variable (y usar

truedoVariableReduction

todos los candidatos para análisisen la etapa de ajuste del modeloal tamaño correcto).

La cantidad máxima decandidatos para análisis que se

100maxVariables

permitirán en el modelo final (engeneral entre 20 y 100).

La ubicación donde se guarda elenfoque provisorio después de la

(ninguno)reducedFocus

reducción de la variable, si sedesea.

Parámetros de la sección [model development]

DescripciónDefault (Predeterminada)Parámetro

Establecer en falso para saltearel ajuste del modelo al tamañocorrecto.

truedoModelDevelopment

Especifica el tipo de modelo paralos fines de etiquetado. Los

respuestamodelType

valores válidos son: response,risk, churn,satisfaction,dissatisfaction.

Especifica si los modelos decuadro de mando deben tener

logísticaregressionMethod

regresión logística o unaaproximación lineal (másrápida).

Especifica la estimación deparámetros del nivel campo o

camporegressionLevel

rango en el cuadro de mando.La ponderación del nivel rangopuede ser más exacta en losdatos de capacitación, pero esmás probable que tenga unsobreajuste en los datos deprueba.

Especifica el criterio de ajuste altamaño correcto utilizado para

minrightSizeCriteria

123Guía de referencia del comando de creación de datos y TML

Capítulo 9: Comandos para construir modelos

DescripciónDefault (Predeterminada)Parámetro

elegir la mejor cantidad decampos. Los valores válidos son:BIC, que significa criterio deinformación bayesiano, AIC, quesignifica criterio de informaciónde Akaike (en general es másdébil que el valor BIC ya quepermite más campos), delta,que significa la disminución dedevoluciones de la medición decalidad en lo que respecta a losresultados binarios (consulteminQualityIncreasePct acontinuación), min o max, quesignifica el mínimo (o máximo) detodos los criterios recomendados(excluido el valor delta en elcaso continuo).

Este es el parámetro utilizado porel formulario delta de

0.5minQualityIncreasePct

rightSizeCriteria: el modelorecomendado es el que tienemayor cantidad de campos, deforma tal que el peor campoagregue al menos la cantidadespecificada en el porcentaje deprueba-conjunto Gini (o R^2).

Establecer en verdadero paraguardar modelos intermedios

falsesaveIntermediateModels

como archivos .qssc y .qmml;de lo contrario, solo se guardarála recomendación final.

Especificar el nombre del campode predicción para el modelo

(automático)predictionField

final. Si no está establecido, seutiliza un nombre de campo únicoen base al tipo de modelo, p. ej.,scorecardwizard__response.

La ubicación donde se guardaráel enfoque que contiene los

(ninguno)finalFocus

candidatos para análisis finalesy el modelo recomendado, si selo desea.

Portrait Miner 7.1124

qsscorecardwizard

DescripciónDefault (Predeterminada)Parámetro

El directorio raíz para guardar elarchivo de modelo de cuadro de

(ninguno)finalModel

mando final (tanto en formato.qssc como .qmml), si se lodesea.

Si se especifica tantofinalModel comofinalFocus

truerunModelSnapshot

y la opción es verdadera, se creauna Foto de modelo (archivo.qshtml) junto con los archivosfinalModel.

También consulteAcerca del Asistente de scorecard en la página 118

qsdecisiontreeSinopsis qsdecisiontree -input <enfoque de origen> [-subfocus<subenfoque>]

-build <decision-tree build specification> -result <decision-tree buildreport> [-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ónen el enfoque especificado y un nuevo informe de creación de árbol de decisión (que contengaestadísticas de árbol de decisión, un resultado de predicción de árbol de decisión y una tabulacióncruzada de calibración) en un formato de archivo basado en XML.

Argumentos opcionales

EfectoOpción

Consulte la La opción de línea de comandos-force en la página 24.

-force

Crear este enfoque, que contenga un campoderivado adicional que aplique el nuevo resultado

-output <enfoque de destino>

de predicción de árbol de decisión en el enfoquede entrada.

Usar el subenfoque especificado del enfoque.-subfocus <subenfoque>

Además de estas opciones de línea de comando, qsdecisiontree acepta las opciones comunes de todoslos comandos de creación de datos [consulte Opciones estándar de la línea de comandos en lapágina 21].

125Guía de referencia del comando de creación de datos y TML

Capítulo 9: Comandos para construir modelos

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óndecisiontree-report.xml, y cree un nuevo enfoque RetailCustAprilPredictedAge.ftrque 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

qsscorecardSinopsis 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 enfoqueespecificado 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 dearchivos basado en XML.

Argumentos opcionales

EfectoOpción

Consulte la La opción de línea de comandos-force en la página 24.

-force

Crear este enfoque, que contenga un campoderivado adicional que aplique el nuevo resultado

-output <enfoque de destino>

Portrait Miner 7.1126

qsscorecard

EfectoOpción

de predicción de scorecard en el enfoque deentrada.

Usar el subenfoque especificado del enfoque.-subfocus <subenfoque>

Además de estas opciones de línea de comando, qsscorecard acepta las opciones comunes de todoslos comandos de creación de datos [consulte Opciones estándar de la línea de comandos en lapá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 lossiguientes 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 mandoscorecard-report.xml, y crear un nuevo enfoque RetailCustAprilPredictedAge.ftr, quecontenga 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

127Guía de referencia del comando de creación de datos y TML

Capítulo 9: Comandos para construir modelos

Acerca del Asistente para reglas de asociaciónEl 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 clientesdetalladas 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 oservicios; por ejemplo, es más probable que los clientes de bancos abran una cuenta de inversión/decré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óncomercial 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 contratransacciones o datos de eventos almacenados en un conjunto de datos de enfoque, que se beneficiadel 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 quecontenga un registro por elemento. El conjunto de datos debe contener un identificador de cesta queagrupe a los elementos en la misma cesta, así como un campo identificador de producto (ordenadopor rangos y categórico) que indique el nombre de producto o el código de cada elemento. El conjuntode 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 productoo servicio. El conjunto de datos debe contener un identificador de cesta, con frecuencia, el identificadorde 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 losproductos. 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 apriori que es estándar en la industria y que incluye una amplia gama de funcionalidades para controlarel descubrimiento de reglas.

El descubrimiento de reglas se puede restringir a productos de interés particulares, y se pueden controlardiversos parámetros que definen lo que es una regla interesante (soporte, nivel de confianza, complejidadde la regla, medidas de selección de reglas ampliadas). Observe que estas configuraciones puedentener 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 reglamáxima (cantidad de antecedentes).

Términos el Asistente para reglas de asociación usa una variedad de términos que, tal vez, no le resultenfamiliares, entre otros:

Regla: en general, una regla afirma que si se cumple con un conjunto de condiciones (el lado izquierdoo el antecedente de la regla), entonces, se producirá otra condición (el lado derecho o el consecuentede la regla). En las reglas de asociación o secuencia, las condiciones de la regla corresponden a lapresencia 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.

Portrait Miner 7.1128

Acerca del Asistente para reglas de asociación

Antecedent: el lado izquierdo de una regla, es decir, el conjunto de elementos que deben aparecer enla cesta para que la regla sea relevante.

Consequent: el lado derecho de una regla, es decir, el conjunto de elementos que la regla predice queestará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 contienentodos los elementos del conjunto. El soporte relativo es la misma cantidad expresada como un porcentajede 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 decestas a la que se aplica el lado izquierdo de la regla. Esto mide la frecuencia con la que la regla esrelevante.

Fiabilidad de la regla: el nivel de confianza de una regla es el soporte del conjunto de todos loselementos que aparecen en la regla (a la izquierda o a la derecha), dividido por el soporte del antecedentede la regla. Mide la probabilidad de que el consecuente de la regla (lado derecho) sea verdadero si secumple 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 confianzaposteriores y anteriores (con y sin los elementos del antecedente). Mide cuán mayor (o menor) es laprobabilidad del consecuente de una regla cuando el lado izquierdo de la regla es verdadero. Porejemplo, la regla "si pan, entonces mermelada" no es muy interesante si su nivel de confianza es similara la regla "si (cualquier elemento), entonces mermelada".

Valor de mejora: la proporción de las medidas del nivel de confianza posteriores y anteriores (con ysin 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 defiltrar reglas interesantes.

• Un nuevo conjunto de datos clasificado que crea un conjunto de datos total (un registro por identificadorde 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.

qsruleminerSinopsisqsruleminer -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 comienzancon # o que no tienen un signo igual (=) se ignoran. (Tenga en cuenta que no se permiten comentariosa 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 medidaadicional con al menos tres elementos y como máximo 10, con una fiabilidad mínima de 20%, un soportemínimo de 5% y una mejora mínima de 25%:

129Guía de referencia del comando de creación de datos y TML

Capítulo 9: Comandos para construir modelos

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

DescripciónDefault (Predeterminada)Parámetro

La ubicación del enfoque deentrada.

(obligatorio)focus

Especifica la tarea dedescubrimiento. Los valores

(obligatorio)task

válidos son: segment, marketbasket, next product

Especifica un campo clave oclave compuesta (una lista de

(obligatorio)key fields

campos separados por comas)que define una cesta. El conjuntode datos de entrada debe estarordenado con respecto a la clave.

Especifica el identificador delcampo de producto. El campo

(obligatorio)product field

debe tener rangos y sercategórico. Cada rango define unproducto por separado (para quese pueda usar una jerarquía derangos categóricos para trabajaren diferentes niveles de detalleen los mismos datos de productosubyacentes). Las clavescompuestas no son compatibles.

Lista de elementos separada porcomas que restringe los

(ninguno)rhs

elementos que pueden apareceren la parte derecha (elconsecuente) de la regla. Tengaen cuenta que no se permiteningún espacio en blancoexcedente; las etiquetas itemA,itemB e itemC deben coincidirexactamente con las etiquetas derango correspondientes delcampo de producto.

Portrait Miner 7.1130

qsruleminer

DescripciónDefault (Predeterminada)Parámetro

(solo tarea del siguiente producto)Especifica el campo a utilizar

(ninguno)timestamp field

como marca de hora para cadaelemento. Debe ser de tipo fechao entero. No se admiten lasclaves compuestas de marca dehora.

(solo tarea de segmentos)Especifica una lista de campos

(ninguno)segment fields

separados por comas para utilizaren la tarea de descubrimiento desegmentos. Las etiquetas derango de los camposespecificados corresponderán alos elementos de la tarea dedescubrimiento.

Pasa todo lo posterior al signoigual directamente al algoritmoapriori.

(ninguno)options

Las opciones de soporte apriori incluyen (también consultehttp://www.borgelt.net/doc/apriori/apriori.html#options):

DescripciónOpción

Descubre reglas de asociación-tr

Valor de soporte mínimo (valor predeterminado:10%)

-s<#>

Valor de soporte máximo: positive: percentage;negative: absolute number (valor predeterminado:100%)

-S<#>

Valor de fiabilidad mínimo (valor predeterminado:80%)

-c<#>

Cantidad mínima de elementos por regla (valorpredeterminado: 1)

-m<#>

Cantidad máxima de elementos por regla (valorpredeterminado: sin límite)

-n<#>

No utiliza una medida de evaluación de reglaadicional

-ex

Valor mínimo para la medida de evaluación deregla adicional (valor predeterminado: 10%).

-d<#>

131Guía de referencia del comando de creación de datos y TML

Capítulo 9: Comandos para construir modelos

DescripciónOpción

Para especificar la medida de evaluación de regla adicional:

Fiabilidad de la regla-ec

Diferencia de fiabilidad absoluta con el anterior-ed

Valor de mejora-el

Diferencia del valor de mejora con 1-ea

Diferencia del cociente de mejora con 1-eq

Convicción-ev

Diferencia de convicción con 1-ee

Diferencia del cociente de convicción con 1-er

Factor de certeza-ef

Medida de Chi cuadrado normalizado-en

Medida de valor de P desde Chi cuadrado-ep

Diferencia de información con el anterior-ei

Valor de P desde el estadístico G-eg

Registro binario del cociente de soporte-eb

Portrait Miner 7.1132

qsruleminer

Capítulo 10Comandos para trabajar conarchivos QMML

En esta sección:

• qsqmmlview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .134• qsqmmledit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .134• qslt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .137• qsqmml2sas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .139• qsqmml2sql . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .139• qsqsfmtosas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .140

qsqmmlviewSinopsis 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 unXML perfectamente formateado (la opción -prettyprint). Muestra información de resumen paratodos los conjuntos de reglas del archivo (la opción -rulesets) o muestra información detallada deun 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 opcionescomunes a todos los comandos de creación de datos [consulte Opciones estándar de la línea decomandos en la página 21].

Nota: • Si se especifica la opción -rulesets o -ruleset y el archivo QMML no tiene la formaqmml: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 elnombre especificado, se produce un error en qsqmmlview.

• Para obtener información sobre las reglas y los conjuntos de reglas QMML, consulte Lenguajede marcado de metadata Quadstone.

Ejemplos

Verificar cuál de los conjuntos de reglas (si hay alguno) del documento de reglas QMML model.qmmlestá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

qsqmmleditSinopsis qsqmmledit -input <archivo QMML de origen> [-output <archivo QMML dedestino>]

-addrule <archivo de reglas>

Portrait Miner 7.1134

qsqmmlview

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 deorigen>

[-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 unade 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 laforma qmml:rules o ya contiene una regla con el mismo nombre que alguna de las reglas del archivode 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 conel 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 reglascon 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 elcomando -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 seutilice la opción -s, en cuyo caso se produce un error). Si el archivo QMML de origen tiene la formaqmml:rules, qsqmmledit intenta analizar todas las reglas no analizadas. Si no se puede analizar

135Guía de referencia del comando de creación de datos y TML

Capítulo 10: Comandos para trabajar con archivos QMML

una regla, qsqmmledit envía un mensaje de advertencia y continúa con la siguiente regla (exceptoque 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 previopara la implementación).

Si el archivo QMML no tiene la forma qmml:rules, qsqmmledit no hace nada (excepto que seutilice la opción -s, en cuyo caso se produce un error). Si no se analiza una regla, se produce unerror en qsqmmledit.

• Marcar todos los conjuntos de reglas como activos (listos para la implementación) o marcar un conjuntode 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 conel nombre especificado o no se compila el conjunto de reglas especificado, se produce un error enqsqmmledit.

Argumentos opcionales

EfectoOpción

Marca cada conjunto de reglas como activo, amedida que se compilan.

-l

En lugar de modificar el archivo QMML de origen,crea el archivo QMML de destino especificado y leaplica los cambios solicitados.

-output <archivo QMML de destino>

Trata el archivo rigurosamente, deshabilitando losconjuntos de reglas vacíos. Cuando se lo utiliza

-s

con la opción -parse, se produce un error si elarchivo QMML de origen no tiene la formaqmml:rules o si no se puede analizar cualquierregla no analizada del archivo de origen. Cuandose lo utiliza con la opción -compile, se produceun error si el archivo QMML de origen no tiene laforma qmml:rules.

Además de estas opciones de línea de comando, qsqmmledit acepta las opciones comunes de todoslos comandos de creación de datos [consulte Opciones estándar de la línea de comandos en lapágina 21].

Nota: • Para obtener información sobre las reglas y los conjuntos de reglas QMML, consulte Lenguajede 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 QMMLmodel.qmml:qsqmmledit -input model.qmml -addrule model.xfdl

Portrait Miner 7.1136

qsqmmledit

Asignar una regla Outcome del documento de reglas QMML model.qmml a un nuevo conjunto dereglas OutcomeRules:qsqmmledit -input model.qmml-addruleset OutcomeRules Outcome

Implementar el documento de reglas QMML model.qmml al analizar todos los FDL insertados, compilartodos los conjuntos de reglas y marcar el conjunto de reglas OutcomeRules como activo:qsqmmledit -input model.qmml -parseqsqmmledit -input model.qmml -compileqsqmmledit -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

qsltSinopsis 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 unformato 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 dedestino de las extensiones del nombre de archivo (si las hay) y de los contenidos del archivo. Luegointenta buscar y aplicar una transformación que coincida con estos tipos. Si no existe ningunatransformación o existe más de una transformación posible, el comando no hace nada, excepto emitirun 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) haciaqmml: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 deintercambio QMML FDL)

• Desde qmml:rules (formato de reglas QMML) hacia fdd (formato de descripción de datos planos)

137Guía de referencia del comando de creación de datos y TML

Capítulo 10: Comandos para trabajar con archivos QMML

La transformación estándar restante es la transformación denominada prettyprint, que transformaXML arbitrario en XML perfectamente formateado (con saltos de línea y sangrías). Solo se lo puedeelegir al utilizar la opción -transform.

Argumentos opcionales

EfectoOpción

Escribe los datos transformados en este archivode destino (al sobrescribir cualquier archivoexistente con el mismo nombre).

-output <archivo de destino>

Escribe los datos transformados en la salidaestándar (la opción predeterminada si no seespecifica la opción -output).

-output -

Considera solo las transformaciones que coincidancon este tipo de origen (al anular un tipo de origen

-source <tipo de origen>

deducido, si lo hay). Se debe especificar estaopción si qslt está leyendo desde una entradaestándar.

Ubica la transformación solicitada en este archivo,ignorando las transformaciones estándar y

-spec <archivo de especificación>

cualquier personalización que se aplique a todo elsistema o esté especificada por el usuario.

Considera solo las transformaciones que coincidancon este tipo de destino (al anular un tipo de

-target <tipo de destino>

destino deducido, si lo hay). Se debe especificaresta opción si qslt está escribiendo en una salidaestándar.

Utiliza la transformación denominada en lugar deseleccionar una transformación según los tipos deorigen y de destino.

-transform <transformación denominada>

Además de estas opciones de línea de comando, qslt acepta las opciones comunes a todos loscomandos de creación de datos [consulte Opciones estándar de la línea de comandos en la página21].

Nota: • Al convertir entre el tipo fdl y el tipo QMML, las instrucciones create TML corresponden aderivaciones de campos denominados en QMML, mientras que las expresiones FDL simplescorresponden 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. Lastransformaciones 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

Portrait Miner 7.1138

qslt

Transformar la metadata de campos representada por el archivo FDD model.fdd en un documentode reglas QMML "vacío" model.qmml (que describa un conjunto de campos, pero que no contenganinguna regla), al utilizar una transformación especificada por el usuario descrita en el archivoext/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, alescribir el resultado en el archivo model.xfdl:qslt -source fdl -target qmml:x-fdl -input model.fdl-output model.xfdl

También consulteXML en Portrait Miner en la página 342 qsqmmledit en la página 134

qsqmml2sasSinopsis qsqmml2sas <archivo QMML>

Descripción: Convierte un archivo QMML en un archivo SAS que tiene una instrucción SASindependiente 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

qsqmml2sqlSinopsis 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 archivoQMML en un archivo SQL que tenga una instrucción de SQL SELECT independiente para cada derivaciónde campo.

Argumentos opcionales

139Guía de referencia del comando de creación de datos y TML

Capítulo 10: Comandos para trabajar con archivos QMML

EfectoOpción

Convierte solo los campos derivados.<campo> [, <campo> ... ]

Nota: • El comando es experimental.• Se puede acceder a la mayoría de las funciones del comando de creación de datosqsqmml2sql 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 Microsofty utilizar prod.customer como la tabla de origen para cualquier puntaje.qsqmml2sas model.qmml "MS SQL Server" prod.customer

qsqsfmtosasSinopsis qsqsfmtosas <archivo de metadata>

Descripción: Convierte derivaciones de un archivo de metadata en un archivo SAS que tiene unainstrucció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 datosqsqsfmtosas mediante el cuadro de diálogo Convertir a SAS de Portrait Miner.

Ejemplo

Convertir metadata.qsfm en metadata.sas:qsqsfmtosas metadata.qsfm

Portrait Miner 7.1140

qsqsfmtosas

Capítulo 11Otros comandos

En esta sección:

• qsmapgen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .142

qsmapgenSinopsis 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 denombre de archivo .hrc), crea una representación de las jerarquías categóricas apropiadas para suuso en Decision Studio Visor de Mapa, con una región que corresponda a cada categoría. Crea unmapa o mapas en el directorio especificado, al utilizar el nombre de mapa especificado como la basepara los nombres de archivos.

Argumentos opcionales

EfectoOpción

Habilita nuevos archivos de mapa mediante lasopciones -name y -output para sobrescribir losarchivos existentes.

Sin la opción -overwrite, si alguno de losarchivos de mapa por crear ya existe, el comandono hace nada (excepto emitir una advertencia).

-overwrite

Crea una jerarquía de mapas apropiada paradesglosar en el Visor de mapa de Decision Studio,

-style radial_drill

con el mapa del nivel superior (mostradoinicialmente) basado en el rango de granularidadmás gruesa de cada jerarquía de rangoscategóricos (esta es la opción predeterminada sino se especifica la opción -style).

Crea un mapa independiente para cada nivel delas jerarquías de rangos categóricos, para que un

-style radial_layers

usuario de Decision Studio pueda elegir el gradode borrosidad con el que se visualizarán loscampos en el Visor de mapa, aunque sin la opciónde desglosar.

Además de estas opciones de línea de comando, qsmapgen acepta las opciones comunes de todoslos comandos de creación de datos [consulte Opciones estándar de la línea de comandos en lapágina 21].

Nota:

• Si un archivo de jerarquía categórica no especifica una jerarquía correcta, se produce un error enqsmapgen.

Portrait Miner 7.1142

qsmapgen

• No se debe usar un valor de campo en más de un archivo de jerarquía categórica. Si se hace, elcomportamiento 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 deun nivel del mismo archivo, qsmapgen agrega uno o más sufijos a los nombres de región para asegurarque cada nombre sea único.

• En el caso de un mapa elaborado mediante -style radial_drill (o sin la opción -styleespecificada), el mapa del nivel superior consta de los archivos .mif y .mid, denominados con elnombre del mapa especificado. Los mapas detallados en el siguiente nivel de detalle se encuentranen el siguiente subdirectorio. Los mapas del nivel subsiguiente de detalle (si los hay) se encuentranen 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 correspondeal nivel de la jerarquía.

• Al utilizar Portrait Miner, se puede acceder a la mayoría de las funciones de qsmapgen mediantedel cuadro de diálogo Crear mapa de categorías. .

Ejemplos: dado el archivo de jerarquía categórica Referrer.hrc, que contiene los siguienteselementos:

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, enun 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 indicanregiones en las que se puede desglosar hasta el siguiente nivel):

143Guía de referencia del comando de creación de datos y TML

Capítulo 11: Otros comandos

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 yclickthru_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:

Portrait Miner 7.1144

qsmapgen

y el mapa clickthru_layer_2.mif tiene las siguientes regiones:

145Guía de referencia del comando de creación de datos y TML

Capítulo 11: Otros comandos

Capítulo 12Lenguaje de medición detransacciones

En esta sección:

• Acerca de Transaction Measurement Language . . . . . .148• Sintaxis de TML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .148• Palabras reservadas en TML . . . . . . . . . . . . . . . . . . . . . .149

Acerca de Transaction Measurement LanguageTransaction Measurement Language (TML) es una recopilación de envolturas sintácticas livianasalrededor de expresiones FDL, que se utiliza para especificar derivaciones y agregaciones de campojunto con los asistentes Derivar campos y Agregar registros asistentes, y los comandos de creaciónde 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 TMLUn archivo de derivaciones, rastreos, selecciones o agregaciones incluye una o más instruccionescreate de TML, mientras que un archivo de estadísticas incluye una o más instrucciones calculatede 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 deSTATISTIC.

• Los nombres de todas las funciones de agregación [consulte Funciones de agregación paramediciones 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"), incluirsolamente letras, dígitos y guión bajo ("_") y no tener más de 128 caracteres; como opción puedenestar entre comillas simples, por ejemplo, 'CustomerID'. Debe encerrar el nombre de un campo oestadística en comillas simples si coincide con una palabra reservada de TML o FDL, o si es diferentede 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 delferrocarril lleva a TML de sintaxis válida (aunque no necesariamente significativo):

Portrait Miner 7.1148

Acerca de Transaction Measurement Language

• 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 entreelementos sintácticos (en cuadros con forma de óvalo/circulares en diagramas de ferrocarriles) sinafectar la interpretación de un archivo de derivaciones, rastreos, selecciones, agregaciones oestadísticas.

• Además de introducir espacios entre elementos sintácticos, puede incluir comentarios, que comienzancon 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 unapalabra 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 TMLLos 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 palabrareservada, como un nombre de campo o estadística en TML o como un identificador [consulteExpressions (Expresiones) en la página 186] en FDL, debe encerrarla con comillas simples, por ejemplo,'Date'.

También consulte

149Guía de referencia del comando de creación de datos y TML

Capítulo 12: Lenguaje de medición de transacciones

Acerca de Transaction Measurement Language en la página 148

Palabras reservadas en FDL en la página 206

Portrait Miner 7.1150

Palabras reservadas en TML

Capítulo 13Instrucciones 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

Definición de campos: la instrucción createLa instrucción create define un campo por derivación o agregación, según el contexto en el queaparece.

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 incluirinstrucciones create de la siguiente forma:

El archivo de agregaciones para qsmeasure o la ventana Agregar registros equivalente puede comoopció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ónFDL [consulte la sección Expressions (Expresiones) en la página 186]. El tipo de datos del campo esel tipo de datos de la expresión, a menos que los sobrescriba especificando un tipo compatible [consultela 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 Derivarcampos deriva un campo en el enfoque de salida utilizando la expresión dada, que puede hacerreferencia a campos en el enfoque de origen y a campos derivados más temprano en el archivo dederivaciones.

• Para cada instrucción create sucesiva en el archivo de rastreos, qstrack deriva un campo utilizandola expresión dada, que puede hacer referencia a campos en el enfoque de origen y a campos derivadosmás temprano en el archivo de rastreos, así como también a estadísticas de enfoque definidas encualquier archivo de estadísticas. La expresión comúnmente implica variables de estado [consulte lasección Variables en la página 190].

• Dado un archivo de selecciones, qsselect deriva un campo correspondiente de forma predeterminadacon la primera instrucción create e ignora cualquier otra instrucción en el archivo. La expresión dedefinición debe ser de tipo booleano (o compatible).

• Para cada instrucción create sucesiva de esta forma en el archivo de agregaciones, qsmeasure ola 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 aestadí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 campono aparece en el enfoque de salida. No obstante, aún puede hacer referencia al campo temporaryen las expresiones siguientes del archivo de agregaciones.

Agregaciones El archivo de agregaciones para qsmeasure o la ventana Agregar registros equivalentepuede incluir instrucciones create de la siguiente forma:

Portrait Miner 7.1152

Definición de campos: la instrucción create

Para cada instrucción create de esta forma en el archivo de agregaciones, qsmeasure o la ventanaAgregar registros deriva eficazmente un campo virtual correspondiente a la expresión siguiendo lafunció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 deagregación [consulte la sección Uso de funciones de agregación y las cláusulas where y defaulten 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 sobrescribirloespecificando un tipo compatible.

Una instrucción temporary tiene el mismo efecto que la instrucción create, excepto que el campono aparece en el enfoque de salida. No obstante, aún puede hacer referencia al campo temporary enlas expresiones siguientes del archivo de agregaciones.

Nota: • En qsderive los archivos de derivaciones Derivar campos, archivos de seleccionesqsselect y archivos de rastreos qstrack, la expresión puede implicar estadísticas decampos, variables globales y funciones definidas en función de estos. Estas funciones FDLno 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 ouna palabra reservada TML [consulte la sección Palabras reservadas en TML en la página149].

• 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 monthscreate CustMonths := countwholemonths(StartDate, today());// A key field of extended lengthcreate CustomerID_24 : string(24) := CustomerID;

Aplicar estas derivaciones al enfoque RetailCustApril.ftr para crear un nuevo enfoqueRetailCustAprilDeriv.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;

153Guía de referencia del comando de creación de datos y TML

Capítulo 13: Instrucciones TML

Aplicar esta selección al enfoque RetailCustApril.ftr para crear un nuevo enfoqueRetailCustAprilSelection.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 alcliente 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áusulaswhere 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ónde campos: la instrucción create en la página 152], qsmeasure o la ventana Agregar registrosequivalente deriva eficazmente un campo virtual que corresponde a la expresión entre paréntesis quesigue a la función de agregación.

Conceptualmente, qsmeasure o la ventana Agregar registros divide los registros en el enfoque deorigen (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 laventana Agregar registros aplica la función de agregación a los valores del campo virtual dentro deestos registros para producir un único valor de resultado.

Portrait Miner 7.1154

Uso de funciones de agregación y las cláusulas where y default

Los valores de resultado de todos los grupos en conjunto constituyen un nuevo campo, con el nombredeterminado 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 deagregación ignoran los registros para los que el campo virtual incluye null [consulte la sección El valornull en la página 184].

Si la instrucción create incluye una cláusula where, la función de agregación ignora registros paralos que la expresión asociada se evalúa en 0 ("false"). Esta expresión puede hacer referencia a camposen el enfoque de origen.

Dado que las funciones de agregación pueden ignorar algunos de los registros en un grupo con un valorde campo clave, es posible que se omitan todos los registros en el grupo. Muchas funciones deagregación regresan el valor null en este caso. Al incluir una cláusula default, puede especificar unaexpresión constante que se evaluará en lugar de la agregación en el caso de que devuelva el valor null.

Cuando utiliza la función sum de agregación [consulte la sección sum (un argumento) en lapágina 179], comúnmente debe especificar una suma predeterminada de 0. Si no utiliza una

Nota:

cláusula default, la suma de una selección vacía de registros es null, lo probablemente noserá lo que desea.

Ejemplos Dado el archivo de agregaciones, aggregations-purchaseSummary.tml, que incluyelo siguiente:create firstPurchaseDate := first(PurchaseDate);create commonPaymentMethod := mode(PaymentMethod);create Spend := sum(Amount) default 0;create 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 alcliente RetailAggSummaryApril:qsmeasure -aggregations aggregations-purchaseSummary.tml-input RetailTransAprilSorted.ftr -output RetailAggSummaryApril-keys CustomerID

155Guía de referencia del comando de creación de datos y TML

Capítulo 13: Instrucciones TML

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 byEl archivo de agregaciones para qsmeasure o la ventana Agregar registros equivalente incluye unasecuencia de instrucciones create [consulte Definición de campos: la instrucción create en lapágina 152]. Como parte de una instrucción create, también puede incluir una cláusula by para desglosarsu agregación de acuerdo con la aplicación de una función de división o la función bin a una expresiónderivada de otros campos.

Para cada posible entero i devuelto por la función de división o función bin, qsmeasure o la ventanaAgregar registros crea un campo separado, que incluye valores agregados de solo estos registrospara 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 utilizadapara la división de la agregación.

• Están disponibles las siguientes funciones de división incorporadas (con sufijos de nombres de campodeterminados que corresponden a sucesivos valores de la función):

Sufijos de nombres de camposFunción

"_1," "_2," "_3," ..., "_31"day

"Sun," "Mon," "Tue," ..., "Sat"dayofweek

"0000," "0100," "0200" ..., "2300"hour

"NonNull," "Null"isnull

"MisMatch," "Match"match

"NotMember," "Member"member

"0," "1," "2," ..., "59"minute

"Jan," "Feb," "Mar," ..., "Dec"month

"0," "1," "2," ..., "59"second

"Negative," "Zero," "Positive"sgn

"NotMember," "Member"strmember

"_1," "_2," "_3," ..., "_53"weekofyear

• Puede utilizar la función bin para aplicar un rango FDL a una expresión. Si se utiliza como una funciónde 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).

Portrait Miner 7.1156

División de agregaciones: la cláusula by

• También puede definir su propia función de división [consulte la sección Funciones definidas porel usuario en la página 192]. El atributo element_names define los sufijos de nombres de camposcorrespondientes a los valores de devolución de la función.

Ejemplos Dado el archivo de agregaciones, aggregations-builtinSplit.tml, que incluye losiguiente: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 alcliente 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() bybin(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 alcliente, RetailRangeSplitsApril.ftr, que incluye campos CustomerID,numberPurchasesAmountBand_1, numberPurchasesAmountBand_2, ...,numberPurchasesAmountBand_6, numberPurchasesAmountBand_null,numberPurchasesAmountBand_other (correspondiente a dos rangos finales, cuatro rangos internosy 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 -outputRetailRangeSplitsApril.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;

}

157Guía de referencia del comando de creación de datos y TML

Capítulo 13: Instrucciones TML

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 alcliente, 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: lainstrucción de calcular

El archivo de estadística para qsmeasure, la ventana Agregar registros equivalente o qstrackcontienen instrucciones calculate del siguiente tipo:

La instrucción calculate define una estadística de enfoque llamada nombre en términos de unafunción de agregación aplicada a una expresión FDL [consulte Expressions (Expresiones) en la página186], 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áusulaswhere y default en la página 154], qsmeasure, qstrack o la ventana Agregar registros derivaefectivamente un campo virtual que corresponde a la expresión entre paréntesis que sigue a la funciónde agregación.

La instrucción calculate genera un único valor de resultado, que se obtiene aplicando la función deagregación a todos los valores en el campo virtual. (Por el contrario, la instrucción create en un archivo

Portrait Miner 7.1158

Evaluación del enfoque de estadísticas: la instrucción de calcular

de agregaciones genera un campo en el que cada valor se obtiene aplicando la función de agregacióna 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 losvalores, los operadores y las funciones involucradas en la expresión a la que este se aplica, pero se lopuede 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 registrospara los que la expresión asociada evalúa a 0 ("falso"). Esta expresión puede hacer referencia a camposen el enfoque de origen.

Una vez que se ha definido una estadística de enfoque en el archivo de estadística, se puede remitir aella en las expresiones del archivo de agregaciones o del archivo seguidor mediante la forma especialSTATISTIC.nombre. Se puede usar esta forma siempre que se desee remitirse a un campo en elarchivo 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 alcliente RetailAprilBigSpenders.ftr que contenga los campos CustomerID, averageSpend ybigSpender: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

159Guía de referencia del comando de creación de datos y TML

Capítulo 13: Instrucciones TML

Capítulo 14Funciones de agregación

En esta sección:

• Funciones de agregación para mediciones yderivaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .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

Funciones de agregación para mediciones yderivaciones

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 [consulteUso de funciones de agregación y las cláusulas where y default en la página 154] o archivo deestadísticas [consulte Evaluación del enfoque de estadísticas: la instrucción de calcular en lapágina 158] para qsmeasure o la ventana equivalente Agregar registros, o en un archivo de estadísticaspara qstrack.

Utilizar una función en un contexto de derivación significa utilizarla en una derivación de Decision, enel archivo de derivaciones para qsderive o la ventana equivalente Derivar campos, en el archivo derastreadores 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 úniconumérico, de cadena o de fecha como un argumento.

Funciones de agregación para mediciones y derivaciones Puede utilizar las siguientes funcionesde agregación tanto en contextos de medición como en aquellos de derivación:

ResultadoFunción

Cantidad de registros en el grupo/segmento

(Esta función no toma un argumento)

count

El valor no nulo máximo del campo para elgrupo/segmento

(En un contexto de derivación, esta función noacepta como argumento una expresión con valoresen cadena).

max [consulte la sección max (un argumento) enla página 171]

La media (promedio común) de los valores no nulosdel campo para el grupo/segmento

(Esta función requiere como argumento unaexpresión numérica).

mean [consulte la sección mean (un argumento)en la página 172]

El valor no nulo mínimo del campo para elgrupo/segmento

(En un contexto de derivación, esta función noacepta como argumento una expresión con valoresen cadena).

min [consulte la sección min (un argumento) enla página 173]

Portrait Miner 7.1162

Funciones de agregación para mediciones y derivaciones

ResultadoFunción

La desviación estándar de los valores no nulos delcampo para el grupo/segmento

(Esta función requiere como argumento unaexpresión numérica).

stdev

La suma de los valores no nulos del campo parael grupo/segmento

(Esta función requiere como argumento unaexpresión numérica).

sum [consulte la sección sum (un argumento) enla página 179]

La varianza de los valores no nulos del campo parael grupo/segmento

(Esta función requiere como argumento unaexpresión numérica).

variance

Funciones de agregación solo para mediciones Puede utilizar las siguientes funciones de agregaciónsolamente en un contexto de medición:

ResultadoFunción

Un valor no nulo en el campo, extraído de unregistro no nulo arbitrario en el grupo/segmento

any

Límite inferior de un intervalo de confianza del 95%para la media de un campo del grupo

confintlower

Límite superior de un intervalo de confianza del95% para la media de un campo del grupo

confintupper

Cantidad de registros en el grupo para los cualesel campo tiene valores no nulos [consulte lasección El valor null en la página 184]

En las derivaciones, en cambio, utilicecountnonnulls.

countnonnull [consulte la seccióncountnonnull/countnonnulls en la página 167]

Cantidad de registros en el grupo para los cualesel campo contiene valore nulos [consulte la sección

countnull [consulte la seccióncountnull/countnulls en la página 168]

El valor null en la página 184] En las derivaciones,en cambio, utilice countnulls.

Cantidad de valores únicos que se dan en elcampo, posiblemente incluido el valor nulo

countunique

Cantidad de valores únicos, sin incluir el valor nulo,que se dan en el campo

countuniquenonnull

El primer valor no nulo mínimo del campo para elgrupo

first

163Guía de referencia del comando de creación de datos y TML

Capítulo 14: Funciones de agregación

ResultadoFunción

Último valor no nulo mínimo del campo para elgrupo

last

Mediana (valor medio) de los valores no nulos delcampo para el grupo

(Esta función requiere como argumento unaexpresión numérica o con valores de cadena).

median

Modo (valor más común) de los valores no nulosdel campo para el grupo

mode

Proporción de registros no nulos en el grupo quecontienen los valores no nulos más comunes delcampo

moderatio

Funciones de agregación solo para derivaciones Puede utilizar las siguientes funciones de agregaciónsolamente en un contexto de derivación:

ResultadoFunción

Cantidad de registros en el segmento para el cualel campo tiene valores no nulos [consulte lasección El valor null en la página 184]

En las mediciones, en cambio, utilice countnonnull.

countnonnulls [consulte la seccióncountnonnull/countnonnulls en la página 167]

Cantidad de registros en el segmento para el cualel campo incluye valores nulos [consulte la secciónEl valor null en la página 184]

En las mediciones, en cambio, utilice countnull.

countnulls [consulte la seccióncountnull/countnulls en la página 168]

Cantidad de registros en el segmento, comoporcentaje de la cantidad total de registros

(Esta función no toma un argumento)

percentage

Porcentaje de registros no nulos en el segmentoque contienen el valor 1 en el campo

El campo solo debe contener los valores 0 y 1.

percentagerate

Número positivo que identifica de manera única elsegmento que se encuentra dentro de la tabulacióncruzada formada por los campos de desglose

(Esta función no toma un argumento)

segindex

Significancia estadística de cualquier discrepanciaentre el valor medio del campo en el segmento y

significance

el valor medio del campo para toda la población,

Portrait Miner 7.1164

Funciones de agregación para mediciones y derivaciones

ResultadoFunción

con un signo que indica la dirección de ladesviación

(Esta función requiere como argumento unaexpresión numérica).

anyObjetivo: Tomar arbitrariamente un valor no nulo de un campo (posiblemente por grupo o por segmento).

Sintaxis any(x)

Argumentos

DescripciónNombreTipo

El campo del que se elige unvalor

xentero, real, fecha, o cadena

Resultado

DescripciónTipo

Un valor arbitrario no nulo del campo x(posiblemente por grupo o por segmento)

como entrada

No puede utilizar esta función en una derivación de Decision Studio, ni en el archivo dederivaciones de qsderive ni en la ventana Derivar campos equivalente, ni en el archivo derastreo de qstrack, ni en un archivo de selecciones de qsselect.

Nota:

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

confintlowerObjetivo: Calcular el límite inferior un intervalo de confianza de 95% para la media de un campo.

Sintaxis confintlower(x)

Argumentos

165Guía de referencia del comando de creación de datos y TML

Capítulo 14: Funciones de agregación

DescripciónNombreTipo

El campo que debe considerarsexnumérico

Resultado

DescripciónTipo

El límite inferior de un intervalo dentro del cual seespera que la media de la población del segmento

real

para el campo x entre dentro de un 95% deconfianza

No puede utilizar esta función en una derivación de Decision Studio, ni en el archivo dederivaciones de qsderive ni en la ventana Derivar campos equivalente, ni en el archivo derastreo de qstrack, ni en un archivo de selecciones de qsselect.

Nota:

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

confintupperObjetivo: Calcular el límite superior un intervalo de confianza de 95% para la media de un campo.

Sintaxis confintupper(x)

Argumentos

DescripciónNombreTipo

El campo que debe considerarsexnumérico

Resultado

DescripciónTipo

El límite superior de un intervalo dentro del cual seespera que la media de la población del segmento

real

para el campo x entre dentro de un 95% deconfianza

No puede utilizar esta función en una derivación de Decision Studio, ni en el archivo dederivaciones de qsderive ni en la ventana Derivar campos equivalente, ni en el archivo derastreo de qstrack, ni en un archivo de selecciones de qsselect.

Nota:

Portrait Miner 7.1166

confintupper

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

countObjetivo: Recuento del número de registros (posiblemente por grupo o segmento).

Sintaxis count()

Argumentos Ninguno

Resultado

DescripciónTipo

El número de registros (posiblemente por grupo osegmento).

entero

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/countnonnullsObjetivo: Recuento del número de registros para los cuales un campo tiene valores no-nulos(posiblemente por grupo o segmento).

Sintaxis countnonnull(x)

Argumentos

DescripciónNombreTipo

El campo que debe considerarsexentero, real, fecha, o cadena

Resultado

167Guía de referencia del comando de creación de datos y TML

Capítulo 14: Funciones de agregación

DescripciónTipo

El número de registros para los cuales el campox tiene valores no nulos (posiblemente por grupoo segmento).

entero

En tabulaciones cruzadas de Decision Studio y en un contexto de medidas [consulte Funcionesde agregación para mediciones y derivaciones en la página 162] esta función escountnonnull, mientras que en un contexto de derivaciones es countnonnulls.

Nota:

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/countnullsObjetivo: Recuento del número de registros para los cuales un campo contiene el valor nulo(posiblemente por grupo o segmento).

Sintaxis countnull(x)

Argumentos

DescripciónNombreTipo

El campo que debe considerarsexentero, real, fecha, o cadena

Resultado

DescripciónTipo

El número de registros para los cuales el campox es nulo (posiblemente por grupo o segmento).

entero

En tabulaciones cruzadas de Decision Studio y en un contexto de medidas [consulte Funcionesde 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.

Nota:

También consulte

Funciones de agregación para mediciones y derivaciones en la página 162

count en la página 167

Portrait Miner 7.1168

countnull/countnulls

countnonnull/countnonnulls en la página 167

countunique en la página 169

countuniquenonnull en la página 169

countuniqueObjetivo: Recuento del número de valores únicos que ocurren en un campo y que incluyenpotencialmente el valor nulo (posiblemente por grupo o segmento).

Sintaxis countunique(x)

Argumentos

DescripciónNombreTipo

El campo que debe considerarsexentero, real, fecha, o cadena

Resultado

DescripciónTipo

El número de valores únicos, incluyendo nulo, queocurren en x (posiblemente por grupo o segmento).

entero

No puede utilizar esta función en una derivación de Decision Studio, ni en el archivo dederivaciones de qsderive ni en la ventana Derivar campos equivalente, ni en el archivo derastreo de qstrack, ni en un archivo de selecciones de qsselect.

Nota:

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

countuniquenonnullObjetivo: Recuento del número de valores únicos no nulos que ocurren en un campo (posiblementepor grupo o segmento).

Sintaxis countuniquenonnull(x)

169Guía de referencia del comando de creación de datos y TML

Capítulo 14: Funciones de agregación

Argumentos

DescripciónNombreTipo

El campo que debe considerarsexentero, real, fecha, o cadena

Resultado

DescripciónTipo

El número de valores únicos, excluyendo nulo, queocurren en x (posiblemente por grupo o segmento).

entero

No puede utilizar esta función en una derivación de Decision Studio, ni en el archivo dederivaciones de qsderive ni en la ventana Derivar campos equivalente, ni en el archivo derastreo de qstrack, ni en un archivo de selecciones de qsselect.

Nota:

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

firstObjetivo: Elegir el primer valor no nulo en un campo (posiblemente por grupo o segmento).

Sintaxis first(x)

Argumentos

DescripciónNombreTipo

El campo del que se elige unvalor

xentero, real, fecha, o cadena

Resultado

DescripciónTipo

El primer valor mínimo no nulo encontrado en elcampo x (posiblemente por grupo o segmento)

como entrada

Portrait Miner 7.1170

first

No puede utilizar esta función en una derivación de Decision Studio, ni en el archivo dederivaciones de qsderive ni en la ventana Derivar campos equivalente, ni en el archivo derastreo de qstrack, ni en un archivo de selecciones de qsselect.

Nota:

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

lastObjetivo: Elegir el último valor no nulo en un campo (posiblemente por grupo o segmento).

Sintaxis last(x)

Argumentos

DescripciónNombreTipo

El campo del que se elige unvalor

xentero, real, fecha, o cadena

Resultado

DescripciónTipo

El último valor no nulo encontrado en el campo x(posiblemente por grupo o segmento)

como entrada

No puede utilizar esta función en una derivación de Decision Studio, ni en el archivo dederivaciones de qsderive ni en la ventana Derivar campos equivalente, ni en el archivo derastreo de qstrack, ni en un archivo de selecciones de qsselect.

Nota:

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).

171Guía de referencia del comando de creación de datos y TML

Capítulo 14: Funciones de agregación

Sintaxis max(x)

Argumentos

DescripciónNombreTipo

El campo cuyos valores debencompararse

xentero, real, fecha, o cadena

Resultado

DescripciónTipo

El valor máximo no nulo en el campo x(posiblemente por grupo o segmento)

como entrada

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 valorde 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 porgrupo o segmento).

Sintaxis mean(x)

Argumentos

DescripciónNombreTipo

El campo cuya media debecalcularse

xnumérico

Resultado

DescripciónTipo

La media de los valores no nulos en un campo x(posiblemente por grupo o segmento)

real

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.

Nota:

Portrait Miner 7.1172

mean (un argumento)

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

medianObjetivo: Calcular la mediana (valor mediano) de los valores no nulos de un campo (posiblemente porgrupo o segmento).

Sintaxis median(x)

Argumentos

DescripciónNombreTipo

El campo cuya mediana debecalcularse

xentero, real o cadena

Resultado

DescripciónTipo

La mediana de los valores no nulos en un campox (posiblemente por grupo o segmento)

como entrada

No puede utilizar esta función en una derivación de Decision Studio, ni en el archivo dederivaciones de qsderive ni en la ventana Derivar campos equivalente, ni en el archivo derastreo de qstrack, ni en un archivo de selecciones de qsselect.

Nota:

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

173Guía de referencia del comando de creación de datos y TML

Capítulo 14: Funciones de agregación

DescripciónNombreTipo

El campo cuyos valores debencompararse

xentero, real, fecha, o cadena

Resultado

DescripciónTipo

El valor mínimo no nulo en el campo x(posiblemente por grupo o segmento)

como entrada

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 valorde 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

modeObjetivo: Calcular la moda (el valor más común) de los valores no nulos de un campo (posiblementepor grupo o segmento).

Sintaxis mode(x)

Argumentos

DescripciónNombreTipo

El campo cuya moda debecalcularse

xentero, real, fecha, o cadena

Resultado

DescripciónTipo

El modo de los valores no nulos en un campo x(posiblemente por grupo o segmento)

como entrada

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 dederivaciones de qsderive ni en la ventana Derivar campos equivalente, ni en el archivo derastreo de qstrack, ni en un archivo de selecciones de qsselect.

Portrait Miner 7.1174

mode

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

moderatioObjetivo: Calcular la proporción de registros no nulos que contienen el valor no nulo más común de uncampo (posiblemente por grupo o segmento).

Sintaxis moderatio(x)

Argumentos

DescripciónNombreTipo

El campo cuyo coeficiente demoda debe calcularse

xentero, real, fecha, o cadena

Resultado

DescripciónTipo

El coeficiente de moda del campo x (posiblementepor grupo o segmento)

real

No puede utilizar esta función en una derivación de Decision Studio, ni en el archivo dederivaciones de qsderive ni en la ventana Derivar campos equivalente, ni en el archivo derastreo de qstrack, ni en un archivo de selecciones de qsselect.

Nota:

También consulte

Funciones de agregación para mediciones y derivaciones en la página 162

mode en la página 174

percentageSintaxis percentage()

Objetivo: Calcular el número de registros en un segmento de tabulación cruzada, como porcentaje deltotal.

Argumentos Ninguno

175Guía de referencia del comando de creación de datos y TML

Capítulo 14: Funciones de agregación

Resultado

DescripciónTipo

El porcentaje de registros (posiblemente por grupoo segmento).

real

Sólo puede utilizar esta función en una derivación de Decision Studio, en el archivo dederivaciones de qsderive o en la ventana Derivar campos equivalente en el archivo de rastreoqstrack o en un archivo de selecciones de qsselect.

Nota:

También consulte

Funciones de agregación para mediciones y derivaciones en la página 162

percentagerateObjetivo: Para un campo binario (1/0), calcular la proporción de registros no nulos que contienen elvalor 1, como porcentaje.

Sintaxis percentagerate(x)

Argumentos

DescripciónNombreTipo

El campo binario que debeconsiderarse

xnumérico

Resultado

DescripciónTipo

El porcentaje de registros en un campo binario quetienen el valor 1 (posiblemente por grupo osegmento)

real

Esta función no puede usarse en archivo de agregación [consulte Uso de funciones deagregación y las cláusulas where y default en la página 154] ni en un archivo de estadísticas

Nota:

[consulte Evaluación del enfoque de estadísticas: la instrucción de calcular en la página158] para qsmeasure ni en la ventana equivalente de Agregar registros ni en un archivo deestadísticas para qstrack.

También consulte

Funciones de agregación para mediciones y derivaciones en la página 162

Portrait Miner 7.1176

percentagerate

segindexObjetivo: Generar un número de índice que represente un segmento.

Sintaxis segindex()

Argumentos Ninguno

Resultado

DescripciónTipo

Un número positivo que identifica únicamente a unsegmento dentro de una tabulación cruzada.

entero

Nota: • Si se ocultan segmentos nulos, sin clasificar o vacíos en una vista de tabulación cruzada, aúnasí 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 deagregació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ágina158] para qsmeasure ni en la ventana equivalente de Agregar registros ni en un archivo deestadí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 uncampo "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

significanceObjetivo: Calcular la significancia estadística de cualquier discrepancia entre el valor medio de uncampo para un segmento de una tabulación cruzada y el valor medio del mismo campo para toda lapoblación.

Sintaxis significance(x)

Argumentos

177Guía de referencia del comando de creación de datos y TML

Capítulo 14: Funciones de agregación

DescripciónNombreTipo

El campo que debe considerarsexnumérico

Resultado

DescripciónTipo

Un valor entre -1 and 1, cuyo signo indica ladirección en la cual la media del segmento de x

real

se desvía de la media de la población de x y cuyovalor absoluto indica la significación estadística detal desviación, teniendo en cuenta el tamaño delsegmento.

Esta función no puede usarse en archivo de agregación [consulte Uso de funciones deagregación y las cláusulas where y default en la página 154] ni en un archivo de estadísticas

Nota:

[consulte Evaluación del enfoque de estadísticas: la instrucción de calcular en la página158] para qsmeasure ni en la ventana equivalente de Agregar registros ni en un archivo deestadí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

stdevObjetivo: Calcular la desviación estándar de los valores no nulos de un campo (posiblemente por grupoo segmento).

Sintaxis stdev(x)

Argumentos

DescripciónNombreTipo

El campo cuya desviaciónestándar debe computarse

xnumérico

Resultado

DescripciónTipo

La desviación estándar de los valores no nulos enun campo x (posiblemente por grupo o segmento)

real

Portrait Miner 7.1178

stdev

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

DescripciónNombreTipo

El campo cuyos valores sesumarán

xnumérico

Resultado

DescripciónTipo

La suma de los valores no nulos en el campo x(posiblemente por grupo o segmento)

como entrada

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 deregistros (por ejemplo, como consecuencia del filtrado de registros), el resultado es null.Normalmente debería sobrescribir este comportamiento mediante la configuración del valorpredeterminado en 0.

También consulte

Funciones de agregación para mediciones y derivaciones en la página 162

varianceObjetivo: Calcular la varianza estadística de los valores no nulos de un campo (posiblemente por grupoo segmento).

Sintaxis variance(x)

Argumentos

179Guía de referencia del comando de creación de datos y TML

Capítulo 14: Funciones de agregación

DescripciónNombreTipo

El campo cuya varianza debecomputarse

xnumérico

Resultado

DescripciónTipo

La varianza de los valores no nulos en el campox (posiblemente por grupo o segmento)

real

También consulte

Funciones de agregación para mediciones y derivaciones en la página 162

Portrait Miner 7.1180

variance

Capítulo 15Lenguaje de derivación decampos

En esta sección:

• Acerca del lenguaje de derivación de campos (FDL) . .182

Acerca del lenguaje de derivación de campos (FDL)Field Derivation Language (FDL) es un lenguaje simple que permite especificar la creación de camposnuevos en enfoques de Portrait Miner. Puede utilizar FDL en Visor de Tablas en Decision Studio, losasistentes Derivar campos y Agregar registros asistentes de configuración y los comandos de creaciónde 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 Expresionesbásicas en la página 186, pero también puede utilizarlo para construir scripts con rutas de ejecucióncomplejas 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 ycompartir.

• Variables, para retener valores para volver a utilizar dentro de un script FDL, incluido (en algunoscontextos) variables del "acumulador" global [consulte la sección Variables globales en DecisionStudio 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

Portrait Miner 7.1182

Acerca del lenguaje de derivación de campos (FDL)

Capítulo 16Sintaxis 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

Tipos de datosLos siguientes tipos de datos básicos son compatibles en FDL [consulte la sección Acerca del lenguajede derivación de campos (FDL) en la página 182]:

Ejemplos (como literales deFDL)

DescripciónTipo

78004, -100Un número sin una partefraccional (entre -2 147 483 647y 2 147 483 646)

entero

42,3, -0,56Un número con una partefraccionaria, representado de

real

modo interno como un númerode "punto flotante" con precisiónde 15 dígitos (entre y

, o 0)

#2009/01/01,#2009/01/01:16:01:39

Una fecha/hora entre AD 1507 yAD 3015, con precisión de unsegundo

fecha

"hello"Una cadena de caracteres, querepresenta datos textuales

cadena

42, -1Un número pequeño sin unaparte fraccional (entre

número pequeño

qsminsmallint yqsmaxsmallint)

Nota: • Si utiliza un valor entero literal (tal como 12345678910) que es demasiado largo para un tipode datos entero, obtendrá un flujo excesivo. Con frecuencia puede trabajar con esto utilizandoen cambio un valor real: (en este caso, 12345678910.0).

• El tipo smallinteger tiene aplicabilidad limitada dentro de Portrait Miner, y solo debe utilizarsecuando sea absolutamente necesario. En general, debe utilizar el tipo integer en su lugar.

El valor nullAdemás de los valores ordinarios para cada uno de los tipos de datos básicos, un campo o expresiónde tipo integer, real, fecha o cadena puede adquirir el valor especial null. El valor nulo siempre representaun valor desconocido (a causa de datos faltantes, dado un flujo excesivo en un cálculo, tal como divisiónpor 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 operandonulo, con frecuencia proporcionando el valor nulo como resultado. No obstante, hay funciones, a saberisnull y algunas funciones de agregación, que tratan especialmente el valor nulo.

Portrait Miner 7.1184

Tipos de datos

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 consulteifnull, nvl en la página 210

Datos booleanosNo hay tipo de datos booleano formal (verdadero/falso) en FDL. Sin embargo, puede tratar un campointeger (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. Expresionescondicionales 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 integerse 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 y0, respectivamente).

Compatibilidad de tiposLos tipos de datos integer y real son compatibles con tipos, dado que puede utilizar un valor integersiempre que se requiera un valor real (pero no viceversa), por ejemplo, como un argumento para unafunció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 lapágina 195] u operador relacional [consulte la sección Operadores relacionales en la página 196] debenser compatibles con tipos. De hecho, en el caso de un operador aritmético binario, ambos operandosdeben 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 Expresionescondicionales en la página 187] deben ser compatibles con tipos, de modo que el tipo del resultadopueda determinarse antes de la evaluación. Si se combinan expresiones de valor integer y real, elresultado es un valor real.

185Guía de referencia del comando de creación de datos y TML

Capítulo 16: Sintaxis FDL

Conversión de tiposAdemás de utilizar la conversión de tipos de datos implícita (que se da cuando el tipo de datos de unaexpresión se fuerza), puede convertir explícitamente entre tipos de datos con las funciones FDL tointeger,toreal, todate y tostring.

Al convertir desde una cadena a un numérico, cualquier carácter no numérico posterior seignorará.

Nota:

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 puedeevaluarse.

Para evaluar una lista de expresiones en un contexto determinado, evalúe cada expresión constituyentepor vez, de la primera a la última; el valor de la lista de expresiones en su totalidad es el último valorcalculado.

Nota: • El tipo de datos se infiere automáticamente. No puede especificar uno diferente mediante eluso de una variable local del tipo requerido, o mediante el uso de una expresión que fuerceel 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ásicasUna expresión básica es una de las siguientes:

• Un identificador, opcionalmente citado entre comillas simples, por ejemplo, 'CustomerID'. Debeencerrar 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 reservadaTML o FDL (o es diferente de uno únicamente en fuente). Un identificador no debe tener más de 128caracteres.

• 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

Portrait Miner 7.1186

Conversión de tipos

• 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 operadoresaritmé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 operadoresrelacionales [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 conectadaspor 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 unidentificador, 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 derivacionesqsderive o un archivo de selecciones qsselect selections file>

Nota: • Los identificadores FDL distinguen entre mayúsculas y minúsculas. Por ejemplo, las expresionesCustomerID y CUSTOMERID hacen referencia a campos diferentes, mientras que lasexpresiones 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óncientífica. De lo contrario, se evalúa como número real.

• Un literal de cadena puede incluir caracteres diferentes a comillas dobles (") y caracteres delínea nueva.

• Un literal de fecha al principio se evalúa en formato YMD [consulte Formatos de fecha en lapá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 quecomiencen 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 condicionalesEn FDL, hay dos formas principales en las que puede evaluar condicionalmente una expresión: laexpresión if y la expresión case.

También consulte

Acerca del lenguaje de derivación de campos (FDL) en la página 182

187Guía de referencia del comando de creación de datos y TML

Capítulo 16: Sintaxis FDL

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 booleanosen la página 185]) es verdadero, la expresión que sigue a then se evalúa; de lo contrario, la expresiónque 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 lasecció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 ifes 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ónif como si fuera falsa. Esta es una excepción a la regla general que indica que la incertidumbreintroducida por el valor null se preserva por las expresiones FDL. Esto puede dar lugar aresultados imprevistos: por ejemplo, cuando Age es null, las siguientes expresiones (a primeravista 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 expresionesen la que la expresión que sigue a then o else es en sí misma una expresión if. Si la expresiónque 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 enla página 189].

• Si su condición se puede expresar como x = 0 (o ) para algún número X, también puedeutilizar 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"

Portrait Miner 7.1188

La expresión if

La expresión case

Si la primera condición (una expresión FDL que regresa un valor booleano [consulte la sección Datosbooleanos en la página 185]) es true, la expresión correspondiente (a la derecha de los dos puntos) seevalú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. Delo contrario, se prueba la siguiente condición y así sucesivamente.

La palabra clave default especial se interpreta como una expresión siempre true: normalmente lautilizaría como la última condición en una expresión case (dado que las condiciones subsiguientes seignorarían).

Nota: • Todas las expresiones que sucedan a la derecha de los dos puntos deben ser compatiblescon 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 laexpresió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óncase como si fuera falsa. Esta es una excepción a la regla general que indica que laincertidumbre 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 comocondición (dentro de una expresión if u otra expresión case), debe encerrarla entre paréntesispara 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;

189Guía de referencia del comando de creación de datos y TML

Capítulo 16: Sintaxis FDL

Response = "Poor": 3;

Response = "Bad": 2;

default: 1;

VariablesUna variable en FDL es una ubicación de almacenamiento temporal para un valor real, entero, string odate. Puede utilizar una variable local para evaluar una subexpresión% complicada, particularmente útilsi se da la misma subexpresión más de una vez%, o para evaluar una expresión que incluye una funciónde números aleatorios, y así evitar que su valor cambie de una evaluación a la siguiente. También puedeutilizar variables global en Decision Studio [consulte la sección Variables globales en Decision Studioen la página 191] y variables state en archivos de rastreo TML [consulte la sección Variables state enTransaction 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 (sinpalabra clave), global o state. La palabra clave global o state solo se utiliza en conjunto con laprimera 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

Portrait Miner 7.1190

Variables

( x := rndUniform() ) < 0.2 : 1;

x < 0.4 : 2;

default : 0;

No obstante, la siguiente lista de expresiones genera un resultado diferente (y probablemente nodeseado):

case

rndUniform() < 0.2 : 1;

rndUniform() < 0.4 : 2;

default : 0;

Variables globales en Decision StudioLas variables son locales por defecto. Una variable local se destruye tan pronto como se evalúe la últimaexpresión en la lista de expresiones (la más cercana al paréntesis de cierre) [consulte la secciónExpressions (Expresiones) en la página 186] — La próxima vez que se utilice la misma variable, sevolverá a inicializar. Una variable local no puede llevar información de un registro al siguiente. Porejemplo, la siguiente lista de expresiones de derivación de campos produce un campo con 1 en cadaregistro:

i := 0;

i := i + 1

Una variable global es diferente de una variable local en que no se destruye hasta que Decision Studioo el comando de creación de datos haya calculado los valores de campos para todos los registros. Lainicialización solo sucede una vez, para el primer registro en el enfoque. Por ejemplo, la siguiente listade expresiones de derivación de campos produce un campo índice, con 1 en el primer registro, 2 en elsegundo, 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ónde 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 LanguagePuede 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 qstrackhaya 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, suponiendoque el campo "Deposit" incluye una cantidad depositada en una transacción (o un valor negativo parauna extracción) y el campo "InitialBalance" incluye el saldo inicial para el cliente (quizás de una tabladel cliente unida anteriormente):

191Guía de referencia del comando de creación de datos y TML

Capítulo 16: Sintaxis FDL

create Balance := (

state bal := InitialBalance;

bal := bal + Deposit

)

Funciones definidas por el usuarioPara definir una función FDL que pueda utilizar como una función incorporada [consulte Funcionesincorporadas 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 variablelocal [consulte Variables en la página 190] que se inicia con el valor del argumento actual correspondientecuando se aplica la función. El tipo [consulte Tipos de datos en la página 184] de cada argumento formales el tipo especificado en la definición de la función, si la hay; si no, es el tipo del argumento utilizadoal 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 defunciones 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 variableslocales 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 deretorno 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

Portrait Miner 7.1192

Funciones definidas por el usuario

}

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". Porejemplo, 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 campoderivado. 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 DecisionStudio, en el panel Familia de funciones en el cuadro de diálogo Funciones de derivación del Visorde Tablas, las funciones en los archivos "clase.fdl" aparecen en la clase con el mismo nombre. Porejemplo, las funciones en un archivo llamado Conditional.fdl aparecen en la clase Conditional. Puedevolver a utilizar el nombre de una clase existente, para agregarle las funciones definidas por el usuarioque 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 Agregarregistros equivalente, o el comando de creación de datos qstrack, puede especificar un archivo quecontenga definiciones de funciones globales adicionales.

• No puede definir funciones de agregación en un contexto de medidas, es decir, en un archivo deagregaciones [consulte Uso de funciones de agregación y las cláusulas where y default en lapágina 154] o archivo de estadísticas [consulte Evaluación del enfoque de estadísticas: la instrucciónde calcular en la página 158] para qsmeasure o la ventana equivalente Agregar registros, o en unarchivo de estadísticas para qstrack.

193Guía de referencia del comando de creación de datos y TML

Capítulo 16: Sintaxis FDL

• Si la lista de expresiones finaliza con un carácter alfabético, debe estar separado del paréntesis decierre por un punto y coma o un espacio en blanco.

Atributos de funcionesPara 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 "condocumentación automática". Si se instala una función en una carpeta que aparece en la preferencia debibliotecas de derivación , la sinopsis se muestra cuando se selecciona la función en el panelFunciones del cuadro de diálogo Funciones de derivación en el Visor de tabla. Si hace clic en elbotón Details, se podrá visualizar la descripción. El texto de sinopsis debería ser corto, pero el texto dedescripció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 atributoelement_names para dividir una agregación y crear campos múltiples [consulte División deagregaciones: 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 convalores 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:

Portrait Miner 7.1194

Atributos de funciones

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éticosExcepto por el menos unario, que precede a su único operando, todos los operadores aritméticos FDLson operadores binarios infijos, es decir, están escritos entre sus dos operandos.

ResultadoOperandosOperator (Operador)

La suma de los operandosnumérico+ (adición)

El resultado de restar el segundooperando al primero

numérico- (sustracción)

El negativo del operandonumérico- (menos unario)

El producto de los operandosnumérico* (multiplicación)

El resultado (real) al dividir elprimer operando por el segundo

numérico/ (división)

El resultado (entero) al dividir elprimer operando por el segundo,ignorando cualquier resto

enterodiv (división de enteros)

El resto al dividir el primeroperando por el segundo (el

enteromod (módulo)

módulo), con el mismo signo queel primer operando, por ejemplo,9 % 7 es igual a 2, pero -9 %7 es igual a -2

Ejemplos

195Guía de referencia del comando de creación de datos y TML

Capítulo 16: Sintaxis FDL

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 desus operandos (que son compatibles según el tipo [consulte Compatibilidad de tipos en lapá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, esresultado será nulo [consulte El valor null en la página 184], ya que la división por cero noestá 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 relacionalesTodos los operadores relacionales son operadores binarios no fijos, es decir, están escritos entre susdos operandos.

ResultadoOperandosOperator (Operador)

Verdadero si el primer operandoes menor que el segundo; falso

entero, real, fecha, o cadena< (menor que)

si el primero es mayor o igual queel segundo

Verdadero si el primer operandoes menor o igual que el segundo;

entero, real, fecha, o cadena<= (menor que o igual que)

falso si el primero es mayor queel segundo

Verdadero si el primer operandoes mayor que el segundo; falso

entero, real, fecha, o cadena> (mayor que o igual que)

Portrait Miner 7.1196

Operadores relacionales

ResultadoOperandosOperator (Operador)

si el primero es menor o igual quesegundo

Verdadero si el primer operandoes mayor o igual que el segundo;

entero, real, fecha, o cadena>= (mayor que o igual que)

falso si el primero es menor queel segundo

Verdadero si los dos operandostienen el mismo valor; falso si los

entero, real, fecha, o cadena= (igualdad)

operandos tienen distintosvalores. Para tipos de cadenas,la comparación ignora loscaracteres de espacio finales enlos dos operandos.

Verdadero si los operandos tienevalores diferentes; falso si los dos

entero, real, fecha, o cadena!= (desigualdad)

operandos tiene el mismo valor.Para tipos de cadenas, lacomparación ignora loscaracteres de espacio finales enlos 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 [consulteCompatibilidad de tipos en la página 185].

197Guía de referencia del comando de creación de datos y TML

Capítulo 16: Sintaxis FDL

• 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 caracteressubyacentes). 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ógicosEl operador lógico de negación precede a su único operando, mientras que los operadores lógicos deconjunción y disyunción son operadores binarios no fijos, es decir, están escritos entre sus dos operandos.

ResultadoOperandosOperator (Operador)

Verdadero si ambos operandosson verdaderos; falso si uno delos operandos es falso

booleanand (conjunción lógica)

Verdadero si un operando esverdadero; falso si los dosoperandos son falsos

booleanor (disyunción lógica)

Verdadero si el operando esfalso; falso si el operando esverdadero

booleannot (negación lógica)

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 estosoperadores a números enteros arbitrarios.

Portrait Miner 7.1198

Operadores lógicos

• 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 operadoresFrente a la ausencia de paréntesis, las operaciones FDL en una expresión se llevan a cabo de acuerdoa la prioridad de operadores, del mayor al menor:

OperadoresClase

-Menos unario

* / div modOperadores de multiplicaciones

+ -Operadores de adición

< <= > >= != =Operadores relacionales

notNegación lógica

and orOperadores lógicos binarios

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 incorporadasFDL incluye una larga lista de funciones incorporadas.

199Guía de referencia del comando de creación de datos y TML

Capítulo 16: Sintaxis FDL

Funciones condicionales

DescripciónFunción

Limitar un número para que se mantenga dentrodel intervalo dado.

clamp

Producir uno o dos resultados, depende si laexpresión es cero o no cero.

cond

Producir uno o dos resultados, depende si laexpresión es cero o no cero.

iff

Reemplazar el valor nulo.ifnull, nvl

Comprobar si un valor es nulo o no.isnull

Marcar los registros que están seleccionados.isselected

Reemplazar un número si no está dentro de unintervalo dado.

replace

Funciones de conversión de tipo de datos

ObjetivoFunción

Convertir un valor en una fecha.todate

Convertir un valor en un entero.tointeger

Convertir un valor en un número real.toreal

Convertir un valor en una cadena.tostring

Funciones para trabajar con fechas

ObjetivoFunción

Calcular una fecha a partir de otra fecha utilizandoun sistema de compensación en siglos.

addcenturies, addcenturiescountbackwards

Calcular una fecha a partir de otra fecha utilizandoun sistema de compensación en días.

adddays

Calcular una fecha a partir de otra fecha utilizandoun sistema de compensación en horas.

addhours

Calcular una fecha a partir de otra fecha utilizandoun sistema de compensación en minutos.

addminutes

Calcular una fecha a partir de otra fecha utilizandoun sistema de compensación en meses.

addmonths, addmonthscountbackwards

Calcular una fecha a partir de otra fecha utilizandoun sistema de compensación en segundos.

addseconds

Portrait Miner 7.1200

Funciones incorporadas

ObjetivoFunción

Calcular una fecha a partir de otra fecha utilizandoun sistema de compensación en semanas.

addweeks

Calcular una fecha a partir de otra fecha utilizandoun sistema de compensación en años.

addyears, addyearscountbackwards

Calcular la cantidad de siglos entre dos fechas.countcenturies

Calcular la cantidad de días entre dos fechas.countdays

Calcular la cantidad de horas entre dos fechas.counthours

Calcular la cantidad de minutos entre dos fechas.countminutes

Calcular la cantidad de segundos entre dos fechas.countseconds

Calcular la cantidad de semanas entre dos fechas.countweeks

Calcular la cantidad de siglos enteros entre dosfechas.

countwholecenturies,countwholecenturiesbackwards

Calcular la cantidad de días enteros entre dosfechas.

countwholedays

Calcular la cantidad de horas enteras entre dosfechas.

countwholehours

Calcular la cantidad de minutos enteros entre dosfechas.

countwholeminutes

Calcular la cantidad de meses enteros entre dosfechas.

countwholemonths,countwholemonthsbackwards

Calcular la cantidad de segundos entre dos fechas.countwholeseconds

Calcular la cantidad de semanas enteras entre dosfechas.

countwholeweeks

Calcular la cantidad de años enteros entre dosfechas.

countwholeyears, countwholeyearsbackwards

Calcular la cantidad de años entre dos fechas.countyears

Obtener el día del mes de una fecha.day

Obtener un número que represente el día de lasemana de una fecha.

dayofweek

Convertir una fecha en Hora Media de Greenwich(GMT) al Horario del Este (EDT).

gmt2edt

Obtener las horas de una fecha.hour

Obtener los minutos de una fecha.minute

Obtener los meses de una fecha.month

201Guía de referencia del comando de creación de datos y TML

Capítulo 16: Sintaxis FDL

ObjetivoFunción

Obtener la fecha y la hora actuales.now

Obtener los segundos de una fecha.second

Obtener la fecha actual.today

Calcular la semana del año de una fecha, tomandouna fecha de inicio específica.

weekofyear

Obtener el año de una fecha.year

Funciones para trabajar con cadenas

ObjetivoFunción

Concatenar dos o más cadenas.concat

Probar si una cadena termina con otra.endswith

Probar si una cadena está dentro de otra.find

Devolver una subcadena de longitud específicadel inicio de una cadena.

left

Devolver una subcadena de longitud específicadel medio de una cadena.

mid

Devolver una subcadena de longitud específicadel final de una cadena.

right

Reducir las palabras a cadenas de cuatrocaracteres para un índice.

soundex

Probar si una cadena comienza con otra.startswith

Obtener la longitud de una cadena.strlen

Determinar la pertenencia a un conjunto.strmember

Reemplazar una cadena por otra.substitute

Obtener una subcadena de una cadena.substr

Convertir una cadena a minúscula.tolower

Convertir una cadena a mayúscula.toupper

Eliminar todos los espacios de una cadena detexto, excepto los espacios individuales entre laspalabras.

trim

Expresiones regulares y sus funciones asociadas

Portrait Miner 7.1202

Funciones incorporadas

ObjetivoFunción

Probar una cadena para encontrar una coincidenciade expresión regular [consulte Expresionesregulares en la página 268].

match

Reemplazar todas las subcadenas que coincidencon una expresión regular [consulte Expresionesregulares en la página 268].

replaceall

Reemplazar la primer subcadena que coincide conuna expresión regular [consulte Expresionesregulares en la página 268].

replacefirst

Funciones matemáticas y estadísticas

DescripciónTipo

Calcular el valor absoluto de un número.abs

Redondear un número para arriba al entero máscercano.

ceil

Calcular el coseno de un ángulo.cos

Calcular el exponencial de un número.exp

Redondear un número para abajo al entero máscercano.

floor

Calcular el logaritmo natural (base e) de unnúmero.

log

Calcular el logaritmo base 10 de un número.log10

Calcular el logaritmo de un número, en una baseespecífica.

logbase

Calcular el más alto de dos o más números, o lamás reciente de dos o más fechas, o la última enel alfabeto de dos o más cadenas.

max (dos o más argumentos), maxnonnull

Calcular la media (el promedio) de dos o másnúmeros.

mean (dos o más argumentos), meannonnull

Calcular el más bajo de dos o más números, o lamás lejana de dos o más fechas, o la primera enel alfabeto de dos o más cadenas.

min (dos o más argumentos), minnonnull

Normalizar los campos de valores para ubicarlosen el intervalo [0,1].

normalize

Calcular el resultado de elevar un número a lapotencia de otro número.

pow

Calcular el producto de dos o más números.product, productnonnull

203Guía de referencia del comando de creación de datos y TML

Capítulo 16: Sintaxis FDL

DescripciónTipo

Redondear un número al entero más cercano.round

Calcular el signum (signo) de un número.sgn

Calcular el seno de un ángulo.sin

Calcular la raíz cuadrada de un número.sqrt

Calcular la suma de dos o más números.sum (dos o más argumentos), sumnonnull

Calcular la tangente de un ángulo.tan

Funciones de muestreo de datos

ObjetivoFunción

Crear una segmentación de prueba y capacitaciónpara usar en una validación de modelo.

numericTestTrainSplit

Crear una segmentación de prueba, capacitacióny validación para usar en una validación de modelo.

numericTestTrainValidateSplit

Crear, al azar, un índice de segmentación para losgrupos de igual tamaño.

sampleEqualSize

Marcar, aleatoriamente, una cantidad exacta declientes de una población especificada.

sampleExactNumber

Marcar, aleatoriamente, un porcentaje exacto declientes de una población especificada.

sampleExactPercentage

Marcar, aleatoriamente, una cantidad exacta declientes de un segmento y del resto de la población.

sampleStratified

Crear una segmentación de prueba y capacitaciónpara usar en una validación de modelo.

testTrainSplit

Crear una segmentación de prueba, capacitacióny validación para usar en una validación de modelo.

testTrainValidateSplit

Funciones de números aleatorios

ObjetivoFunción

Generar un entero aleatorio basado en unadistribución binomial.

rndBinomial

Generar un 0 ó 1 de manera aleatoria (conprobabilidades iguales).

rndBool

Generar un número positivo aleatorio basado enuna distribución exponencial.

rndExp

Generar un número positivo aleatorio basado enuna distribución gamma.

rndGamma

Portrait Miner 7.1204

Funciones incorporadas

ObjetivoFunción

Generar un número positivo aleatorio basado enuna distribución normal.

rndNormal

Generar un número no negativo entero aleatoriobasado en un distribución de Poisson discreta.

rndPoisson

Generar un número aleatorio entre 0 y 1 basadoen una distribución uniforme.

rndUniform

Funciones de rentabilidad de la inversión

ObjetivoFunción

Estimar (en dinero) la contribución de rentabilidadde la inversión por cliente al tomar medidasdiseñadas para generar una respuesta definitiva.

ActionROI

Estimar el múltiplo anual de rentabilidad de lainversión por cliente al tomar medidas diseñadaspara generar una respuesta definitiva de un cliente.

ActionROIAnnualized

Estimar la contribución de rentabilidad de lainversión por cliente al hacer una oferta diseñadapara generar una respuesta definitiva.

OfferROI

Estimar el múltiplo anual de rentabilidad de lainversión por cliente al hacer una oferta diseñadapara generar una respuesta definitiva de un cliente.

OfferROIAnnualized

Estimar (en dinero) la contribución de rentabilidadde la inversión por cliente al tomar medidasdiseñadas para prevenir desgastes.

RetentionActionROI

Estimar la contribución anual de rentabilidad de lainversión por cliente al tomar medidas diseñadaspara prevenir desgastes.

RetentionActionROIAnnualized

Estimar la rentabilidad de la inversión por clienteal hacer una oferta diseñada para prevenirdesgastes.

RetentionOfferROI

Estimar la rentabilidad anual de la inversión porcliente al hacer una oferta diseñada para prevenirdesgastes.

RetentionOfferROIAnnualized

Funciones diversas

ObjetivoFunción

Buscar valores en una tabla de referencias(guardada como enfoque).

dblookup

205Guía de referencia del comando de creación de datos y TML

Capítulo 16: Sintaxis FDL

ObjetivoFunción

Determinar la pertenencia a un conjunto.member

Identificar el orden de un valor dentro de una listade valores.

rankOrder, rankOrderApprox

Identificar el orden de un valor dentro de una listade valores.

rankOrderMean, rankOrderApproxMean

Mostrar el número de cada fila en una tabla.rownum

Rangos

ObjetivoFunción

Obtener un índice de rangos correspondientes aun valor.

bin

También consulteFunciones definidas por el usuario en la página 192

Palabras reservadas en FDLLos 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 palabrareservada, como un identificador [consulte Expressions (Expresiones) en la página 186] en FDL ocomo un nombre de campo o estadística en TML, debe encerrarla con comillas simples, por ejemplo,'State'.

Si bien los identificadores en FDL distinguen mayúsculas de minúsculas (fred y Fred sondistintos), las palabras reservadas no y, por lo tanto, se reservan en cualquier combinación de

Nota:

fuente: por ejemplo, if, If, iF e IF son todas representaciones del mismo símbolo; estetipo 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

Portrait Miner 7.1206

Palabras reservadas en FDL

Capítulo 17Funciones condicionales

En esta sección:

• clamp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .208• cond . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .208• iff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .209• ifnull, nvl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .210• isnull . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .211• isselected . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .212• replace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .212

clampObjetivo: Limitar un número para que se mantenga dentro del intervalo dado.

Sintaxis clamp(x, min, max)

Argumentos

DescripciónNombreTipo

El número al que se aplicará lafunción clamp

xnumérico

El límite más bajo del intervalomincomo x

El límite más alto del intervalomaxcomo x

Resultado

DescripciónTipo

x if ; min if x < min; max if x > maxcomo entrada

Ejemplos

Para fijar valores dentro de un rango de 18 a 65 inclusive, reemplace los valores fuera del rango conlos límites adecuados del rango:

clamp(CustomerAge,18,65)CustomerAge

189

1818

6566

4343

También consultereplace en la página 212

condObjetivo: Producir uno o dos resultados, depende si la expresión es cero o no cero.

Sintaxis cond(cond, trueExpr, falseExpr)

Argumentos

Portrait Miner 7.1208

clamp

DescripciónNombreTipo

La expresión para probarcondentero

Rama "True" (no cero)trueExprentero, real, fecha, o cadena

Rama "False" (cero)falseExprcomo trueExpr

Resultado

DescripciónTipo

trueExpr Si cond 0; falseExpr Si cond = 0como trueExpr, falseExpr

A diferencia de la expresión if [consulte la sección La expresión if en la página 188] o la expresióncase [consulte la sección La expresión case en la página 189], ambas ramas se evalúan por lafunción cond.

Nota:

Más significativamente, cond preserva la incertidumbre de un valor null [consulte El valor nullen 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:

cond(SpendQtr2, "Don't Mail", "Mail")SpendQtr2

Don't Mail100.39

Mail0

Mail-5.72

nullnull

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

iffObjetivo: 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

209Guía de referencia del comando de creación de datos y TML

Capítulo 17: Funciones condicionales

DescripciónNombreTipo

La expresión para probarlogical_textreal

Rama "True" (no cero)value_if_trueentero, real, fecha, o cadena

Rama "False" (cero o null)value_if_falsecomo value_if_true

Resultado

DescripciónTipo

value_if_true si logical_text 0;value_if_false si logical_text = 0 ological_text es nulo

como value_if_true, value_if_false

Ejemplos iff(Score > 650, "Mail", "No Mail")

También consultecond en la página 208

ifnull, nvlObjetivo: Reemplazar el valor nulo. Puede utilizar nvl como alias para ifnull.

Sintaxis ifnull(testNull, replaceValue)

nvl(testNull, replaceValue)

Argumentos

DescripciónNombreTipo

El valor que será comprobadotestNullentero, real, fecha, o cadena

El reemplazo para el valor nullreplaceValuecomo testNull

Resultado

DescripciónTipo

Una copia del valor testNull con replaceValueque reemplaza el valor null

como entrada

Ejemplos:

Para reemplazar valores faltantes con un valor derivado de otro campo:

Portrait Miner 7.1210

ifnull, nvl

ifnull(SpendQtr1,AnnualSpend/4)

AnnualSpendSpendQtr1

45.21178.9745.21

37.64150.56null

196.07784.27null

59.05274.1859.05

También consulte

cond en la página 208

isnull en la página 211

isnullObjetivo: Comprobar si un valor es nulo o no.

Sintaxis isnull(x)

Argumentos

DescripciónNombreTipo

El valor que será comprobadoxentero, real, fecha, o cadena

Resultado

DescripciónTipo

1 if x es null; 0 de lo contrarioentero

Ejemplos

Para reemplazar entradas de valor null en un campo con el valor medio de ese campo:

if isnull(Age) then mean(Age) else AgeAge

3232

44null

5959

2727

También consulteDivisión de agregaciones: la cláusula by en la página 156

211Guía de referencia del comando de creación de datos y TML

Capítulo 17: Funciones condicionales

isselectedObjetivo: Marcar los registros que están seleccionados.

Sintaxis isselected()

Argumentos Ninguno

Resultado

DescripciónTipo

1 si el registro está seleccionado, de lo contrario 0entero

El Visor de tabla admite la expansión inmediata de esta función.Nota:

Ejemplos if isselected() then "LowRisk" else "HighRisk"

replaceObjetivo: Reemplazar un número si no está dentro de un intervalo dado.

Sintaxis replace(x, min, max, y)

Argumentos

DescripciónNombreTipo

El número que se probaráxnumérico

El límite más bajo del intervalomincomo x

El límite más alto del intervalomaxcomo x

El valor de reemplazoycomo x

Resultado

DescripciónTipo

x si ; y de lo contrariocomo entrada

Ejemplos

Para fijar valores dentro de un intervalo de 18 a 65 inclusive, reemplace los valores fuera del rango conel valor medio:

Portrait Miner 7.1212

isselected

replace (CustomerAge, 18, 65,mean(CustomerAge))

CustomerAge

389

1818

3866

4343

También consulteclamp en la página 208

213Guía de referencia del comando de creación de datos y TML

Capítulo 17: Funciones condicionales

Capítulo 18Funciones de conversión detipo de datos

En esta sección:

• todate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .216• tointeger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .217• toreal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .217• tostring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .218

todateObjetivo: Convertir un valor en una fecha.

Sintaxis todate(x [, format] )

Argumentos

DescripciónNombreTipo

El valor a convertirxentero, real, fecha, o cadena

El formato de fecha [consulteFormatos de fecha en la página

formatcadena

55] a utilizar para la conversión(opcional, y solo se puede elegirsi x es un tipo de cadena)

Resultado

DescripciónTipo

x, como una fechafecha

Nota: • Si el argumento es un número entero, se asume que representará la fecha en el formatoAAAAMMDD.

• Si el argumento es un número real, se asume que representará la fecha en el formatoAAAAMMDD.HHMMSS.

• Si el argumento es de tipo de secuencia, y no se proporciona un argumento de formato defecha, 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

Portrait Miner 7.1216

todate

tointegerObjetivo: Convertir un valor en un entero.

Sintaxis tointeger(x)

Argumentos

DescripciónNombreTipo

El valor a convertirxentero, real, fecha, o cadena

Resultado

DescripciónTipo

x, como un enteroentero

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

torealObjetivo: Convertir un valor en un número real.

Sintaxis toreal(x)

Argumentos

217Guía de referencia del comando de creación de datos y TML

Capítulo 18: Funciones de conversión de tipo de datos

DescripciónNombreTipo

El valor a convertirxentero, real, fecha, o cadena

Resultado

DescripciónTipo

x, como un número realreal

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

tostringObjetivo: Convertir un valor en una cadena.

Sintaxis tostring(x)

Argumentos

DescripciónNombreTipo

El valor a convertirxentero, real, fecha, o cadena

Resultado

DescripciónTipo

x, como una cadenacadena

Nota: • Si el argumento es real, el resultado será en formato decimal normal (no científico).

Portrait Miner 7.1218

tostring

• Si el argumento es de tipo de fecha, el resultado tiene el formato correspondiente a laconfiguració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

219Guía de referencia del comando de creación de datos y TML

Capítulo 18: Funciones de conversión de tipo de datos

Capítulo 19Funciones para trabajar confechas

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

• gmt2edt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .246• hour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .246• minute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .247• month . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .248• now . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .248• second . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .249• today . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .249• weekofyear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .250• year . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .251

Portrait Miner 7.1222

addcenturies, addcenturiescountbackwardsObjetivo: Calcular una fecha a partir de otra fecha utilizando un sistema de compensación en siglos.

Sintaxis addcenturies(date, n)

addcenturiescountbackwards(date, n)

Argumentos

DescripciónNombreTipo

Fecha de comienzodatefecha

La cantidad de siglos a agregar(puede ser un número negativo)

nentero

Resultado

DescripciónTipo

La fecha n agrega siglos a la fecha date (que seentiende como |n| siglos antes de date si n < 0).

La hora del resultado es la misma que la de date.

fecha

Consulte addmonths,addmonthscountbackwards en la página 226 paraleer una explicación de las dos variantes.

El resultado de agregar n años con la función addcenturies (o addcenturiescountbackwards) esel resultado de agregar 1200n meses con la función addmonths (o addmonthscountbackwards).

Nota:

Ejemplos

Para calcular una fecha un siglo más tarde que d, mostrando la diferencia entre las variantes addcenturiesy addcenturiescountbackwards (formato de fecha AMD):

addcenturiescountbackwards(d,1)addcenturies(d,1)d

2000/02/152000/02/141900/02/14

También consulte

countcenturies en la página 231

countwholecenturies, countwholecenturiesbackwards en la página 236

Formatos de fecha en la página 55

223Guía de referencia del comando de creación de datos y TML

Capítulo 19: Funciones para trabajar con fechas

adddaysObjetivo: Calcular una fecha a partir de otra fecha utilizando un sistema de compensación en días.

Sintaxis adddays(date, n)

Argumentos

DescripciónNombreTipo

Fecha de comienzodatefecha

Cantidad de días a agregar(puede ser un número negativo)

nentero

Resultado

DescripciónTipo

La fecha n agrega años a la fecha date (que seentiende como |n| días antes de date si n < 0).

La hora del resultado es la misma que la de date.

fecha

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 a03/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 a02/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

addhoursObjetivo: Calcular una fecha a partir de otra fecha utilizando un sistema de compensación en horas.

Portrait Miner 7.1224

adddays

Sintaxis addhours(date, n)

Argumentos

DescripciónNombreTipo

Fecha de comienzodatefecha

Cantidad de horas a agregar(puede ser un número negativo)

nentero

Resultado

DescripciónTipo

La fecha n agrega horas a la fecha date (que seentiende como |n| |horas antes de date si n < 0)

fecha

Todas las fechas en FDL incluyen un componente de hora.Nota:

Ejemplos

Formato de fecha europeo: addhours (#09/01/2004:12:28:53, 25) igual a10/01/2004:13:28:53.

Formato de fecha estadounidense: addhours (#01/09/2004:12:28:53, 25) igual a01/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

addminutesObjetivo: Calcular una fecha a partir de otra fecha utilizando un sistema de compensación en minutos.

Sintaxis addminutes(date, n)

Argumentos

DescripciónNombreTipo

Fecha de comienzodatefecha

Cantidad de minutos a agregar(puede ser un número negativo)

nentero

225Guía de referencia del comando de creación de datos y TML

Capítulo 19: Funciones para trabajar con fechas

Resultado

DescripciónTipo

La fecha n agrega minutos a la fecha date (quese entiende como |n| minutos antes de date sin < 0)

fecha

Todas las fechas en FDL incluyen un componente de hora.Nota:

Ejemplos

Formato de fecha europeo: addminutes (#09/01/2004:12:28:53, 25) igual a09/01/2004:12:53:53.

Formato de fecha estadounidense: addminutes (#01/09/2004:12:28:53, 25) igual a01/09/2004:12:53:53.

Formato de fecha AMD: addminutes (#2004/01/09:12:28:53, 25) igual a2004/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, addmonthscountbackwardsObjetivo: Calcular una fecha a partir de otra fecha utilizando un sistema de compensación en meses.

Sintaxis addmonths(date, n)

addmonthscountbackwards(fecha, n)

Argumentos

DescripciónNombreTipo

Fecha de comienzodatefecha

La cantidad de meses a agregar(puede ser un número negativo)

nentero

Resultado

Portrait Miner 7.1226

addmonths, addmonthscountbackwards

DescripciónTipo

La fecha n agrega meses a la fecha date (que seentiende como |n| meses antes de date si n <0).

Las partes de mes y año del resultado estándeterminadas por el desplazamiento n.

fecha

El día del mes del resultado es el mismo de lafecha date (para addmonths) o la misma cantidadde días desde el último día del mes como en lafecha date (para addmonthscountbackwards).

Si el día del mes resulta ser anterior al comienzodel mes o posterior a su finalización (porque el mesde resultado es un mes más corto que el mes dedate), 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á elmismo resultado que al agregar un mes n veces, ya que el día del mes estará limitado por unmes corto intermedio en el último caso.

• Los resultados al agregar meses con addmonths y addmonthscountbackwards puedeser diferentes si el mes de la fecha y el mes del resultado tienen una cantidad diferente dedí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):

addmonths(d,1)d

2007/09/14:00:00:002007/08/14:00:00:00

2007/09/14:12:34:562007/08/14:12:34:56

Para calcular una fecha un mes más tarde que d, mostrando la diferencia entre las variantes addcenturiesy addcenturiescountbackwards (formato de fecha AMD):

addmonthscountbackwards(d,1)addmonths(d,1)d

2007/09/132007/09/142007/08/14

Para calcular una fecha un mes más tarde que d, mostrando el comportamiento de fijación de addmonthsal final de un mes (formato de fecha AMD):

227Guía de referencia del comando de creación de datos y TML

Capítulo 19: Funciones para trabajar con fechas

addmonths(d,1)d

2007/09/302007/08/31

Para calcular una fecha un mes más tarde que d, mostrando el comportamiento de fijación deaddmonthscountbackwards al final de un mes (formato de fecha AMD):

addmonthscountbackwards(d,1)d

2007/09/012007/08/02

2007/09/012007/08/01

Para calcular los seis meses desde el día de adquisición de cada cliente utilizando el campo de fechade 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

addsecondsObjetivo: Calcular una fecha a partir de otra fecha utilizando un sistema de compensación en segundos.

Sintaxis addseconds(date, n)

Argumentos

DescripciónNombreTipo

Fecha de comienzodatefecha

Cantidad de segundos a agregar(puede ser un número negativo)

nentero

Resultado

DescripciónTipo

La fecha n agrega segundos a la fecha date (quese entiende como |n| segundos antes de datesi n < 0)

fecha

Todas las fechas en FDL incluyen un componente de hora.Nota:

Ejemplos

Portrait Miner 7.1228

addseconds

Formato de fecha europeo: addseconds (#09/01/2004:12:28:53, 25) igual a09/01/2004:12:54:18.

Formato de fecha estadounidense: addseconds (#01/09/2004:12:28:53, 25) igual a01/09/2004:12:54:18.

Formato de fecha AMD: addseconds (#2004/01/09:12:28:53, 25) igual a2004/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

addweeksObjetivo: Calcular una fecha a partir de otra fecha utilizando un sistema de compensación en semanas.

Sintaxis addweeks(date, n)

Argumentos

DescripciónNombreTipo

Fecha de comienzodatefecha

Cantidad de semanas a agregar(puede ser un número negativo)

nentero

Resultado

DescripciónTipo

La fecha n agrega semanas a la fecha date (quese entiende como |n| semanas antes de date sin < 0)

La hora del resultado es la misma que la de date.

fecha

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

229Guía de referencia del comando de creación de datos y TML

Capítulo 19: Funciones para trabajar con fechas

countwholeweeks en la página 242

Formatos de fecha en la página 55

addyears, addyearscountbackwardsObjetivo: 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

DescripciónNombreTipo

Fecha de comienzodatefecha

Cantidad de años a agregar(puede ser un número negativo)

nentero

Resultado

DescripciónTipo

La fecha n agrega años a la fecha date (que seentiende como |n| años antes de date si n < 0).

La hora del resultado es la misma que la de date.

fecha

Consulte addmonths,addmonthscountbackwards en la página 226 paraleer una explicación de las dos variantes.

El resultado de agregar n años con la función addyears (o addyearscountbackwards) es elresultado de agregar 12n meses con la función addmonths (o addmonthscountbackwards).

Nota:

Ejemplos

Para calcular una fecha un año más tarde que d, mostrar la diferencia entre las variantes addyears yaddyearscountbackwards (formato de fecha AMD):

addyearscountbackwards(d,1)addyears(d,1)d

2008/02/152008/02/142007/02/14

Para calcular el primer aniversario de la adquisición de cada cliente, utilizando el campo de fecha deadquisición del cliente StartDate:

addyears(StartDate, 1)

También consulte

Portrait Miner 7.1230

addyears, addyearscountbackwards

countwholeyears, countwholeyearsbackwards en la página 243

countyears en la página 244

Formatos de fecha en la página 55

countcenturiesObjetivo: Calcular la cantidad de siglos entre dos fechas.

Sintaxis countcenturies(date1, date2)

Argumentos

DescripciónNombreTipo

la primera fechadate1fecha

la segunda fechadate2fecha

Resultado

DescripciónTipo

El período entre date1 y date2 en siglos (unnúmero negativo si date1 es posterior a date2)

real

Nota: • Si el período no es un múltiplo exacto de 100 años (teniendo en cuenta las partes de hora enlas fechas) el resultado incluye una parte fraccionaria.

• El resultado de la función countcenturies es igual al resultado de la función countyears divididopor 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

countdaysObjetivo: Calcular la cantidad de días entre dos fechas.

231Guía de referencia del comando de creación de datos y TML

Capítulo 19: Funciones para trabajar con fechas

Sintaxis countdays(date1, date2)

Argumentos

DescripciónNombreTipo

la primera fechadate1fecha

la segunda fechadate2fecha

Resultado

DescripciónTipo

El período entre date1 y date2 en días (unnúmero negativo si date1 es posterior a date2)

real

Si la hora entre las dos fechas difiere, el resultado incluye una parte fraccionaria.Nota:

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

counthoursObjetivo: Calcular la cantidad de horas entre dos fechas.

Portrait Miner 7.1232

counthours

Sintaxis counthours(time1, time2)

Argumentos

DescripciónNombreTipo

la primera fecha/horatime1fecha

la segunda fecha/horatime2fecha

Resultado

DescripciónTipo

El período entre time1 y time2 en horas (unnúmero negativo si time1 es posterior a time2)

real

Si los minutos o segundos entre las dos fechas difieren, el resultado incluye una parte fraccionaria.Nota:

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) iguala 25.

También consulte

countwholehours en la página 238

Formatos de fecha en la página 55

countminutesObjetivo: Calcular la cantidad de minutos entre dos fechas.

Sintaxis countminutes(time1, time2)

Argumentos

DescripciónNombreTipo

la primera fecha/horatime1fecha

la segunda fecha/horatime2fecha

Resultado

233Guía de referencia del comando de creación de datos y TML

Capítulo 19: Funciones para trabajar con fechas

DescripciónTipo

El período entre time1 y time2 en minutos (unnúmero negativo si time1 es posterior a time2)

real

Si los segundos entre las dos fechas difieren, el resultado incluye una parte fraccionaria.Nota:

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

countsecondsObjetivo Contar la cantidad de segundos entre dos fechas.

Sintaxis countseconds(time1, time2)

Argumentos

DescripciónNombreTipo

la primera fecha/horatime1fecha

la segunda fecha/horatime2fecha

Resultado

DescripciónTipo

La cantidad de segundos transcurridos entretime1 y time2 (un número negativo si time1 esposterior a time2)

real

La única diferencia entre esta función y countwholeseconds es que el resultado de la últimaes un número entero.

Nota:

Ejemplos

Portrait Miner 7.1234

countseconds

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 consulteFormatos de fecha en la página 55

countweeksObjetivo: Calcular la cantidad de semanas entre dos fechas.

Sintaxis countweeks(date1, date2)

Argumentos

DescripciónNombreTipo

la primera fechadate1fecha

la segunda fechadate2fecha

Resultado

DescripciónTipo

El período entre date1 y date2 en semanas (unnúmero negativo si date1 es posterior a date2)

real

Si el período no es un múltiplo de 7 días (teniendo en cuenta la hora) el resultado incluye unaparte fraccionaria.

Nota:

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

235Guía de referencia del comando de creación de datos y TML

Capítulo 19: Funciones para trabajar con fechas

countwholecenturies,countwholecenturiesbackwards

Objetivo: Calcular la cantidad de siglos enteros entre dos fechas.

Sintaxis countwholecenturies(date1, date2) countwholecenturiesbackwards(date1,date2)

Argumentos

DescripciónNombreTipo

la primera fechadate1fecha

la segunda fechadate2fecha

Resultado

DescripciónTipo

La cantidad de siglos enteros transcurridos entredate1 y date2 (un número negativo si date1 esposterior a date2).

Consulte countwholemonths,countwholemonthsbackwards en la página 239para leer una explicación de las dos variantes.

entero

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 ycountwholecenturiesbackwards 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 por400.

Ejemplos

Para contar la cantidad de siglos enteros entre d1 y d2, mostrando la diferencia entre las variantescountwholecenturies y countwholecenturiesbackwards (formato de fecha AMD):

countwholecenturiesbackwards(d1,d2)countwholecenturies(d1,d2)d2d1

002000/02/131900/02/14

012000/02/141900/02/14

112000/02/151900/02/14

Portrait Miner 7.1236

countwholecenturies, countwholecenturiesbackwards

También consulte

addcenturies, addcenturiescountbackwards en la página 223

countcenturies en la página 231

Formatos de fecha en la página 55

countwholedaysObjetivo: Calcular la cantidad de días enteros entre dos fechas.

Sintaxis countwholedays(date1, date2)

Argumentos

DescripciónNombreTipo

la primera fechadate1fecha

la segunda fechadate2fecha

Resultado

DescripciónTipo

La cantidad de períodos de 24 horas enterostranscurridos entre date1 y date2 (un númeronegativo si date1 es posterior a date2).

entero

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.

237Guía de referencia del comando de creación de datos y TML

Capítulo 19: Funciones para trabajar con fechas

También consulte

adddays en la página 224

countdays en la página 231

Formatos de fecha en la página 55

countwholehoursObjetivo: Calcular la cantidad de horas enteras entre dos fechas.

Sintaxis countwholehours(time1, time2)

Argumentos

DescripciónNombreTipo

la primera fecha/horatime1fecha

la segunda fecha/horatime2fecha

Resultado

DescripciónTipo

La cantidad de horas enteras transcurridas entretime1 y time2 (un número negativo si time1 esposterior a time2)

entero

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

countwholeminutesObjetivo: Calcular la cantidad de minutos enteros entre dos fechas.

Portrait Miner 7.1238

countwholehours

Sintaxis countwholeminutes(time1, time2)

Argumentos

DescripciónNombreTipo

la primera fecha/horatime1fecha

la segunda fecha/horatime2fecha

Resultado

DescripciónTipo

La cantidad de minutos enteros transcurridas entretime1 y time2 (un número negativo si time1 esposterior a time2)

entero

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, countwholemonthsbackwardsObjetivo: Calcular la cantidad de meses enteros entre dos fechas.

Sintaxis countwholemonths(date1, date2) countwholemonthsbackwards(date1, date2)

Argumentos

DescripciónNombreTipo

la primera fechadate1fecha

la segunda fechadate2fecha

Resultado

239Guía de referencia del comando de creación de datos y TML

Capítulo 19: Funciones para trabajar con fechas

DescripciónTipo

La cantidad de meses enteros transcurridos entredate1 y date2 (un número negativo si date1 esposterior a date2)

entero

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 paracountwholemonths, y addmonthscountbackwards en caso decountwholemonthsbackwards) 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 ycountwholemonthsbackwards pueden ser diferentes si las fechas tienen meses de diferenteduración.

• Debido al comportamiento de fijación de addmonths (y addmonthscountbackwards), elvalor absoluto de los resultados al comparar dos fechas con countwholemonths (ocountwholemonthsbackwards) dependerá del orden de los argumentos si las fechas tienenmeses de diferente duración.

Ejemplos

Para contar la cantidad de meses completos entre d1 y d2, truncando las partes de hora (formato defecha AMD):

countwholemonths(d1,d2)d2d1

12007/09/14:00:00:002007/08/14:00:00:00

12007/09/14:00:00:002007/08/14:12:34:56

Para contar la cantidad de meses enteros entre d1 y d2, mostrando la diferencia entre las variantescountwholemonths y countwholemonthsbackwards (formato de fecha AMD):

countwholemonthsbackwards(d1,d2)countwholemonths(d1,d2)d2d1

002007/09/122007/08/14

102007/09/132007/08/14

112007/09/142007/08/14

Para contar la cantidad de meses enteros entre d1 y d2, mostrando el comportamiento de fijación decountwholemonths al final de un mes (formato de fecha AMD):

countwholemonths(d2,d1)countwholemonths(d1,d2)d2d1

012007/09/302007/08/31

Portrait Miner 7.1240

countwholemonths, countwholemonthsbackwards

Para contar la cantidad de meses enteros entre d1 y d2, mostrando el comportamiento de fijación decountwholemonths al principio de un mes (formato de fecha AMD):

countwholemonthsbackwards(d2,d1)countwholemonthsbackwards(d1,d2)d2d1

0-12007/06/012007/07/01

Para contar la cantidad de comunicaciones por correo electrónico que recibió cada cliente, cuando lascomunicaciones se envían el día 5 de cada mes (y la última comunicación fue enviada el 5 de marzode 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íansiete días antes del cierre de cada mes (y el último fue enviado el 24 de marzo de 2006), utilizando elcampo 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

countwholesecondsObjetivo: Calcular la cantidad de segundos entre dos fechas.

Sintaxis countwholeseconds(time1, time2)

Argumentos

DescripciónNombreTipo

la primera fecha/horatime1fecha

la segunda fecha/horatime2fecha

Resultado

DescripciónTipo

La cantidad de segundos transcurridos entretime1 y time2 (un número negativo si time1 esposterior a time2)

entero

La única diferencia entre esta función y countseconds es que el resultado de la última es unnúmero real.

Nota:

Ejemplos

241Guía de referencia del comando de creación de datos y TML

Capítulo 19: Funciones para trabajar con fechas

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 consulteFormatos de fecha en la página 55

countwholeweeksObjetivo: Calcular la cantidad de semanas enteras entre dos fechas.

Sintaxis countwholeweeks(date1, date2)

Argumentos

DescripciónNombreTipo

la primera fechadate1fecha

la segunda fechadate2fecha

Resultado

DescripciónTipo

La cantidad de semanas enteras transcurridosentre date1 y date2 (un número negativo sidate1 es posterior a date2).

entero

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

Portrait Miner 7.1242

countwholeweeks

countwholeyears, countwholeyearsbackwardsObjetivo: Calcular la cantidad de años enteros entre dos fechas.

Sintaxis countwholeyears(date1, date2)

countwholeyearsbackwards(date1, date2)

Argumentos

DescripciónNombreTipo

la primera fechadate1fecha

la segunda fechadate2fecha

Resultado

DescripciónTipo

La cantidad de años enteros transcurridos entredate1 y date2 (un número negativo si date1 esposterior a date2).

Consulte countwholemonths,countwholemonthsbackwards en la página 239para leer una explicación de las dos variantes.

entero

Nota: • El resultado de la función countwholeyears(o countwholeyearsbackwards) es elresultado de la función countwholemonths (o countwholemonthsbackwards) divididopor 12, ignorando cualquier resto.

• El resultado de una comparación de dos fechas con countwholeyears ycountwholeyearsbackwards puede variar, pero solo si las dos fechas son en febrero, unaen 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 variantescountwholeyears y countwholeyearsbackwards (formato de fecha AMD):

countwholeyearsbackwards(d1,d2)countwholeyears(d1,d2)d2d1

002008/02/132007/02/14

012008/02/142007/02/14

112008/02/152007/02/14

Para calcular la edad de cada cliente al 1 de marzo de 2007 desde un campo de fecha de nacimientoDOB (formato de fecha AMD):

243Guía de referencia del comando de creación de datos y TML

Capítulo 19: Funciones para trabajar con fechas

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

countyearsObjetivo: Calcular la cantidad de años entre dos fechas.

Sintaxis countyears(date1, date2)

Argumentos

DescripciónNombreTipo

la primera fechadate1fecha

la segunda fechadate2fecha

Resultado

DescripciónTipo

El período entre date1 y date2 en años (unnúmero negativo si date1 es posterior a date2)

real

Nota: • Si las partes de meses, días y hora de las dos fechas difieren, el resultado incluye una partefraccionaria, 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

Portrait Miner 7.1244

countyears

dayObjetivo: Obtener el día del mes de una fecha.

Sintaxis day(date)

Argumentos

DescripciónNombreTipo

Una fechadatefecha

Resultado

DescripciónTipo

El día del mes de dateentero

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

dayofweekObjetivo: Obtener un número que represente el día de la semana de una fecha.

Sintaxis dayofweek(date)

Argumentos

DescripciónNombreTipo

Una fechadatefecha

Resultado

DescripciónTipo

El día de la semana de date (un número entre 0y 6, dónde el 0 representa el domingo)

entero

245Guía de referencia del comando de creación de datos y TML

Capítulo 19: Funciones para trabajar con fechas

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

gmt2edtObjetivo: Convertir una fecha en Hora Media de Greenwich (GMT) al Horario del Este (EDT).

Sintaxis gmt2edt(datetimeGMT)

Argumentos

DescripciónNombreTipo

La fecha en GMT a convertirdatetimeGMTfecha

Resultado

DescripciónTipo

La fecha en EDT, teniendo en cuenta el horario deverano

fecha

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.

hourObjetivo: Obtener las horas de una fecha.

Sintaxis hour(time)

Argumentos

DescripciónNombreTipo

Una fecha/horatimefecha

Portrait Miner 7.1246

gmt2edt

Resultado

DescripciónTipo

Las horas de timeentero

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

minuteObjetivo: Obtener los minutos de una fecha.

Sintaxis minute(time)

Argumentos

DescripciónNombreTipo

Una fecha/horatimefecha

Resultado

DescripciónTipo

Los minutos de timeentero

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

247Guía de referencia del comando de creación de datos y TML

Capítulo 19: Funciones para trabajar con fechas

monthObjetivo: Obtener los meses de una fecha.

Sintaxis month(date)

Argumentos

DescripciónNombreTipo

Una fechadatefecha

Resultado

DescripciónTipo

El mes de dateentero

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

nowObjetivo: Obtener la fecha y la hora actuales.

Sintaxis now()

Argumentos Ninguno

Resultado

DescripciónTipo

La fecha actual (incluyendo la hora), que se obtienedel reloj del sistema

fecha

Ejemplos

Formato de fecha europeo: now () igual a 09/01/2004:12:28:53.

Portrait Miner 7.1248

month

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

secondObjetivo: Obtener los segundos de una fecha.

Sintaxis second(time)

Argumentos

DescripciónNombreTipo

Una fecha/horatimefecha

Resultado

DescripciónTipo

Los segundos de timeentero

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

todayObjetivo: Obtener la fecha actual.

Sintaxis today()

Argumentos Ninguno

Resultado

249Guía de referencia del comando de creación de datos y TML

Capítulo 19: Funciones para trabajar con fechas

DescripciónTipo

La fecha actual que se obtiene del reloj del sistema,con la hora configurada en 00:00:00

fecha

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

weekofyearObjetivo: Calcular la semana del año de una fecha, tomando una fecha de inicio específica.

Sintaxis weekofyear(date, yearStart)

Argumentos

DescripciónNombreTipo

La fecha de la que se quierecalcular la semana del año

datefecha

La fecha de inicio (por ejemplo,de una año financiero)

yearStartfecha

Resultado

DescripciónTipo

La semana del año de date, tomando comoreferencia a yearStart

entero

Solo se utilizan los meses y días de la fecha de inicio.Nota:

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

Portrait Miner 7.1250

weekofyear

Formatos de fecha en la página 55

División de agregaciones: la cláusula by en la página 156

yearObjetivo: Obtener el año de una fecha.

Sintaxis year(date)

Argumentos

DescripciónNombreTipo

Una fechadatefecha

Resultado

DescripciónTipo

El año de dateentero

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 consulteFormatos de fecha en la página 55

251Guía de referencia del comando de creación de datos y TML

Capítulo 19: Funciones para trabajar con fechas

Capítulo 20Funciones para trabajar concadenas

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

concatObjetivo: Concatenar dos o más cadenas.

Sintaxis concat( , , ...)

Argumentos

DescripciónNombreTipo

Cadenas para ser concatenadas, , ...cadena

Resultado

DescripciónTipo

Cadena obtenida mediante la escritura de loscaracteres , seguida de los caracteres , etc.

cadena

Ejemplos

Ejemplo Obtiene el nombre completo de un cliente de dos campos FirstName y Surname:

concat(FirstName,"",Surname)

SurnameFirstName

John BrownBrownJohn

David SmithSmithDavid

Obtener el nombre completo de un cliente, pero utilizando solo su inicial:

concat(substr(FirstName,0,0),".",Surname)

SurnameFirstName

J. BrownBrownJohn

D. SmithSmithDavid

endswithObjetivo: Probar si una cadena termina con otra.

Sintaxis endswith(find_text, within_text)

Argumentos

Portrait Miner 7.1254

concat

DescripciónNombreTipo

La cadena al finalfind_textcadena

La cadena que será comprobadawithin_textcadena

Resultado

DescripciónTipo

1 (true) si find_text se encuentra al final dewithin_text; 0 (false) si no

entero

La función endswith se basa en la función match. Añade un carácter $ a find_text antes detratar el resultado como una expresión regular [consulte Expresiones regulares en la página268].

Nota:

Ejemplos

Para derivar un campo que marca direcciones de correo electrónico desde dominios .net:

endswith(".net", EmailAddress)EmailAddress

[email protected]

[email protected]

También consulte

find en la página 255

startswith en la página 260

findObjetivo Probar si una cadena está dentro de otra.

Sintaxis find(find_text, within_text)

Argumentos

DescripciónNombreTipo

La cadena que se debe encontrarfind_textcadena

La cadena que será comprobadawithin_textcadena

Resultado

255Guía de referencia del comando de creación de datos y TML

Capítulo 20: Funciones para trabajar con cadenas

DescripciónTipo

1 (true) si find_text está dentro dewithin_text; 0 (false) si no

entero

La función encontrar se basa en la función match, y trata a find_text como una expresiónregular [consulte Expresiones regulares en la página 268].

Nota:

Ejemplos

Ejemplo Marcar direcciones de correo electrónico que contienen el texto "portraitsoftware" en mayúscula,minúscula o una combinación:

find("portraitsoftware",tolower(EmailAddress))

EmailAddress

[email protected]

[email protected]

[email protected]

También consulte

endswith en la página 254

startswith en la página 260

leftObjetivo: Devolver una subcadena de longitud específica del final de una cadena.

Sintaxis left(text, num_chars)

Argumentos

DescripciónNombreTipo

La cadena de la que se extraetextcadena

El número de caracteresnum_charsentero

Resultado

DescripciónTipo

La subcadena formada por caracteres num_charsal principio de text

cadena

La función izquierda se basa en la función substr.Nota:

Portrait Miner 7.1256

left

Ejemplos

Para utilizar los dos primeros caracteres de un campo StateCode para identificar clientes de la costaEste u Oeste:

member (left(StateCode, 2), "CA","OR", WA")

StateCode

1OR009

1CA043

0UT005

1WA027

También consulte

mid en la página 257

right en la página 258

trim en la página 265

midObjetivo: Devolver una subcadena de longitud específica del medio de una cadena.

Sintaxis mid(text, start_num, num_chars)

Argumentos

DescripciónNombreTipo

La cadena de la que se extraetextcadena

El primer índicestart_numcadena

El número de caracteresnum_charscadena

Resultado

DescripciónTipo

La subcadena formada por los caracteresnum_chars de la posición de caracteres

cadena

start_num (incluido) de texto, donde lasposiciones de los caracteres están numeradas apartir del 1

La función mid está basada en la función substr.Nota:

257Guía de referencia del comando de creación de datos y TML

Capítulo 20: Funciones para trabajar con cadenas

Ejemplos

Para derivar una ubicación desde el quinto hasta el séptimo carácter de un código de almacenamiento:

mid(StoreCode, 5, 3)StoreCode

EDI0114EDI256

LON1863LON836

EDI9326EDI039

BOS0387BOS041

También consulte

left en la página 256

right en la página 258

trim en la página 265

rightObjetivo: Devolver una subcadena de longitud específica del final de una cadena.

Sintaxis right(text, num_chars)

Argumentos

DescripciónNombreTipo

La cadena de la que se extraetextcadena

El número de caracteresnum_charsentero

Resultado

DescripciónTipo

La subcadena formada por caracteres num_charsen el extremo de text

cadena

La función "right" está basada en la función substr.Nota:

Ejemplos

Para devolver el componente casa/calle de un campo de código postal del Reino Unido, es decir, losúltimos tres caracteres:

right(Postcode, 3)Postcodeold_text

0AYNE25 0AY

Portrait Miner 7.1258

right

right(Postcode, 3)Postcodeold_text

7RAEH3 7RA

1QXSL4 1QX

0NJEH9 0NJ

También consulte

left en la página 256

mid en la página 257

trim en la página 265

soundexObjetivo: Reducir las palabras a cadenas de cuatro caracteres para un índice.

Sintaxis soundex(text)

Argumentos

DescripciónNombreTipo

El texto que se debe reducirtextcadena

Resultado

DescripciónTipo

Una codificación de índice reducida a cuatrocaracteres

cadena

Ejemplos

Derivar un código soundex para un apellido:

soundex(Surname)Surname

B650Brown

S530Smythe

S530Smith

B650Bruno

La función Soundex no está definida para caracteres que no sean ascii.Nota:

259Guía de referencia del comando de creación de datos y TML

Capítulo 20: Funciones para trabajar con cadenas

startswithObjetivo: Probar si una cadena comienza con otra.

Sintaxis startswith(find_text, within_text)

Argumentos

DescripciónNombreTipo

La cadena a buscar en el iniciofind_textcadena

La cadena que será comprobadawithin_textcadena

Resultado

DescripciónTipo

1 si find_text se encuentra al inicio dewithin_text; 0 si no

entero

La función startswith se basa en la función match. Añade un carácter ^ adelante de find_textantes de tratar el resultado como una expresión regular [consulte Expresiones regulares enla página 268].

Nota:

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_TypeCC_Number

Visa4111-1111-1111-1111

MasterCard5431-1111-1111-1111

AmEx341-1111-1111-1111

Discover6011-6011-6011-6611

También consulte

Portrait Miner 7.1260

startswith

endswith en la página 254

find en la página 255

strlenObjetivo: Obtener la longitud de una cadena.

Sintaxis strlen(string)

Argumentos

DescripciónNombreTipo

La cadena cuyo largo debedeterminarse

stringcadena

Resultado

DescripciónTipo

El número de caracteres en stringentero

Ejemplos

Derivar un campo de cadena de exactamente cuatro caracteres, rellenando un campo de cadena máscorto con ceros adelante:

case

strlen(AccountID) = 1: concat("000", AccountID);

strlen(AccountID) = 2: concat("00", AccountID);

strlen(AccountID) = 3: concat("0", AccountID);

default: AccountID;

AccountAccountID

00011

002222

0333333

44444444

strmemberObjetivo: Determinar la pertenencia a un conjunto.

261Guía de referencia del comando de creación de datos y TML

Capítulo 20: Funciones para trabajar con cadenas

Sintaxis strmember(x, , , ...)

Argumentos

DescripciónNombreTipo

El valor que será comprobadoxcadena

Los elementos del conjunto, , ...como x

Resultado

DescripciónTipo

1 (true) if x está en el conjunto ; de locontrario 0 (false)

entero

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 consulteDivisión de agregaciones: la cláusula by en la página 156

substituteObjetivo: Reemplazar una cadena por otra.

Sintaxis substitute(text, old_text, new_text)

Argumentos

DescripciónNombreTipo

La cadena que se debe buscartextcadena

La cadena que será reemplazadaold_textcadena

La cadena de reemplazonew_textcadena

Resultado

DescripciónTipo

Una copia de la cadena text con new_text quereemplaza cada instancia no superpuesta deold_text

cadena

La función "substitute" está basada en la función replaceall y trata al old_text como a unaexpresión regular [consulte Expresiones regulares en la página 268].

Nota:

Portrait Miner 7.1262

substitute

Ejemplos

Eliminar espacio en blanco de campo llamado PostalCode:

substitute(PostalCode, "[[:blank:]]","")

PostalCode

ND069ND 069

IN099IN 099

UT005UT 0 0 5

OR009O R 009

También consultereplacefirst en la página 274

substrObjetivo: Obtener una subcadena de una cadena.

Sintaxis substr(string, start, end)

Argumentos

DescripciónNombreTipo

La cadena de iniciostringcadena

El primer índicestartentero

El segundo índiceendentero

Resultado

DescripciónTipo

La subcadena formada por caracteres desdestart hasta end (inclusive) de string, donde

cadena

los caracteres están numerados comenzando con0. Los valores de índice positivos van desde elinicio de una cadena y los valores de índicenegativos van desde el final de la cadena.

Ejemplos

Para seleccionar los primeros dos y los últimos tres caracteres de un campo PostalCode para obtenerel código del estado:

263Guía de referencia del comando de creación de datos y TML

Capítulo 20: Funciones para trabajar con cadenas

substr(PostalCode, -3,-1)

substr(PostalCode, 0, 1)PostalCode

015MAMA015

055WAWA055

005UTUT005

119MNMN119

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_TypeCC_Number

Visa4111-1111-1111-1111

MasterCard5431-1111-1111-1111

AmEx341-1111-1111-1111

Discover6011-6011-6011-6611

tolowerObjetivo: Convertir una cadena a minúscula.

Sintaxis tolower(string)

Argumentos

DescripciónNombreTipo

Una cadena que debe convertirsestringcadena

Resultado

Portrait Miner 7.1264

tolower

DescripciónTipo

La cadena obtenida de string reemplazandotodas las letras mayúsculas en string por lasletras minúsculas correspondientes

cadena

Ejemplos tolower("ZYXWV") es igual a "zyxwv"

También consultetoupper en la página 265

toupperObjetivo: Convertir una cadena a mayúscula.

Sintaxis toupper(string)

Argumentos

DescripciónNombreTipo

Una cadena que debe convertirsestringcadena

Resultado

DescripciónTipo

La cadena obtenida de string reemplazandotodas las letras minúsculas en string por lasletras mayúsculas correspondientes

cadena

Ejemplos toupper ("abcde") es igual a "ABCDE"

También consultetolower en la página 264

trimObjetivo: Eliminar todos los espacios de una cadena de texto, excepto los espacios individuales entrelas palabras.

Sintaxis trim(text)

Argumentos

265Guía de referencia del comando de creación de datos y TML

Capítulo 20: Funciones para trabajar con cadenas

DescripciónNombreTipo

La cadena que será comparadatextcadena

Resultado

DescripciónTipo

La cadena formada por text eliminar todos losespacios excepto los espacios únicos entrepalabras

cadena

La función "trim" está basada en la función replaceall.Nota:

Ejemplos

Para derivar un campo que reemplaza múltiples caracteres de espacio en blanco por un único espacio:

trim(CommentField)CommentField

Artículos defectuosos devueltosArtículos defectuosos devueltos

Ausencia a una citaAusencia a una cita

Ingeniero que visita: LunesIngeniero que visita: Lunes

ResueltoResuelto

Portrait Miner 7.1266

trim

Capítulo 21Expresiones regulares y susfunciones 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

Expresiones regularesLas expresiones regulares se utilizan para hacer coincidir patrones en las cadenas [consulte la secciónTipos de datos en la página 184]. Una expresión regular es una cadena con formato especial querepresenta 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." (Esepatró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ásicosde una expresión regular en la página 268] combinados usando operadores [consulte la secciónOperadores 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 mismocará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 vincularnoscon http://userguide.icu-project.org/strings/regexp)

• Las Expresiones regulares de ICU rigen conforme a la Norma técnica Unicode n.° 18, lasExpresiones regulares Unicode, nivel 1 y además incluye límites de Palabras predeterminadasy Propiedades de nombre del nivel 2.

Componentes básicos de una expresión regularLos componentes básicos de una expresión regular [consulte la sección Expresiones regulares en lapágina 268] son átomos, delimitadores y referencias inversas.

ÁtomosUn átomo coincide con uno de un conjunto de caracteres especificados:

Carácter con el que coincideÁtomo

Cualquier carácter. (cualquier coincidencia)

Cualquiera de los caracteres especificados[...] (lista de coincidencias)

Portrait Miner 7.1268

Expresiones regulares

Carácter con el que coincideÁtomo

Cualquier de los caracteres no especificados[^...] (lista sin coincidencias)

El carácterUn carácter diferente de ., ^, $, \, [, ] o*, que ocurre fuera de una lista de coincidenciaso de una lista sin coincidencias

El carácter., ^, $, \, [, ], o *, que ocurre fuera deuna lista de coincidencias o de una lista sincoincidencias y precedido por una barra invertida(\)

Una lista de coincidencias o una lista sin coincidencias pueden incluir caracteres simples, rango decaracteres y clases de caracteres. No puedes utilizar los rangos o las clases de caracteres fuera de unalista 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 detodos los caracteres en ese rango (dentro del conjunto de caracteres). Por ejemplo, "a-e" es equivalentea "abcde" en una lista de coincidencias.

Una clase de caracteres es uno de los siguientes tokens definidos previamente (donde los corchetesde cierre son adicionales a los que cierran la lista de coincidencias y la lista sin coincidencias):

CoincidenciasToken

Un carácter alfanumérico, que puede ser uncarácter alfabético o un dígito decimal

[:alnum:]

Un carácter alfabético, es decir, "A" — "Z" y "a" —"z"

[:alpha:]

Una ficha o un carácter de espacio[:blank:]

Un carácter de control[:cntrl:]

Un dígito decimal, es decir, "0" — "9"[:digit:]

Un carácter imprimible a parte del espacio[:graph:]

Una letra en minúscula[:lower:]

Un carácter o espacio imprimible[:print:]

Un carácter de puntuación[:punct:]

Un carácter de espacio en blanco[:space:]

Un carácter en mayúscula[:upper:]

Un dígito hexadecimal, es decir, "0" — "9," "A" —"F" y "a" — "f"

[:xdigit:]

Nota: • Puede incluir una mezcla de caracteres simples, rangos y clases de caracteres en una listade coincidencias única o en una lista sin coincidencias. Por ejemplo, la lista de coincidencias

269Guía de referencia del comando de creación de datos y TML

Capítulo 21: Expresiones regulares y sus funciones asociadas

"[a-ex[:digit:]]" coincide con las letras en minúscula "a" — "e" y "x" y con los dígitosdecimales ("0" — "9").

• Un guión en una lista de coincidencias o una lista sin coincidencias tiene significado propiocuando está (a) al final de un rango, (b) al principio de una lista de coincidencias o una listasin coincidencias (en este caso también puede estar al principio de un rango), o (c) al final deuna lista de coincidencias o una lista sin coincidencias.

DelimitadoresLos caracteres ^ y $ son delimitadores; coinciden con el principio y el final de una cadenarespectivamente.

Por ejemplo, para hacer coincidir "The" al principio de una cadena y en ningún otro lugar, se puede usarla expresión regular "^The."

Referencias inversasUna referencia inversa es una barra invertida seguida por un solo dígito n (aparte de 0). Coincide conlos 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ónregular "\(.o\)\1."

Nota: • La subexpresión con referencia inversa nth es siempre la subexpresión que comienza conuna 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 implicanalternancia [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 regularesUn operador trabaja en una o dos expresiones regulares [consulte la sección Expresiones regularesen 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], eloperador de concatenación [consulte la sección El operador de concatenación en la página 271], y eloperador 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ónLos operadores de repetición son unarios y están escritos siguiendo un solo operando.

Portrait Miner 7.1270

Referencias inversas

DescripciónOperator (Operador)

Si una expresión regular a coincide con una o máspartes adyacentes de una cadena, la expresión

* (cero o más)

regular a* coincide con la concatenación de esaspartes. También coincide con una subcadenavacía.

Si una expresión regular a coincide con una o máspartes adyacentes de una cadena, la expresión

\+ (uno o más)

regular a\+ coincide con la concatenación de esaspartes.

Si una expresión regular coincide al menos con my con no más de n partes adyacentes de una

{m,n} (0 m n)

secuencia, la expresión regular a{m,n} coincidecon la concatenación de esas partes. Si m=0,también coincide con una subcadena vacía.

Equivalente a a{0,1}, la expresión regular a\?coincide con cualquier subsecuencia vacía, o

\? (opcional)

cualquier parte de una secuencia que coincide conla expresión regular a.

Las "partes adyacentes" mencionadas en las definiciones de *, \+, y {...} no son secuenciasidénticas necesariamente. Si necesita hacer coincidir repeticiones exactas, use las referenciasinversas [consulte la sección Referencias inversas en la página 270].

Nota:

El operador de concatenaciónEl operador de concatenación no está realmente escrito, pero está implícito cuando escribe dosexpresiones 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 xantes de y), la concatenación de a y b (a seguida por b) coincide con la parte z que contiene x e y.

Cualquier secuencia de caracteres no especiales, es decir, caracteres sin significado especialen una expresión regular, funciona como una expresión regular que coincide con esa secuencia,debido al operador de concatenación implícito.

Nota:

En la práctica, la mayoría de las expresiones regulares están formadas por cadenas de caracteressimples, 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 alternanciaEl 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 alternanciaa\|b también coincidirá con esa porción.

271Guía de referencia del comando de creación de datos y TML

Capítulo 21: Expresiones regulares y sus funciones asociadas

matchObjetivo: probar una cadena para encontrar una coincidencia de expresión regular [consulte Expresionesregulares en la página 268].

Sintaxis match(regexp, string)

Argumentos

DescripciónNombreTipo

La expresión regularregexpcadena

La cadena que será comprobadastringcadena

Resultado

DescripciónTipo

1 (true) si regexp coincide con string; 0 (false)si es al revés

entero

Ejemplos

Para marcar los clientes con los dos primeros caracteres del código postal de su casa y la sucursal desu banco iguales (función substr):

match(substr(HomePostcode,0, 1),substr(BranchPostcode,0,1))

Código postal de la sucursalCódigo postal de la casa

1NE30 1QXNE25 0AY

0NG18 1HTSW3

1CF31 1HYCF36

0E10 8AJEH9 0NJ

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):

rx := concat(substr(toupper(FirstName),0,2),"[[:print:]]*", toupper(FamilyName);match(rx,toupper(CompanyName))

CompanyNameFamilyNameFirstName

11234 Pat Smith LtdSmithPatrick

11234 Pat J Smith LtdSmithPatrick

Portrait Miner 7.1272

match

Para hacer lo mismo, pero con solo algunas letras o dígitos y un solo espacio entre el nombre y elapellido:

rx := concat(substr(toupper(FirstName),0,2),"[[:alnum:]]* ", toupper(FamilyName);match(rx,toupper(CompanyName))

CompanyNameFamilyNameFirstName

11234 Pat Smith LtdSmithPatrick

01234 Pat J Smith LtdSmithPatrick

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

replaceallObjetivo: reemplazar todas las subcadenas que coinciden con una expresión regular [consulteExpresiones regulares en la página 268].

Sintaxis replaceall(regexp, replacement, string)

Argumentos

DescripciónNombreTipo

La expresión regularregexpcadena

La cadena de reemplazoreplacementcadena

La cadena que se debe buscarstringcadena

Resultado

DescripciónTipo

Una copia de la cadena string conreplacement reemplazando cada parte nosuperpuesta que coincida con regexp

cadena

La primera parte con coincidencia de la cadena que se debe buscar es la parte más larga y mása la izquierda que coincide con la expresión regular. La próxima búsqueda será en el resto dela cadena que se debe buscar, y así sucesivamente. Por ejemplo,

Nota:

replaceall("i..", "X", "initiation")

produce la cadena "XtXX" (en vez de, por ejemplo, "inXatX"). And

273Guía de referencia del comando de creación de datos y TML

Capítulo 21: Expresiones regulares y sus funciones asociadas

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 deexpresión regular:

replaceall("[[:blank:]]","",PostalCode))PostalCode

ND069ND 069

IN099IN 099

UT005UT 0 0 5

OR009O R 009

También consulte

match en la página 272

replacefirst en la página 274

replacefirstObjetivo: reemplazar la primer subcadena que coincide con una expresión regular [consulte Expresionesregulares en la página 268].

Sintaxis replacefirst(regexp, replacement, string)

Argumentos

DescripciónNombreTipo

La expresión regularregexpcadena

La cadena de reemplazoreplacementcadena

La cadena que se debe buscarstringcadena

Resultado

DescripciónTipo

Una copia de la cadena string conreplacement reemplazando la primera parte quecoincide con regexp (si hubiera)

cadena

Ejemplos

Portrait Miner 7.1274

replacefirst

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 yreemplazando "." por un espacio:

replacefirst("@.*", "", (replacefirst("\.", " ", Email)))

Email

John [email protected]

Angela [email protected]

También consulte

match en la página 272

replaceall en la página 273

275Guía de referencia del comando de creación de datos y TML

Capítulo 21: Expresiones regulares y sus funciones asociadas

Capítulo 22Funciones matemáticas yestadí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

absObjetivo: Calcular el valor absoluto de un número.

Sintaxis abs(x)

Argumentos

DescripciónNombreTipo

Un número con signoxnumérico

Resultado

DescripciónTipo

, el valor absoluto, o la magnitud, de xcomo entrada

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 consultesgn en la página 287

ceilObjetivo: Redondear un número para arriba al entero más cercano.

Sintaxis ceil(x)

Argumentos

DescripciónNombreTipo

El número que debe redondearsexnumérico

Resultado

DescripciónTipo

, el entero, de forma tal queentero

Ejemplos

Portrait Miner 7.1278

abs

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

cosObjetivo: Calcular el coseno de un ángulo.

Sintaxis cos(x)

Argumentos

DescripciónNombreTipo

Un ángulo en radianesxnumérico

Resultado

DescripciónTipo

cos x, el coseno de xreal

Ejemplos cos(0) es igual a 1.

expObjetivo: Calcular el exponencial de un número.

Sintaxis exp(x)

Argumentos

DescripciónNombreTipo

El número cuyo exponencial debecomputarse

xnumérico

Resultado

279Guía de referencia del comando de creación de datos y TML

Capítulo 22: Funciones matemáticas y estadísticas

DescripciónTipo

, el exponencial de xreal

Ejemplos exp (0) es igual a 1.

floorObjetivo: Redondear un número para abajo al entero más cercano.

Sintaxis floor(x)

Argumentos

DescripciónNombreTipo

El número que debe redondearsexnumérico

Resultado

DescripciónTipo

, el entero, de forma tal queentero

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

logObjetivo: Calcular el logaritmo natural (base e) de un número.

Sintaxis log(x)

Argumentos

DescripciónNombreTipo

Un número positivoxnumérico

Portrait Miner 7.1280

floor

Resultado

DescripciónTipo

, el logaritmo natural de xreal

Ejemplos log(1) es igual a 0.

log10Objetivo: Calcular el logaritmo base 10 de un número.

Sintaxis log10(x)

Argumentos

DescripciónNombreTipo

Un número positivoxnumérico

Resultado

DescripciónTipo

, el logaritmo base-10 de xreal

Ejemplos log10(100) es igual a 2.

logbaseObjetivo: Calcular el logaritmo de un número, en una base específica.

Sintaxis logbase(x, base)

Argumentos

DescripciónNombreTipo

El número positivo cuyo logaritmodebe computarse

xnumérico

La base que debe usarsebasenumérico

Resultado

281Guía de referencia del comando de creación de datos y TML

Capítulo 22: Funciones matemáticas y estadísticas

DescripciónTipo

, el logaritmo base-basede xreal

Ejemplos logbase100,10 es igual a 2.

max (dos o más argumentos), maxnonnullObjetivo: 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 susargumentos es nulo, la variante maxnonnull ignora los argumentos nulos (pero aún así devuelve el valornulo si todos sus argumentos son nulos).

Sintaxis max( , , ...)

maxnonnull ( , , ...)

Argumentos

DescripciónNombreTipo

Los valores que debencompararse

, , ...entero, real, fecha, o cadena(todos del mismo tipo)

Resultado

DescripciónTipo

El máximo de , , ...como entrada

Nota: • No se debe confundir esta función max multi-argument con la función aggregation [consultemax (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óndel 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";

Portrait Miner 7.1282

max (dos o más argumentos), maxnonnull

maxvalue = ROI2: "Producto2";

maxvalue = ROI3: "Producto3";

mean (dos o más argumentos), meannonnullObjetivo: Calcular la media (el promedio) de dos o más números. La variante media devuelve el valornulo si alguno de sus argumentos es nulo, la variante meannonnull ignora los argumentos nulos (peroaún así devuelve el valor nulo si todos sus argumentos son nulos).

Sintaxis mean( , , ...)

meannonnull ( , , ...)

Argumentos

DescripciónNombreTipo

Los números que se debenpromediar

, , ...numérico

Resultado

DescripciónTipo

El promedio de , , ...real

No se debe confundir esta función mean multi-argument con la función deaggregation [consultemean (un argumento) en la página 172] del mismo nombre.

Nota:

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), minnonnullObjetivo: 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 primeraen el alfabeto de dos o más cadenas. La variante min devuelve el valor nulo si alguno de sus argumentos

283Guía de referencia del comando de creación de datos y TML

Capítulo 22: Funciones matemáticas y estadísticas

es nulo, la variante minnonnull ignora los argumentos nulos (pero aún así devuelve el valor nulo sitodos sus argumentos son nulos).

Sintaxis

min ( , , ...)

minnonnull ( , , ...)

Argumentos

DescripciónNombreTipo

Los valores que debencompararse

, , ...entero, real, fecha, o cadena(todos del mismo tipo)

Resultado

DescripciónTipo

El mínimo de , , ...como entrada

Nota: • No se debe confundir esta función min multi-argument con la función aggregation [consultemin (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óndel 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.

normalizeObjetivo: normalizar los campos de valores para ubicarlos en el intervalo [0,1].

Sintaxis normalize(x)

Argumentos

DescripciónNombreTipo

El número que debe normalizarsexnumérico

Resultado

Portrait Miner 7.1284

normalize

DescripciónTipo

Valor entre 0 y 1 dado porreal

Sólo puede utilizar esta función en una derivación de Decision Studio, en el archivo dederivaciones de qsderive o en la ventana Derivar campos equivalente en el archivo de rastreoqstrack o en un archivo de selecciones de qsselect.

Nota:

powObjetivo: Calcular el resultado de elevar un número a la potencia de otro número.

Sintaxis pow(x, exponent)

Argumentos

DescripciónNombreTipo

El número que debe elevarse auna potencia

xnumérico

El exponenteexponentnumérico

Resultado

DescripciónTipo

, x elevado a la potencia exponentreal

Ejemplos pow(10, 2) es igual a 100.

product, productnonnullObjetivo: Calcular el producto de dos o más números. La variante product devuelve el valor nulo sialguno de sus argumentos es nulo, la variante productnonnull ignora los argumentos nulos (peroaún así devuelve el valor nulo si todos sus argumentos son nulos).

Sintaxis product( , , ...)

productnonnull( , , ...)>

Argumentos

285Guía de referencia del comando de creación de datos y TML

Capítulo 22: Funciones matemáticas y estadísticas

DescripciónNombreTipo

Los números que debenmultiplicarse

, , ...numérico

Resultado

DescripciónTipo

El producto de , , ...como entrada

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.

roundObjetivo: Redondear un número al entero más cercano.

Sintaxis round(x)

Argumentos

DescripciónNombreTipo

El número que debe redondearsexnumérico

Resultado

DescripciónTipo

el entero más cercano a x, o, en el caso de unempate, el mayor de los dos enteros más cercanos(en valores absolutos)

entero

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

Portrait Miner 7.1286

round

ceil en la página 278

floor en la página 280

sgnObjetivo: Calcular el signum (signo) de un número.

Sintaxis sgn(x)

Argumentos

DescripciónNombreTipo

Un número con signoxnumérico

Resultado

DescripciónTipo

Un número representando el signo de x:como entrada

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

sinObjetivo: Calcular el seno de un ángulo.

Sintaxis sin(x)

Argumentos

DescripciónNombreTipo

Un ángulo en radianesxnumérico

Resultado

287Guía de referencia del comando de creación de datos y TML

Capítulo 22: Funciones matemáticas y estadísticas

DescripciónTipo

sin x, el seno de xreal

Ejemplos sin(3.14159/2) es igual a 1.

sqrtObjetivo: Calcular la raíz cuadrada de un número.

Sintaxis sqrt(x)

Argumentos

DescripciónNombreTipo

Un número no negativoxnumérico

Resultado

DescripciónTipo

, calcula la raíz cuadrada de xreal

Ejemplos

sqrt(25) es igual a 5.

sqrt(-25) es igual a nulo.

sum (dos o más argumentos), sumnonnullObjetivo: Calcular la suma de dos o más números. La variante sum regresa el valor nulo si cualquierade sus argumentos es nulo; la variante sumnonnull ignora los argumentos nulos (pero aún regresa elvalor nulo si todos sus argumentos son nulos).

Sintaxis sum( , , ...)

sumnonnull( , , ...)

Argumentos

DescripciónNombreTipo

Los números que se agregarán, , ...numérico

Resultado

Portrait Miner 7.1288

sqrt

DescripciónTipo

La suma de , , ...como entrada

Tenga cuidado de no confundir esta función de sumamulti-argument con la función de aggregation[consulte la sección sum (un argumento) en la página 179] del mismo nombre.

Nota:

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)

tanObjetivo: Calcular la tangente de un ángulo.

Sintaxis tan(x)

Argumentos

DescripciónNombreTipo

Un ángulo en radianesxnumérico

Resultado

DescripciónTipo

tan x, la tangente de xreal

Six se expresa como for some entero n, tan x es indefinida. En ese caso, la funciónFDL devuelve nulo.

Nota:

Ejemplos tan(3.14159/4) es igual a 1.

289Guía de referencia del comando de creación de datos y TML

Capítulo 22: Funciones matemáticas y estadísticas

Capítulo 23Funciones de muestreo dedatos

En esta sección:

• numericTestTrainSplit . . . . . . . . . . . . . . . . . . . . . . . . . . .292• numericTestTrainValidateSplit . . . . . . . . . . . . . . . . . . . . .292• sampleEqualSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .293• sampleExactNumber . . . . . . . . . . . . . . . . . . . . . . . . . . . .294• sampleExactPercentage . . . . . . . . . . . . . . . . . . . . . . . . . .295• sampleStratified . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .296• testTrainSplit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .297• testTrainValidateSplit . . . . . . . . . . . . . . . . . . . . . . . . . . . .297

numericTestTrainSplitObjetivo: Crear una segmentación de prueba y capacitación para usar en una validación de modelo.

Sintaxis numericTestTrainSplit(testFraction)

Argumentos

DescripciónNombreTipo

La fracción de los datos que seutilizará como el conjunto deprueba

testFractionreal

Resultado

DescripciónTipo

Valores 0 para el conjunto de capacitación o 1 parael conjunto de prueba

entero

Ejemplos

Para derivar un campo que asigna el valor 0 a aproximadamente 70% de los registros (elegidos enforma 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

numericTestTrainValidateSplitObjetivo: Crear una segmentación de prueba, capacitación y validación para usar en una validaciónde modelo.

Sintaxis numericTestTrainValidateSplit(testFraction, validateFraction)

Argumentos

Portrait Miner 7.1292

numericTestTrainSplit

DescripciónNombreTipo

La fracción de los datos que seutilizará como el conjunto deprueba

testFractionreal

La fracción de los datos que seutilizará como el conjuntorepresentativo

validateFractionreal

Resultado

DescripciónTipo

Los valores 0 para el conjunto de capacitación, 1para el conjunto de prueba o 2 para el conjunto devalidación

entero

Ejemplos

Para derivar un campo que asigna el valor 0 a aproximadamente el 50% de los registros (seleccionadosaleatoriamente), el valor 1 a aproximadamente el 30% de los registros (nuevamente seleccionadosaleatoriamente) 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

sampleEqualSizeObjetivo: Crear un índice de segmentación que asigne aleatoriamente registros a segmentos de tamañoaproximadamente igual.

Sintaxis sampleEqualSize(NumberOfSegments)

Argumentos

DescripciónNombreTipo

El número de segmentos paracrear

NumberOfSegmentsentero

Resultado

293Guía de referencia del comando de creación de datos y TML

Capítulo 23: Funciones de muestreo de datos

DescripciónTipo

Un número entre 1 y NumberOfSegments(inclusive)

entero

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

sampleExactNumberObjetivo: Crear una muestra aleatoria de un tamaño exacto, especificada como un número de registros.

Sintaxis sampleExactNumber(NumberToSelect)

Argumentos

DescripciónNombreTipo

El tamaño de la muestra paracrear, como un número deregistros

NumberToSelectentero

Resultado

DescripciónTipo

1 si se selecciona un registro para la muestra; delo contrario 0

entero

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 derastreos para qstrack o en un archivo de selecciones para qsselect.

Ejemplos

Para seleccionar 1250 registros para una muestra. sampleExactNumber(1250)

También consulte

Portrait Miner 7.1294

sampleExactNumber

sampleExactPercentage en la página 295

sampleStratified en la página 296

sampleExactPercentageObjetivo: Crear una muestra aleatoria de un tamaño exacto, especificada como un porcentaje deltamaño de la población seleccionada actualmente.

Sintaxis sampleExactPercentage(PercentageToSelect)

Argumentos

DescripciónNombreTipo

El tamaño de la muestra paracrear, como un porcentaje deltamaño de la población actual

PercentageToSelectentero

Resultado

DescripciónTipo

1 si se selecciona un registro para la muestra; delo contrario 0

entero

Nota: • Los registros que no están actualmente seleccionados en el enfoque reciben el valor nulo.• Si PercentageToSelectmultiplicado 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 dePercentageToSelectmultiplicado por el tamaño de la población y proporcionará en promedioel porcentaje especificado.

• Sólo puede utilizar esta función en una derivación de Decision Studio, en el archivo dederivaciones para qsderive o la ventana Derivar campos equivalente, en el archivo derastreos 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

295Guía de referencia del comando de creación de datos y TML

Capítulo 23: Funciones de muestreo de datos

sampleStratifiedObjetivo: Crear una muestra aleatoria que incluye un número exacto de registros de un segmentoespecí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

DescripciónNombreTipo

El número de registros en lamuestra que se seleccionará delsegmento especificado

NumberFromSegmentToSelectentero

El número total de registros en elsegmento especificado

SegmentTotalSizeentero

El número de registros en lamuestra que se seleccionará delresto de la población

NumberOutsideSegmentToSelectentero

El número total de registros en elresto de la población

OutsideSegmentTotalSizeentero

La expresión (booleana) quedetermina si un registro está o noen el segmento especificado

InSegmentExpressionentero

Resultado

DescripciónTipo

1 si se selecciona un registro para la muestra; delo contrario 0

entero

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 derastreos 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 5000registros 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

Portrait Miner 7.1296

sampleStratified

testTrainSplitObjetivo: Crear una segmentación de prueba y capacitación para usar en una validación de modelo.

Sintaxis testTrainSplit(testFraction)

Argumentos

DescripciónNombreTipo

La fracción de los datos que seutilizará como el conjunto deprueba

testFractionreal

Resultado

DescripciónTipo

Valores de cadena TestSet o TrainingSetcadena

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

testTrainValidateSplitObjetivo: Crear una segmentación de prueba, capacitación y validación para usar en una validaciónde modelo.

Sintaxis testTrainValidateSplit(testFraction, validateFraction)

Argumentos

297Guía de referencia del comando de creación de datos y TML

Capítulo 23: Funciones de muestreo de datos

DescripciónNombreTipo

La fracción de los datos que seutilizará como el conjunto deprueba

testFractionreal

La fracción de los datos que seutilizará como el conjuntorepresentativo

validateFractionreal

Resultado

DescripciónTipo

Valores de cadena TestSet, TrainingSet oValidationSet

cadena

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

Portrait Miner 7.1298

testTrainValidateSplit

Capítulo 24Funciones de númerosaleatorios

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

Sobre las funciones de números aleatorios en FDLCuando se evalúa una expresión FDL que involucra a una función de número aleatorionumericTestTrainSplit, numericTestTrainValidateSplit, rndBinomial, rndBool, rndExp, rndGamma,rndNormal, rndPoisson o rndUniform sampleEqualSize, sampleExactNumber,sampleExactPercentage, sampleStratified, testTrainSplit y testTrainValidateSplit), Portrait Minernecesita una "semilla" de un entero para inicializar su secuencia de números aleatorios. Con la mismasemilla, 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).

rndBinomialObjetivo: Generar un entero aleatorio basado en una distribución binomial.

Sintaxis rndBinomial(N, p)

Argumentos

DescripciónNombreTipo

Los números (positivos) de laspruebas

nentero

La probabilidad de éxito de cadaprueba (entre 0 y 1)

pnumérico

Resultado

DescripciónTipo

Un entero aleatorio no negativo tomado de ladistribución binomial, con la probabilidad dada por

entero

La expectativa y la varianza de la distribución binomial son y , respectivamente.Nota:

Ejemplos rndBinomial (50, 0.05)

También consulteSobre las funciones de números aleatorios en FDL en la página 300

Portrait Miner 7.1300

Sobre las funciones de números aleatorios en FDL

rndBoolObjetivo: Generar un 0 ó 1 de manera aleatoria (con probabilidades iguales).

Sintaxis rndBool()

Argumentos Ninguno

Resultado

DescripciónTipo

0 ó 1, con probabilidadesentero

Ejemplos

Derivar un campo que asigna el valor 0 a aproximadamente 50% de los registros (elegidos al azar) yel valor 1 al resto de los registros: rndBool()

También consulteSobre las funciones de números aleatorios en FDL en la página 300

rndExpObjetivo: Generar un número positivo aleatorio basado en una distribución exponencial.

Sintaxis rndExp(b)

Argumentos

DescripciónNombreTipo

El parámetro de la escala(positivo)

bnumérico

Resultado

DescripciónTipo

Un número positivo aleatorio tomado de unadistribución exponencial, con la función de

real

densidad de probabilidad dada por (x> 0)

La expectativa y la varianza de la distribución exponencial son y respectivamente.Nota:

Ejemplos rndExp (10)

301Guía de referencia del comando de creación de datos y TML

Capítulo 24: Funciones de números aleatorios

También consulteSobre las funciones de números aleatorios en FDL en la página 300

rndGammaObjetivo: Generar un número positivo aleatorio basado en una distribución gamma.

Sintaxis rndGamma(a, b)

Argumentos

DescripciónNombreTipo

El número (positivo) de eventosindependientes

aentero

La relación de eventos (positiva)bnumérico

Resultado

DescripciónTipo

Un número positivo aleatorio tomado de unadistribución gamma , con la función dedensidad de probabilidad dada por

real

La expectativa y la varianza de la distribución gamma son y respectivamente.Nota:

Ejemplos rndGamma (50, 0.05)

También consulteSobre las funciones de números aleatorios en FDL en la página 300

rndNormalObjetivo: Generar un número positivo aleatorio basado en una distribución normal.

Sintaxis rndNormal( , )

Argumentos

DescripciónNombreTipo

La media de la distribuciónnumérico

Portrait Miner 7.1302

rndGamma

DescripciónNombreTipo

La desviación estándar de ladistribución

numérico

Resultado

DescripciónTipo

Un número positivo aleatorio tomado de ladistribución normal , con la función dedensidad de probabilidad dada por

real

La expectativa y la varianza de la distribución normal son y respectivamente.Nota:

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 consulteSobre las funciones de números aleatorios en FDL en la página 300

rndPoissonObjetivo: Generar un número no negativo entero aleatorio basado en un distribución de Poisson discreta.

Sintaxis rndPoisson(mean)

Argumentos

DescripciónNombreTipo

La media (positiva) de ladistribución

numérico

Resultado

DescripciónTipo

Un entero no negativo aleatorio tomado de unadistribución discreta de Poisson, con la probabilidadcalculada a partir de ( )

entero

Tanto la expectativa como la varianza de la distribución de Poisson discreta son iguales a lamedia, .

Nota:

303Guía de referencia del comando de creación de datos y TML

Capítulo 24: Funciones de números aleatorios

Ejemplos rndPoisson (10)

También consulteSobre las funciones de números aleatorios en FDL en la página 300

rndUniformObjetivo: Generar un número aleatorio entre 0 y 1 basado en una distribución uniforme.

Sintaxis rndUniform()

Argumentos Ninguno

Resultado

DescripciónTipo

Un número aleatorio tomado de una distribuciónuniforme por encima de [0, 1)

real

Ejemplos

Ejemplos Para generar un número real aleatorio en el rango de [0,10): rndUniform() * 10

También consulteSobre las funciones de números aleatorios en FDL en la página 300

Portrait Miner 7.1304

rndUniform

Capítulo 25Funciones de rentabilidadde la inversión

En esta sección:

• ActionROI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .306• ActionROIAnnualized . . . . . . . . . . . . . . . . . . . . . . . . . . . .307• OfferROI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .308• OfferROIAnnualized . . . . . . . . . . . . . . . . . . . . . . . . . . . . .309• RetentionActionROI . . . . . . . . . . . . . . . . . . . . . . . . . . . . .310• RetentionActionROIAnnualized . . . . . . . . . . . . . . . . . . . .311• RetentionOfferROI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .313• RetentionOfferROIAnnualized . . . . . . . . . . . . . . . . . . . . .314

ActionROIObjetivo: Calcular la contribución al ROI (dinero) por cliente de emprender una acción diseñada paragenerar una respuesta definitiva. La acción sucede ya sea que el cliente responda o no, de modo quesólo está el costo de la acción, no del cumplimiento.

Sintaxis ActionROI(ResponseProbability, ValueOfResponse, CostOfAction)

Argumentos

DescripciónNombreTipo

La probabilidad estimada de queun cliente responda a la acción

ResponseProbabilitynumérico

mostrando algún tipo de conductade respuesta.

El valor estimado de la respuestade un cliente a una acción demarketing (si ocurre)

ValueOfResponsenumérico

El costo estimado de una acción(ya sea que el cliente respondao no)

CostOfActionnumérico

Resultado

DescripciónTipo

La contribución al ROI (dinero) de emprender unaacción, calculada por cliente

numérico

Nota: • La probabilidad de respuesta debe ser un "alza", es decir, la probabilidad de que el clientemuestre esa conducta cuando de otro modo no lo hubiera hecho. Si existe alguna posibilidadde que el cliente muestre la conducta deseada sin emprender la acción, esto debe modelarseutilizando el modelo de "alza" o, si eso falla, se debe restar la posibilidad de la respuesta conacció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

Portrait Miner 7.1306

ActionROI

RetentionOfferROIAnnualized en la página 314

ActionROIAnnualizedObjetivo: Estimar el múltiplo anual de rentabilidad de la inversión por cliente al tomar medidas diseñadaspara generar una respuesta definitiva de un cliente. La acción sucede ya sea que el cliente respondao no, de modo que sólo está el costo de la acción, no del cumplimiento.

SintaxisActionROIAnnualized(ResponseProbability, ValueOfResponse, CostOfAction,DaysToROI)

Argumentos

DescripciónNombreTipo

La probabilidad estimada de queun cliente responda a la acción

ResponseProbabilitynumérico

mostrando algún tipo de conductade respuesta.

El valor estimado de la respuestade un cliente a una acción demarketing (si ocurre)

ValueOfResponsenumérico

El costo estimado de una acción(ya sea que el cliente respondao no)

CostOfActionnumérico

El número de días que serequerirá para lograr un ROIdeterminado.

DaysToROInumérico

Resultado

DescripciónTipo

El ROI múltiple anualizado y calculado por clientede emprender una acción.

numérico

Nota: • La probabilidad de respuesta debe ser un "alza", es decir, la probabilidad de que el clientemuestre esa conducta cuando de otro modo no lo hubiera hecho. Si existe alguna posibilidadde que el cliente muestre la conducta deseada sin emprender la acción, esto debe modelarseutilizando el modelo de "alza" o, si eso falla, se debe restar la posibilidad de la respuesta conacció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

307Guía de referencia del comando de creación de datos y TML

Capítulo 25: Funciones de rentabilidad de la inversión

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

OfferROIObjetivo: Estimar la contribución de rentabilidad de la inversión por cliente al hacer una oferta diseñadapara generar una respuesta definitiva.

Sintaxis OfferROI(ResponseProbability, ValueOfResponse, CostOfOffer,CostOfFulfilment)

Argumentos

DescripciónNombreTipo

La probabilidad estimada de queun cliente responda a la acción

ResponseProbabilitynumérico

mostrando algún tipo de conductade respuesta.

El valor estimado de la respuestade un cliente a una acción demarketing (si ocurre)

ValueOfResponsenumérico

El costo estimado de una acción(ya sea que el cliente respondao no)

CostOfOffernumérico

El costo estimado delcumplimiento de una respuesta

CostOfFulfilmentnumérico

positiva (cero si no hay costo decumplimiento (adicional))

Resultado

DescripciónTipo

El ROI estimado por cliente de realizar una ofertanumérico

Nota: • La probabilidad de respuesta debe ser un "alza", es decir, la probabilidad de que el clientemuestre esa conducta cuando de otro modo no lo hubiera hecho. Si existe alguna posibilidadde que el cliente muestre la conducta deseada sin emprender la acción, esto debe modelarse

Portrait Miner 7.1308

OfferROI

utilizando el modelo de "alza" o, si eso falla, se debe restar la posibilidad de la respuesta conacció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 marketingy 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

OfferROIAnnualizedObjetivo: Estimar el múltiplo anual de rentabilidad de la inversión por cliente al hacer una oferta diseñadapara generar una respuesta definitiva de un cliente.

SintaxisOfferROIAnnualized(ResponseProbability, ValueOfResponse, CostOfOffer,CostOfFulfilment, DaysToROI)

Argumentos

DescripciónNombreTipo

La probabilidad estimada de queun cliente responda a la acción

ResponseProbabilitynumérico

mostrando algún tipo de conductade respuesta.

El valor estimado de la respuestade un cliente a una acción demarketing (si ocurre)

ValueOfResponsenumérico

El costo estimado de una acción(ya sea que el cliente respondao no)

CostOfOffernumérico

El costo estimado delcumplimiento de una respuesta

CostOfFulfilmentnumérico

positiva (cero si no hay costo decumplimiento (adicional))

309Guía de referencia del comando de creación de datos y TML

Capítulo 25: Funciones de rentabilidad de la inversión

DescripciónNombreTipo

El número de días que serequerirá para lograr un ROIdeterminado.

DaysToROInumérico

Resultado

DescripciónTipo

El ROI múltiple anualizado estimado por cliente derealizar una oferta

numérico

Nota: • La probabilidad de respuesta debe ser un "alza", es decir, la probabilidad de que el clientemuestre esa conducta cuando de otro modo no lo hubiera hecho. Si existe alguna posibilidadde que el cliente muestre la conducta deseada sin emprender la acción, esto debe modelarseutilizando el modelo de "alza" o, si eso falla, se debe restar la posibilidad de la respuesta conacció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 marketingy 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

RetentionActionROIObjetivo: Estimar (en dinero) la contribución de rentabilidad de la inversión por cliente al tomar medidasdiseñadas para prevenir desgastes. Se asume que la acción tiene un costo fijo, sin importar si seconserva al cliente o no, y si el cliente "acepta" o no la oferta.

Sintaxis RetentionActionROI(SaveProbability, NetRevenueAtRisk, CostOfAction)

Argumentos

DescripciónNombreTipo

La probabilidad estimada de queel cliente se "conservará" (para

SaveProbabilitynumérico

Portrait Miner 7.1310

RetentionActionROI

DescripciónNombreTipo

el período en consideración)como resultado de la acciónemprendida

El ingreso neto estimado que seperderá si el cliente no se

NetRevenueAtRisknumérico

conserva durante el período enconsideración

El costo estimado de una acción(ya sea que el cliente respondao no)

CostOfActionnumérico

Resultado

DescripciónTipo

Calcular la contribución al ROI (dinero) por clientede una acción diseñada para evitar el desgaste.

numérico

Nota: • Decir que se ha "conservado" un cliente significa que "se evitó la pérdida de un cliente cuandode lo contrario se hubiera perdido". Este valor es el negativo del alza en la tasa de desgasteproducida por el modelo de alza. Alternativamente, puede calcularse como P(desgaste|sinacció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ñadapara 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

RetentionActionROIAnnualizedObjetivo: Estimar la contribución anual de rentabilidad de la inversión por cliente al tomar medidasdiseñadas para prevenir desgastes. Se asume que la acción tiene un costo fijo, sin importar si seconserva al cliente o no, y si el cliente "acepta" o no la oferta.

311Guía de referencia del comando de creación de datos y TML

Capítulo 25: Funciones de rentabilidad de la inversión

Sintaxis RetentionActionROIAnnualized(SaveProbability, NetRevenueAtRisk,CostOfAction, DaysToROI)

Argumentos

DescripciónNombreTipo

La probabilidad estimada de queel cliente se "conservará" (para

SaveProbabilitynumérico

el período en consideración)como resultado de la acciónemprendida

El ingreso neto estimado que seperderá si el cliente no se

NetRevenueAtRisknumérico

conserva durante el período enconsideración

El costo estimado de una acción(ya sea que el cliente respondao no)

CostOfActionnumérico

El número de días que serequerirá para lograr un ROIdeterminado.

DaysToROInumérico

Resultado

DescripciónTipo

La contribución estimada al ROI anualizado porcliente de una acción diseñada para evitar eldesgaste.

numérico

Nota: • Decir que se ha "conservado" un cliente significa que "se evitó la pérdida de un cliente cuandode lo contrario se hubiera perdido". Este valor es el negativo del alza en la tasa de desgasteproducida por el modelo de alza. Alternativamente, puede calcularse como P(desgaste|sinacció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ñadapara 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

Portrait Miner 7.1312

RetentionActionROIAnnualized

RetentionOfferROIAnnualized en la página 314

RetentionOfferROIObjetivo: Estimar la rentabilidad de la inversión por cliente al hacer una oferta diseñada para prevenirdesgastes. Una oferta, a diferencia de una acción, tiene un costo diferente si es aceptada por el clienteque si no es aceptada.

Sintaxis RetentionOfferROI(SaveProbability, ResponseProbability,NetRevenueAtRisk, CostOfOffer, CostOfFulfilment)

Argumentos

DescripciónNombreTipo

La probabilidad estimada de queel cliente se "conservará" (para

SaveProbabilitynumérico

el período en consideración)como resultado de la acciónemprendida

La probabilidad estimada de queel cliente responda a la oferta

ResponseProbabilitynumérico

El ingreso neto estimado que seperderá si el cliente no se

NetRevenueAtRisknumérico

conserva durante el período enconsideración

El costo estimado de una oferta(ya sea que el cliente respondao no)

CostOfOffernumérico

El costo estimado de obtener unarespuesta positiva a la oferta.

CostOfFulfilmentnumérico

Resultado

DescripciónTipo

El ROI estimado por cliente de una oferta diseñadapara evitar el desgaste

numérico

Nota: • Decir que se ha "conservado" un cliente significa que "se evitó la pérdida de un cliente cuandode lo contrario se hubiera perdido". Este valor es menos el alza en la tasa de desgasteproducido por el modelo de alza. Alternativamente, puede calcularse como P(desgaste|sinacció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ñadapara evitar el desgaste.

313Guía de referencia del comando de creación de datos y TML

Capítulo 25: Funciones de rentabilidad de la inversión

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

RetentionOfferROIAnnualizedObjetivo: Estimar la rentabilidad anual de la inversión por cliente al hacer una oferta diseñada paraprevenir desgastes. Una oferta, a diferencia de una acción, tiene un costo diferente si es aceptada porel cliente que si no es aceptada.

Sintaxis RetentionOfferROIAnnualized(SaveProbability, ResponseProbability,NetRevenueAtRisk, CostOfOffer, CostOfFulfilment, DaysToROI)

Argumentos

DescripciónNombreTipo

La probabilidad estimada de queel cliente se "conservará" (para

SaveProbabilitynumérico

el período en consideración)como resultado de la acciónemprendida

La probabilidad estimada de queel cliente responda a la oferta

ResponseProbabilitynumérico

El ingreso neto estimado que seperderá si el cliente no se

NetRevenueAtRisknumérico

conserva durante el período enconsideración

El costo estimado de una oferta(ya sea que el cliente respondao no)

CostOfOffernumérico

El costo estimado de obtener unarespuesta positiva a la oferta.

CostOfFulfilmentnumérico

El número de días que serequerirá para lograr un ROIdeterminado.

DaysToROInumérico

Portrait Miner 7.1314

RetentionOfferROIAnnualized

Resultado

DescripciónTipo

El ROI anualizado por cliente estimado de unaoferta diseñada para evitar el desgaste.

numérico

Nota: • Decir que se ha "conservado" un cliente significa que "se evitó la pérdida de un cliente cuandode lo contrario se hubiera perdido". Este valor es menos el alza en la tasa de desgasteproducido por el modelo de alza. Alternativamente, puede calcularse como P(desgaste|sinacció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ñadapara 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

315Guía de referencia del comando de creación de datos y TML

Capítulo 25: Funciones de rentabilidad de la inversión

Capítulo 26Funciones diversas

En esta sección:

• dblookup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .318• member . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .319• rankOrder, rankOrderApprox . . . . . . . . . . . . . . . . . . . . . .321• rankOrderMean, rankOrderApproxMean . . . . . . . . . . . .322• rownum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .323

dblookupObjetivo: Buscar valores en una tabla de referencias (guardada como enfoque).

Sintaxis dblookup(d, k, f, x)

Argumentos

DescripciónNombreTipo

El nombre de ruta de la tabla debúsqueda

dcadena

El nombre del campo clave en latabla de búsqueda

kcadena

El nombre de otro campo en latabla de búsqueda

fcadena

El valor de búsquedaxcomo campo k

Resultado

DescripciónTipo

El valor y en el campo f de la tabla d, para elregistro indexado por el valor x presente en elcampo clave k

como campo f

Portrait Miner 7.1318

dblookup

Nota: • Sólo debe utilizar esta función para tablas de búsqueda pequeñas. Si la tabla de búsquedaes de un tamaño comparable a una tabla de clientes o de transacciones, debe considerarrealizar 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 siel 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 rutade 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 campoPopularShop. Otro enfoque stores.ftr incluye una tabla de búsqueda que describe las instalacionesen cada tienda: En este enfoque, StoreCode es el campo clave, y el campo HasFuel indica si cadatienda tiene una estación de gasolina. La tienda 105 tiene una estación de gasolina, las tiendas 299 y204 no, y así sucesivamente; la tienda 189 no está en la tabla de búsqueda. Para derivar un campo quemarca si la tienda favorita de cada cliente tiene una estación de gasolina:

dblookup("focus:stores.ftr","StoreCode", "HasFuel", PopularShop)

PopularShop

1105

0299

0204

null189

memberObjetivo: Determinar la pertenencia a un conjunto.

Sintaxis member(x, , , ...)

Argumentos

DescripciónNombreTipo

El valor que será comprobadoxentero, real, fecha, o cadena

Los elementos del conjunto, , ...como x

Resultado

319Guía de referencia del comando de creación de datos y TML

Capítulo 26: Funciones diversas

DescripciónTipo

1 (true) if x está en el conjunto ; de locontrario 0 (false)

entero

Nota: • Solo se pueden utilizar valores literales (números, cadenas o fechas) para la lista de elementosdel conjunto.

• En general, es más eficiente utilizar la función miembro que una disyunción de pruebas deigualdad. Por ejemplo, la expresión strmember(F, "a", "b", "c") es más rápida deevaluar que F = "a" or F = "b" or F = "c".

• Para buscar compatibilidad hacia atrás, puede utilizar strmember en vez de member cuandolos 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 costaEste u Oeste:

miembro (substr (StateCode, 0, 1),"CA", "OR", WA")

StateCode

1OR009

1CA043

0UT005

1WA027

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 [consulteOperadores aritméticos en la página 195]):

si es miembro (TelNo div 10000000,131, 141) entonces "Edim/Glas" si nonulo

TelNo

Edim/Glas1312204491

null1753833999

null1611234567

Edim/Glas1417654321

También consulteDivisión de agregaciones: la cláusula by en la página 156

Portrait Miner 7.1320

member

rankOrder, rankOrderApproxObjetivo: Identificar el orden de un valor dentro de una lista de valores.

Sintaxis

rankOrder (x, , , ...)

rankOrderApprox (x, , , ...)

Argumentos

DescripciónNombreTipo

El valor que debe graduarsexentero, real, fecha, o cadena

La lista de valores para comparar, , ...como x

Resultado

DescripciónTipo

La posición de la primera ocurrencia de x dentrode la lista de valores obtenidos mediante la

entero

clasificación de , , ... en orden descendente (dela última a la primera para las fechas; en ordenalfabético inverso para las cadenas)

Si x no aparece en la lista, rankOrder devuelvenulo, mientras que rankOrderApprox devuelve laposición de x dentro de la lista de valoresobtenidos 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 mismoresultado.

• 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 dael mismo resultado que rankOrderApproxMean.

• Para las cadenas, "orden alfabético" significa el orden natural de la representación de loscaracteres 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:

321Guía de referencia del comando de creación de datos y TML

Capítulo 26: Funciones diversas

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 cuatromeses anteriores:

RankOrderApprox(CallsM5, CallsM1, CallsM2, CallsM3, CallsM4)

También consulterankOrderMean, rankOrderApproxMean en la página 322

rankOrderMean, rankOrderApproxMeanObjetivo: Identificar la graduación de un valor dentro de una lista de valores, o su graduación promediosi aparece más de una vez.

Sintaxis rankOrderMean(x, , , ...)

rankOrderApproxMean(x, , , ...)

Argumentos

DescripciónNombreTipo

El valor que debe graduarsexentero, real, fecha, o cadena

La lista de valores para comparar, , ...como x

Resultado

DescripciónTipo

La clasificación media de x dentro de la lista devalores obtenidos mediante la clasificación de ,

real

, ... en orden descendente (de la última a laprimera para las fechas; en orden alfabético inversopara las cadenas)

Si x no aparece en la lista, rankOrderMeandevuelve nulo, mientras querankOrderApproxMean devuelve la posición dex dentro de la lista de valores obtenidos mediantela 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 mismoresultado.

• Cuando el valor que debe graduarse aparece más de una vez en la lista de valores,rankOrderApproxMean da el mismo resultado que rankOrderMean.

Portrait Miner 7.1322

rankOrderMean, rankOrderApproxMean

• Cuando el valor que debe graduarse no aparece en la lista de valores, rankOrderApproxMeanda el mismo resultado que rankOrderApprox.

• Para las cadenas, "orden alfabético" significa el orden natural de la representación de loscaracteres 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 consulterankOrder, rankOrderApprox en la página 321

rownumObjetivo: Mostrar el número de cada fila en una tabla.

Sintaxis rownum()

Argumentos Ninguno

Resultado

DescripciónTipo

Un número de índice de 1 al número de registrosen la tabla

entero

Sólo se puede usar esta función en una derivación de Decision Studio, en el archivo de derivaciónpara qsderive o la ventana Derivar campos equivalente en el archivo seguidor para qstracko en un archivo de selecciones para qsselect.

Nota:

Ejemplos Para agregar una columna de índice a un conjunto de datos de registro N, con los valores:

rownum()Identificación

1AZ195

2DI539

3JD974

4BY643

323Guía de referencia del comando de creación de datos y TML

Capítulo 26: Funciones diversas

Capítulo 27Rangos

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

binObjetivo: Obtener un índice de rangos correspondientes a un valor.

Sintaxis bin(binning, x)

Argumentos

DescripciónNombreTipo

Una creación de rangos connombre, con valores de

binningrangos

parámetro (que deben ser valoresliterales) en paréntesis si serequiere

Un valor compatible con lacreación de rangos

xentero, real, fecha, o cadena

Resultado

DescripciónTipo

El índice de rango del rango en el que está xentero

Nota: • Los índices de rango son enteros positivos. Para una creación de rangos numéricos con nrangos nominales (numerados de 2 a n + 1), los rangos de final inferior y superior se numeranen 1 y n + 2 respectivamente, mientras que los rangos nulos y sin clasificar se enumeran enn + 3 y n + 4.

• Esta función no está disponible en Decision Studio. No obstante, si x es un campo y b es elrango 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 dacomo resultado una agregación segmentada en ocho (cuatro rangos internos entre valores de montode 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) bybin(PrePost(todate(19990401), todate(19990501),todate(19990601)), PurchaseDate);

También consulte

Portrait Miner 7.1326

bin

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 enla página 329

DayMultiplePrePost, WeekMultiplePrePost, MonthMultiplePrePost, YearMultiplePrePost en lapá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

BooleanObjetivo:Valores booleanos de rangos [consulte Datos booleanos en la página 185].

Parámetros Ninguno

Resultado

ValoresÍndice de rangos

false1

true2

nulo [Consulte El valor null en la página 184]3

sin clasificar4

327Guía de referencia del comando de creación de datos y TML

Capítulo 27: Rangos

DayFrom, WeekFrom, MonthFrom, YearFromObjetivo: 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

DescripciónNombreTipo

El comienzo de la porciónperiódica de la creación derangos

a ("start_date")fecha

El número de períodos (días,semanas, meses o años) en la

n ("num_bins")entero

porción periódica de la creaciónde rangos.

Resultado

ValoresÍndice de rangos

fechas anteriores a "a"; el rango de extremo inferior1

los períodos consecutivos n posteriores a "a"2, ..., n + 1

períodos de fechas n después de a y posteriores;el rango de extremo superior

n + 2

nulo [Consulte El valor null en la página 184]n + 3

sin clasificarn + 4

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

Portrait Miner 7.1328

DayFrom, WeekFrom, MonthFrom, YearFrom

DescripciónNombreTipo

El comienzo de la porciónperiódica de la creación derangos

a ("start_date")fecha

El número de unidades (días,semanas, meses, o años) en unperíodo

m ("width")entero

El número de rangos en laporción periódica de la creaciónde rangos

n ("num_bins")entero

Resultado

ValoresÍndice de rangos

fechas anteriores a "a"; el rango de extremo inferior1

los períodos consecutivos n (cada uno de munidades) posteriores a "a"

2, ..., n + 1

fechas n x unidades de m después de a yposteriores; el rango de extremo superior

n + 2

nulo [Consulte El valor null en la página 184]n + 3

sin clasificarn + 4

También consulte

DayMultiplePrePost, WeekMultiplePrePost, MonthMultiplePrePost, YearMultiplePrePost en lapá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 entredos fechas dadas, donde el período es un múltiplo fijo de la unidad (día, semana, mes o año).

Parámetros

DescripciónNombreTipo

El comienzo de la porciónperiódica de la creación derangos

a ("start_date")fecha

329Guía de referencia del comando de creación de datos y TML

Capítulo 27: Rangos

DescripciónNombreTipo

El final de la porción periódica dela creación de rangos

b ("end_date")fecha

El número objetivo de períodos(múltiplos de un día, una semana,

n ("num_bins")entero

un mes o un año) en la porciónperiódica de la creación derangos.

Resultado

ValoresÍndice de rangos

fechas anteriores a "a"; el rango de extremo inferior1

períodos entre a y b2, ..., N - 3

fechas b y posteriores; el rango de extremosuperior

N - 2

nulo [Consulte El valor null en la página 184]N - 1

sin clasificarn

Nota: • Estas creaciones de rangos son como la creación de rangos DayRange, WeekRange,MonthRange, and YearRange [consulte DayRange, WeekRange, MonthRange, YearRangeen 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 losrangos 2 a N - 4.

También consulteDayMultipleWidth, 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 dereferencia dada, donde cada rango es un múltiplo dado de la unidad (día, semana, mes o año).

Parámetros

DescripciónNombreTipo

La fecha de referencia para lacreación de rangos

a ("ref_date")fecha

Portrait Miner 7.1330

DayMultiplePrePost, WeekMultiplePrePost, MonthMultiplePrePost, YearMultiplePrePost

DescripciónNombreTipo

El número de rangos antes de lafecha de referencia y después deella

m ("width")entero

El número de unidades (días,semanas, meses, o años) encada rango

n ("num_bins")entero

Resultado

ValoresÍndice de rangos

fechas anteriores a n x unidades m antes de a; elrango de extremo inferior

1

los períodos consecutivos n (cada uno de munidades) anteriores a "a"

2, ..., n + 1

los períodos consecutivos n (cada uno de munidades) posteriores a "a"

n + 2, ..., 2n + 1

fechas n x unidades de m después de a yposteriores; el rango de extremo superior

2n + 2

nulo [Consulte El valor null en la página 184]2n + 3

sin clasificar2n + 4

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

331Guía de referencia del comando de creación de datos y TML

Capítulo 27: Rangos

DescripciónNombreTipo

El final de la porción periódica dela creación de rangos

b ("end_date")fecha

El número de unidades (días,semanas, meses, o años) en unperíodo

m ("width")entero

El número de rangos en laporción periódica de la creaciónde rangos

n ("num_bins")entero

Resultado

ValoresÍndice de rangos

fechas anteriores a n x unidades m antes de a; elrango de extremo inferior

1

los períodos consecutivos n (cada uno de munidades) anteriores a "a"

2, ..., n + 1

fechas a y posteriores; el rango de extremosuperior

n + 2

nulo [Consulte El valor null en la página 184]n + 3

sin clasificarn + 4

También consulte

DayMultipleFrom, WeekMultipleFrom, MonthMultipleFrom, YearMultipleFrom en la página 328

DayMultiplePrePost, WeekMultiplePrePost, MonthMultiplePrePost, YearMultiplePrePost en lapágina 330

DayMultipleWidth, WeekMultipleWidth,MonthMultipleWidth, YearMultipleWidth

Objetivo: Valores de fecha de rangos en períodos entre dos fechas dadas, donde el período es unmúltiplo específico de la unidad (día, semana, mes o año).

Parámetros

DescripciónNombreTipo

El comienzo de la porciónperiódica de la creación derangos

a ("start_date")fecha

Portrait Miner 7.1332

DayMultipleWidth, WeekMultipleWidth, MonthMultipleWidth, YearMultipleWidth

DescripciónNombreTipo

El final de la porción periódica dela creación de rangos

b ("end_date")fecha

El número de unidades (días,semanas, meses, o años) en unperíodo

m ("width")entero

Resultado

ValoresÍndice de rangos

fechas anteriores a "a"; el rango de extremo inferior1

períodos entre a y b2, ..., N - 3

fechas b y posteriores; el rango de extremosuperior

N - 2

nulo [Consulte El valor null en la página 184]N - 1

sin clasificarn

Nota: • Estas creaciones de rangos son como la creación de rangos DayRange, WeekRange,MonthRange, and YearRange [consulte DayRange, WeekRange, MonthRange, YearRangeen 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 losrangos 2 a N - 4.

También consulteDayMultipleNumBins, WeekMultipleNumBins, MonthMultipleNumBins, YearMultipleNumBins enla 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 oaños) anteriores a una fecha de referencia dada y posteriores a ella.

Parámetros

DescripciónNombreTipo

La fecha de referencia para lacreación de rangos

a ("ref_date")fecha

333Guía de referencia del comando de creación de datos y TML

Capítulo 27: Rangos

DescripciónNombreTipo

El número de períodos (días,semanas, meses o años) para los

m ("before")entero

que deben crearse rangos antesde la fecha de referencia.

El número de períodos para losque deben crearse rangos

n ("after")entero

después de la fecha dereferencia.

Resultado

ValoresÍndice de rangos

fechas anteriores a períodos de m antes de a; elrango de extremo inferior

1

los períodos consecutivos m anteriores a "a"2, ..., m + 1

los períodos consecutivos n posteriores a "a"m + 2, ..., m + n + 1

períodos de fechas n después de a y posteriores;el rango de extremo superior

m + n + 2

nulo [Consulte El valor null en la página 184]m + n + 3

sin clasificarm + n + 4

También consulte

DayMultiplePrePost, WeekMultiplePrePost, MonthMultiplePrePost, YearMultiplePrePost en lapágina 330

PreDuringPost en la página 338

PrePost en la página 339

DayRange, WeekRange, MonthRange, YearRangeObjetivo: Valores de fechas de rango en períodos (días, semanas, meses o años) entre dos fechasdadas.

Parámetros

DescripciónNombreTipo

El comienzo de la porciónperiódica de la creación derangos

a ("start_date")fecha

Portrait Miner 7.1334

DayRange, WeekRange, MonthRange, YearRange

DescripciónNombreTipo

El final de la porción periódica dela creación de rangos

b ("end_date")fecha

Resultado

ValoresÍndice de rangos

fechas anteriores a "a"; el rango de extremo inferior1

períodos (días, semanas, meses o años) entre ay b

2, ..., N - 3

fechas b y posteriores; el rango de extremosuperior

N - 2

nulo [Consulte El valor null en la página 184]N - 1

sin clasificarn

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íodocompleto), 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, YearToObjetivo: 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

DescripciónNombreTipo

El final de la porción periódica dela creación de rangos

b ("end_date")fecha

El número de períodos (días,semanas, meses o años) en la

n ("num_bins")entero

porción periódica de la creaciónde rangos.

Resultado

335Guía de referencia del comando de creación de datos y TML

Capítulo 27: Rangos

ValoresÍndice de rangos

fechas anteriores a n períodos antes de b; el rangode extremo inferior

1

los períodos consecutivos n anteriores a "b"2, ..., n + 1

fechas b y posteriores; el rango de extremosuperior

n + 2

nulo [Consulte El valor null en la página 184]n + 3

sin clasificarn + 4

También consulte

DayFrom, WeekFrom, MonthFrom, YearFrom en la página 328

DayRange, WeekRange, MonthRange, YearRange en la página 334

EqualRangeObjetivo: Los valores numéricos de rangos en un número especificado de intervalos de igual ancho.

Parámetros

DescripciónNombreTipo

El extremo inferior de la porciónde igual rango de la creación derangos

a ("from")real

El extremo superior de la porciónde igual rango de la creación derangos

b ("to")real

El número de rangos en laporción de igual rango de lacreación de rangos

n ("num_bins")entero

Resultado

ValoresÍndice de rangos

; el rango de extremo inferior1

[a, a + (b - a)/n), ..., [b - (b - a)/n, b)2, ..., n + 1

; el rango de extremo superiorn + 2

null [Consulte El valor null en la página 184]n + 3

sin clasificarn + 4

Portrait Miner 7.1336

EqualRange

También consulteEqualRangeWidth en la página 337

EqualRangeWidthObjetivo: Valores numéricos de rangos en intervalos de un ancho específico.

Parámetros

DescripciónNombreTipo

El extremo inferior de la porciónde igual rango de la creación derangos

a ("from")real

El extremo superior de la porciónde igual rango de la creación derangos

b ("to")real

El ancho de rangos en la porciónde igual rango de la creación derangos

r ("width")real

Resultado

ValoresÍndice de rangos

; el rango de extremo inferior1

rangos de igual ancho y ancho aproximado r2, ..., N - 3

el rango de extremo superiorN - 2

nulo [Consulte El valor null en la página 184]N - 1

sin clasificarn

Si a - b no es múltiplo exacto de r, se usa una aproximación de r, de modo que los rangos entrea y b sean del mismo ancho.

Nota:

También consulteEqualRange en la página 336

NegativeNonNegativeObjetivo: Valores numéricos de rango de acuerdo con el signo, agrupando 0 con los valores positivos.

337Guía de referencia del comando de creación de datos y TML

Capítulo 27: Rangos

Parámetros Ninguno

Resultado

ValoresÍndice de rangos

; es decir, valores negativos1

; es decir, valores no negativos2

nulo [Consulte El valor null en la página 184]3

sin clasificar4

También consulteSign en la página 340

PreDuringPostObjetivo: Valores de fecha de rangos en períodos pre-campaña, durante la campaña y post-campaña.

Parámetros

DescripciónNombreTipo

El comienzo del período depre-campaña

a ("pre_date")fecha

El comienzo de la campañab ("campaign_start_date")fecha

El final de la campañac ("campaign_end_date")fecha

El final del período post-campañad ("post_date")fecha

Resultado

ValoresÍndice de rangos

fechas anteriores a "a"; el rango de extremo inferior1

Fechas entre a (incluido) y b (excluido)2

fechas entre b (incluido) and c (excluido)3

fechas entre c (incluido) and d (excluido)4

fechas d y posteriores; el rango de extremosuperior

5

nulo [Consulte El valor null en la página 184]6

sin clasificar7

También consulte

Portrait Miner 7.1338

PreDuringPost

DayMultiplePrePost, WeekMultiplePrePost, MonthMultiplePrePost, YearMultiplePrePost en lapágina 330

DayPrePost, WeekPrePost, MonthPrePost, YearPrePost en la página 333

PrePost en la página 339

PrePostObjetivo: Valores de fecha de rangos en períodos pre-campaña and post-campaña.

Parámetros

DescripciónNombreTipo

El comienzo del período depre-campaña

a ("pre_date")fecha

La fecha de la campañab ("campaign_date")fecha

El final del período post-campañac ("post_date")fecha

Resultado

ValoresÍndice de rangos

fechas anteriores a "a"; el rango de extremo inferior1

Fechas entre a (incluido) y b (excluido)2

fechas entre b (incluido) and c (excluido)3

fechas c y posteriores; el rango de extremosuperior

4

nulo [Consulte El valor null en la página 184]5

sin clasificar6

También consulte

DayMultiplePrePost, WeekMultiplePrePost, MonthMultiplePrePost, YearMultiplePrePost en lapágina 330

DayPrePost, WeekPrePost, MonthPrePost, YearPrePost en la página 333

PreDuringPost en la página 338

339Guía de referencia del comando de creación de datos y TML

Capítulo 27: Rangos

SignObjetivo: Valores numéricos de rango de acuerdo con el signo.

Parámetros Ninguno

Resultado

ValoresÍndice de rangos

; es decir, valores negativos1

02

; es decir, valores positivos3

nulo [Consulte El valor null en la página 184]4

sin clasificar5

También consulteNegativeNonNegative en la página 337

Portrait Miner 7.1340

Sign

Capítulo 28XML 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

XML en Portrait MinerPara permitir el intercambio sencillo de resultados con otras aplicaciones, XML se utiliza en todo PortraitMiner, 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 cualquierfunción de Portrait Miner que se implemente a través de los comandos de creación de datos de PortraitMiner) 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 atributoxmlns="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 opcionalschemaLocation que señala esquemas en http://www.quadstone.com/xml/qs6.0A. Si utiliza uneditor que reconoce los esquemas para crear los archivos XML, podrá acceder a estos esquemasdirectamente 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ómoprocesar 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

DescripciónValorRequerido

El enfoque raízelementofocus

Portrait Miner 7.1342

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 Analysisproject.</comment>

</focus></metadata>

focus

DescripciónValorOpcional

nombre del subenfoquepredeterminado

atributo del nombre del enfoquelaunch

Nombre de un subenfoqueatributo del nombre del enfoquename

Nombre del campo objetivoatributo del nombre de campoobjective

Nombre del campo particiónatributo del nombre de campopartition

Comentario del enfoqueelementocomment

Historial del enfoqueelementohistory

Campos a los cuales importar losmetadatos

elementofield

Definiciones de subenfoqueselementofocus

El atributo launch sólo puede aparecer en el enfoque raíz. Todos los demás subenfoquesdeben contar con un atributo de name.

Nota:

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 Analysisproject.</comment></focus>

</metadata>

field en metadatos

DescripciónValorRequerido

Nombre del campo que se estádefiniendo

atributo del nombre de camponame

nombre del campo al que se hacereferencia

atributo del nombre de camporef

343Guía de referencia del comando de creación de datos y TML

Capítulo 28: XML en Portrait Miner

DescripciónValorOpcional

Tipo de datos que representaneste campo

consultar tipo de campotype

Extensión de la representaciónde secuencia

atributo del enterolength

Si este campo es candidato parael análisis

atributo binarioanalysis

Si este campo es de exportaciónatributo binarioexport

Comentario del campoelementocomment

El campo creación de rangoselementobinning

Expresión FDL de derivación decampo

elementofdl

Campo selección de registroelementorecordselection

Nota: • Cuando se está definiendo un campo, por ejemplo como una derivación, es necesario contarcon un atributo name . Cuando se hace referencia al campo, por ejemplo para su inclusión enun subenfoque, es necesario contar con un atributo ref.

• length y type son atributos que solamente pueden utilizarse para definir un campo (cuandoel 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

DescripciónValorRequerido

Expresión FDL que describe laderivación de campo

textocontent

DescripciónValorOpcional

La semilla numérica para elgenerador de números aleatorios

atributo del enteroseed

Ejemplos<fdl>mode(Store)</fdl><fdl>if PaymentMethod = "CA" then Amount else 0

Portrait Miner 7.1344

fdl

</fdl><fdl seed="123">rndUniform()</fdl>

comment

DescripciónValorRequerido

Descripción en texto delcomentario

textocontent

o

DescripciónValorRequerido

Un comentario recibe el formatoXHTML

atributo binarioxhtml

Descripción en texto con formatodel comentario, que puede

elemento de la secuenciadiv

contener cualquier marca XHTMLque esté permitida para apareceren el elemento <div>

Cuando se utiliza el atributo xhtml, siempre lleva el valor true.Nota:

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 Analysisproject.</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 theRetail Analysis project.<br/>An audit is available on the<a href="http://intranet.company.com/audits">intranet</a>.

</div></comment>

</focus></metadata>

345Guía de referencia del comando de creación de datos y TML

Capítulo 28: XML en Portrait Miner

historyEl historial del enfoque es un único elemento del historial que contiene una serie de elementos defuncionamiento que no está vacía. Cada elemento de funcionamiento es texto sin formato que representaun único comando de creación de datos de Portrait Miner aplicado al enfoque.

DescripciónValorRequerido

Una acción en particular delhistorial

elementos de la secuenciaoperation

Ejemplo

Describe el historial de todas las acciones del enfoque:

<history><operation>qsimportflat -input DB.fdd -outputDB.ftr</operation><operation>qsupdate -from template.ftr -toDB.ftr</operation>

</history>

recordselection

DescripciónValorOpcional

Selección del registro numéricoelementonumeric

Selección de la fecha de registroelementodate

Selección del registro categóricoelementocategorical

El elemento recordselection toma uno de los subelementos numeric, date, o category.Nota:

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>

Portrait Miner 7.1346

history

numeric

DescripciónValorRequerido

Especificar de qué manera laselección de registro manipulalos valores nulos

consultar nullhandlingnullhandling

DescripciónValorOpcional

Especificar la selección de rangonumérico

elementorange

El elemento numeric acepta múltiples subelementos de range .Nota:

Ejemplo

Eliminar la selección de un campo existente y cualquier selección Nula:<field name="Age"><recordselection><numeric nullhandling="nomention"/>

</recordselection></field>

date

DescripciónValorRequerido

Especificar de qué manera laselección de registro manipulalos valores nulos

consultar nullhandlingnullhandling

DescripciónValorOpcional

Especificar la selección de fechade rango

elementorange

El elemento date acepta múltiples subelementos de range.Nota:

Ejemplo

Selección de rango de fecha, sólo disponible con objetivos inclusivos, y fechas especificadas en unformato 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"/>

347Guía de referencia del comando de creación de datos y TML

Capítulo 28: XML en Portrait Miner

<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

DescripciónValorRequerido

Especificar de qué manera laselección de registro manipulalos valores nulos

consultar nullhandlingnullhandling

Especificar si la otra categoría seselecciona o se deselecciona.

consultar otherstatusotherstatus

DescripciónValorOpcional

Los valores de las categorías enla selección

elementoselect

El elemento categorical acepta múltiples subelementos select.Nota:

Ejemplo

Una selección categórica que utiliza otherstatus para deseleccionar cualquier campo que no hayasido 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>

Portrait Miner 7.1348

categorical

range

DescripciónValorOpcional

Rango mínimo de la selección deregistro

atributo numérico o de fechamin

Rango máximo de la selecciónde registro

atributo numérico o de fechamax

Incluir este valor en el rangomínimo

atributo binariominisincluded

Incluir este valor en el rangomáximo

atributo binariomaxisincluded

El elemento range requiere al menos un atributo min y uno max.Nota:

select

DescripciónValorRequerido

Nombre de la categoríaatributo de secuenciavalue

Incluir o excluir de la selecciónconsultar estadostatus

Especificación de agregación para qsmeasure

aggregations

DescripciónValorRequerido

Definiciones del campoelementosfield

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>

349Guía de referencia del comando de creación de datos y TML

Capítulo 28: XML en Portrait Miner

field en agregados

DescripciónValorRequerido

Nombre del campo que serácreado

atributo del nombre de camponame

Ya sea que este campo seautilizado en un archivo de

consultar medir contextocontext

agregación, de estadística o derastreo

Expresión FDL que describe laagregación

elementofdl

DescripciónValorOpcional

Tipo de datosdel campo queserá creado

consultar tipo de campotype

Extensión de uncampo desecuencia

atributo del enterolength

Si este campoes creado en el

atributo binariotemporary

enfoque desalida

La funciónsplit-by

elemento de la secuenciaby

Filtro de registrode la expresiónFDL

elemento de la secuenciawhere

Valorpredeterminado

elemento de la secuenciadefault

de laagregació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>

Portrait Miner 7.1350

field en agregados

<by>StoreSplitFunction(Store)</by></field>

Especificación de derivación para qsderive

derivations

DescripciónValorRequerido

Definiciones del campoelementosfield

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

DescripciónValorRequerido

Nombre del campo que serácreado

atributo del nombre de camponame

Expresión FDL que describirá elcampo que será creado

elementofdl

DescripciónValorOpcional

Tipo de datos del campo que serácreado

consultar tipo de campotype

Extensión de un campo desecuencia

atributo del enterolength

Ejemplos

351Guía de referencia del comando de creación de datos y TML

Capítulo 28: XML en Portrait Miner

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

DescripciónValorOpcional

Campos para crear estaselección

elementosfield

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

DescripciónValorRequerido

Nombre del campo que serácreado

atributo del nombre de camponame

Expresión FDL que describe laselección de registros.

Debe generar un entero con valorcero o un resultado

elementofdl

Este campo es para ser utilizadocon qsselect

selectioncontext

Portrait Miner 7.1352

Especificación de selección para qsselect

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

DescripciónValorRequerido

Tabulaciones cruzadas que seevaluarán

elementoscrosstab

DescripciónValorOpcional

Si el conjunto de tabulacionescruzadas representa un perfil, en

atributo binarioprofile

lugar de representar unatabulación cruzada

descripción del conjunto detabulaciones cruzadas

elemento de la secuenciadescription

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>

353Guía de referencia del comando de creación de datos y TML

Capítulo 28: XML en Portrait Miner

crosstab

DescripciónValorRequerido

Esquema de clasificaciónutilizado en esta tabulacióncruzada

compact1indexscheme

Especificación de la tabulacióncruzada

elementospecification

DescripciónValorOpcional

Descripción de la tabulacióncruzada

elementos de la secuenciadescription

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

DescripciónValorRequerido

Funciones que se utilizarán comomediciones de tabulacionescruzadas

elementosfunction

DescripciónValorOpcional

Campos que se utilizarán comodesgloses de segmentación

elementosfield

Ejemplo

Portrait Miner 7.1354

crosstab

Describir una tabulación cruzada de los campos Age y Gender con medidas count() ymode(MaritalStatus):<specification>

<field name="Age"/><field name="Gender"/><function name="count"/><function name="mode">

<parameter>MaritalStatus</parameter></function>

</specification>

function

DescripciónValorRequerido

Identifica el nombre de la medidaatributo del nombre de camponame

DescripciónValorOpcional

Identifica el parámetro de campopara la función

atributo del nombre de campoparameter

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

DescripciónValorRequerido

Nombre del campo que seutilizará en la tabulación cruzada

atributo del nombre de camponame

Ejemplo

Especificar el campo Age para su uso en la tabulación cruzada:<field name="Age"/>

355Guía de referencia del comando de creación de datos y TML

Capítulo 28: XML en Portrait Miner

Especificación de mapeo del nombre de campo paraqsrenamefields

mappingset

DescripciónValorRequerido

Mapeo de los nombres de campoelementosmap

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

DescripciónValorRequerido

Nombre del elemento cuyonombre será cambiado

elemento de nombre de camponame

Nuevo nombre del campoelemento de nombre de campoalias

Ejemplo

Cambiar nombre de campo de StartDate a Initialized:<map>

<name>StartDate</name><alias>Initialized</alias>

</map>

Portrait Miner 7.1356

Especificación de mapeo del nombre de campo para qsrenamefields

Especificación del árbol de decisión paraqsdecisiontree

decisiontree

DescripciónValorRequerido

Especificación de creación delárbol de decisiones

elementospecification

Ejemplo

Describir una especificación para crear el árbol de decisiones con el campo objetivo Age y tres candidatospara 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

DescripciónValorRequerido

Profundidad del árbol porconstruir

atributo del enteronlevels

Campo objetivoelemento de nombre de campoobjectivefield

Candidatos para el análisiselemento nombres de campoanalysiscandidates

Nombre del campo creado pararesultados

elemento de nombre de camporesultfield

DescripciónValorOpcional

Restricciones en la creación delárbol de decisiones

elementosplitconstraints

357Guía de referencia del comando de creación de datos y TML

Capítulo 28: XML en Portrait Miner

DescripciónValorOpcional

Campo k-way splitelemento de nombre de campokwaysplitfield

Campo de particiónelemento de nombre de campopartitionfield

Metodología deprueba/capacitación que seutilizará

elementotesttrain

Ejemplo

Describir una especificación para crear el árbol de decisiones con el campo objetivo Age y tres candidatospara 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ónexistente antes de crear el árbol.

• Si el elemento <kwaysplitfield> está vacío, qsdecisiontree ignorará toda k-way splitexistente antes de crear el árbol.

splitconstraints

DescripciónValorRequerido

Tamaño mínimo de la poblaciónde un segmento

atributo del enterominpopsize

Tamaño mínimo del segmento depoblación tratado

atributo del enterominpopsizetreated

Tamaño mínimo del segmento depoblación controlado

atributo del enterominpopsizecontrol

DescripciónValorOpcional

La combinación de funciones seutiliza para seleccionar de quémanera se elige la división final

consultar combinar funcionescombiningfunction

Portrait Miner 7.1358

splitconstraints

Nota: • Cuando se asigna un elemento partitionfield tanto minpopsizetreated comominpopsizecontrol son atributos splitconstraint válidos. De lo contrario, sólo debeconfigurarse el atributo minpopsize.

• El atributo combiningfunction sólo debe utilizarse cuando está definido el elementokwaysplitfield.

testtrain

DescripciónValorRequerido

Proporción de registros, númeroentre cero y uno, que se utilizará

atributo realthreshold

para capacitar la creación delárbol de decisiones

Campo aleatorio que define ladivisión de pruebas ycapacitaciones

elemento de nombre de camponamefield

Ejemplo<testtrain threshold="0.5">

<field name="randomField"/></testtrain>

Especificación de creación de un cuadro de mandopara qsscorecard

scorecard

DescripciónValorRequerido

Especificación para la creaciónde un cuadro de mando

elementospecification

Ejemplo

Describir una especificación para crear tarjetas de puntuación con el campo objetivo Age y tres candidatospara 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>

359Guía de referencia del comando de creación de datos y TML

Capítulo 28: XML en Portrait Miner

<field name="Gender"/><field name="MaritalStatus"/><field name="HomeOwner"/>

</analysiscandidates><resultfield>

<field name="PredictedAge"/></resultfield>

</specification></scorecard>

specification en cuadro de mando

DescripciónValorRequerido

Crea un cuadro de mandoobjetivo y continuo, sin que

atributo binarioiscontinuous

importe la configuración demodeltype

Qué tipo de modelo (binario)crear (ignorado si

consultar tipos de modelomodeltype

iscontinuous es verdadero);si no está configurado, crear unacuadro de mando objetivocontinuo

Cantidad de campos en el cuadrode mando creado

atributo del enteronfields

Campo objetivoelemento de nombre de campoobjectivefield

Candidatos para el análisiselemento nombres de campoanalysiscandidates

Nombre del campo de resultadoscreado

elemento de nombre de camporesultfield

DescripciónValorOpcional

Umbral que si los candidatos parael análisis superan, quedan

atributo realcorrelationthreshold

excluidos por tener demasiadacorrelación con el objetivo

Metodología deprueba/capacitación que seutilizará

elementotesttrain

Ejemplo<specification modeltype="value" nfields="2" iscontinuous="true">

<objectivefield><field name="Age"/>

</objectivefield><analysiscandidates>

Portrait Miner 7.1360

specification en cuadro de mando

<field name="Gender"/><field name="MaritalStatus"/><field name="HomeOwner"/>

</analysiscandidates><resultfield>

<field name="PredictedAge"/></resultfield>

</specification>

Especificaciones de creación de rangos

binning

DescripciónValorOpcional

Nombre de la creación de rangosatributo de secuencianame

Creación de rangos numéricoselementonumeric

Creación de rangos de fechaelementodate

Creación de rangos geográficoselementogeographic

Creación de rangos categóricaelementocategorical

El elemento binning lleva solo uno de los subelementos numeric, date, geographicalcategorical.

Nota:

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>

361Guía de referencia del comando de creación de datos y TML

Capítulo 28: XML en Portrait Miner

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

DescripciónValorOpcional

Cantidad necesaria de rangosatributo del enterotargetnbins

Ajustar automáticamente lacantidad de rangos para crear

atributo binarioadjustnbins

límites claros entre rangos. Valorpredeterminado: true.

Si la creación de rangos en uncampo de valor real debe tenerlímites con números enteros

atributo binarioforcewholenumbered

Tipo de creación de rangosaplicada

consultar estilo de rangostyle

Visualización de la creación derangos

consultar visualización decreación de rangos

binning

Definición de rango del límiteinferior. De manera

elementominendparam

predeterminada, los rangos deigual ancho utilizan endbinsauto, mientras que igualpoblación no utiliza none

Definición de rango del límitesuperior. De manera

elementomaxendparam

predeterminada, los rangos deigual ancho utilizan endbinsauto, mientras que igualpoblación no utiliza non

Límites de rangos para el estilode creación de rangos definidopor el usuario

elementoboundaries

Ejemplo

Portrait Miner 7.1362

numeric

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

EfectoOpcional

Cantidad necesaria de rangosatributo del enterotargetnbins

Período de la creación de rangosconsultar período de fechabinby

Qué rango de fecha crear ydesde qué período de fecha

consultar referencia de fechareference

Cantidad de períodos de tiempopara un rango

atributo del enterobinwidth

Tipo de creación de rangosaplicada

consultar estilo de rangostyle

Como se deben visualizar losrangos

consultar visualización decreación de rangos

binning

Definición de rango del límiteinferior. De manera

elementominendparam

predeterminada, los rangos deigual ancho utilizan endbinsautomáticos, mientras queigual población no utilizaninguno

Definición de rango del límitesuperior. De manera

elementomaxendparam

predeterminada, los rangos deigual ancho utilizan endbinsautomáticos, mientras queigual población no utilizaninguno

Límites de rangos para el estilode creación de rangos definidopor el usuario

elementoboundaries

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>

363Guía de referencia del comando de creación de datos y TML

Capítulo 28: XML en Portrait Miner

<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

DescripciónValorRequerido

Descripción dela jerarquía dela categoría

elementocategories

Ubicación delarchivo que

elemento de archivohierarchylocation

contiene ladescripción dejerarquía de lacategoría

Cantidad decategorías porcrear

elementoselectn

Solamente es necesario uno de estos elementos para definir una creación de rangos categórica.Nota:

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>

Portrait Miner 7.1364

categorical

categories

DescripciónValorRequerido

Una categoría en la jerarquíaelementoscategory

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

DescripciónValorRequerido

Nombre de la categoríaatributo de secuencianame

Valor de esta categoríanumérico, fecha o atributo de lasecuencia

value

Descripción de una subcategoríaelementoscategory

DescripciónValorOpcional

Nombre del nivel de la jerarquíacategórica, necesario solamente

atributo de secuencialevelname

en la primera categoría de cadaconjunto

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>

365Guía de referencia del comando de creación de datos y TML

Capítulo 28: XML en Portrait Miner

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

DescripciónValorRequerido

Cantidad de categorías por crearatributo del enteron

DescripciónValorOpcional

Cantidad mínima de registros encada categoría

atributo del enteromincatsize

geographic

DescripciónValorRequerido

Ubicación del archivo de mapaelemento de archivomaplocation

Ejemplo

Agregar una creación de rangos de campos geográficos al campo StateCode:<geographic>

<maplocation>/home/data/maps/us.mif</maplocation></geographic>

minendparam

DescripciónValorOpcional

Tipo de fin del estilo de rangosconsultar fin estilo de rangostype

Valor fijo de fin de estilo derangos

elementoboundary

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>

Portrait Miner 7.1366

selectn

</minendparam></numeric>

</binning>

maxendparam

DescripciónValorOpcional

Tipo de fin del estilo de rangosconsultar fin estilo de rangostype

Valor fijo de fin de estilo derangos

elementoboundary

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

DescripciónValorOpcional

Qué fines de estilo de rangosestán habilitados

consultar fin de estilo de rangosendbins

Definición del límite de rangoselementosboundary

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

DescripciónValorRequerido

Valor del límitenumérico o fechacontent

367Guía de referencia del comando de creación de datos y TML

Capítulo 28: XML en Portrait Miner

DescripciónValorOpcional

Tipo de límiteconsultar fin estilo de rangostype

El límite es inclusivo o exclusivoconsultar inclusión de límitesfalls

Los valores de fecha deben suministrarse de manera estándar, con el formatoAAAA-MM-DDTHH:MM:SSZ.

Nota:

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 atributoValoresNombre

nomention | include | include_only |exclude | selected | deselected

nullhandling

selected | deselectedstatus

selected | deselectedotherstatus

integer | real | string | date |unknown | numeric

field type

none | auto | fixedend bin style

equalpopulation | equalwidth |userdefined

bin style

none | both | high | lowend bins

izquierda | derechaboundary inclusion

equalwidth | compactendsbinning display

auto | hora | minuto | segundo | día| semana | mes | cuatrimestre | año |década | siglo

date period

auto | minend | maxenddate reference

Portrait Miner 7.1368

valores de atributo

ValoresNombre

aggregation | statistic | trackermeasure context

unused | mean | meanlessstddev |meanlesssqrtstddev | min

combining function

risk | response | churn | satisfaction| dissatisfaction

model types

369Guía de referencia del comando de creación de datos y TML

Capítulo 28: XML en Portrait Miner

Índice

(data-build command) 106* (operador FDL) 195%, mod (operador FDL) 195

AAbrir conectividad de base de datos (ODBC) 32

crear o modificar con qsdbaccess 32abs (función FDL) 278acerca de diagramas de ferrocarriles 148Acerca del Asistente de scorecard 118ActionROI (función FDL) 306ActionROIAnnualized (función FDL) 307addcenturies, addcenturiescountbackwards (funcionesFDL) 223adddays (función FDL) 224addhours (función FDL) 224addminutes (función FDL) 225addmonths, addmonthscountbackwards (funcionesFDL) 226addseconds (función FDL) 228addweeks (función FDL) 229addyears, addyearscountbackwards (funciones FDL)230adición 195

operador FDL 195agregación 66

utilizando qsmeasure 66agregación de registros 66

utilizando qsmeasure 66agregación de un campo 152

en un archivo de agregaciones TML 152análisis de la cesta de mercado mediante qsruleminer129analizar un documento QMML mediante qsqmmledit134and (operador FDL) 198any (función de agregación) 162, 165

en mediciones y derivaciones 162

archivo de descripción de datos planos 40, 137creación a partir de archivo plano medianteqsgenfdd 40crear elementos desde QMML mediante qslt 137

archivo de enfoque 94, 95, 96, 113copiar mediante qscopy (copia independiente) 94copiar mediante qslink (copia enlazada) 95eliminación con qsremove 96mover/renombrar con qsmove 95ver tamaños de archivo y dependencias medianteqsinfo 113

archivo de texto 40, 42creación de metadata mediante qsgenfdd 40importación utilizando qsimportflat 42

archivo plano 40, 42, 44creación a partir de un enfoque medianteqsexportflat 44creación de metadata mediante qsgenfdd 40importación utilizando qsimportflat 42

argumentos de función (FDL) 192asignación de un valor a una variable 190

en FDL 190asignación de variables (FDL) 190atributos de funciones (FDL) 194auditar un enfoque 102

con enfoque 102automatización de creaciones de datos 28

utilizando qsbuild 28

Bbin (función FDL) 326Boolean (creación de rangos) 327borrar un archivo de enfoque 96

mediante qsremove 96búsqueda 318

de valores en una tabla de referencias 318búsqueda de tabla de referencia 318

Ccadena 218, 254, 255, 256, 257, 258, 259, 260, 261,

262, 263, 265buscar subcadenas utilizando FDL 255buscar una cadena al final utilizando FDL 254buscar una cadena en el inicio utilizando FDL 260codificación soundex 259convertir un campo a 218eliminar espacios en blanco con FDL 265extracción de una cadena de la posición de inicioo final utilizando FDL 263extraer una subcadena de acuerdo a la posicióny longitud utilizando FDL 257extraer una subcadena final con FDL 258extraer una subcadena inicial utilizando FDL 256largo 261substitute 262

cambiar el nombre de un archivo de enfoque 95mediante qsmove 95

cambiar el nombre de un campo 75mediante qsrenamefields 75

campo 63, 152agregación en un archivo de agregaciones TML152derivación en una archivo de derivaciones,rastreos, selecciones o agregaciones TML 152derivar mediante qsderive 63

campo de marca 212crear desde una selección 212

campos 75renombrar mediante qsrenamefields 75

ceil (función FDL) 278clamp (función FDL) 208clase de carácter 268

en una expresión regular en FDL 268clasificar registros en un enfoque 62

utilizando qssort 62cláusula default (TML) 154cláusula where (TML) 154coincidencia de cadena 268

en FDL 268coincidencia de patrones 268

en FDL 268comandos de creación de datos 16, 21

acerca de 16opciones estándar de la línea de comandos 21

comandos de creación de datos de Portrait Miner16, 21

acerca de 16opciones estándar de la línea de comandos 21

combinación de enfoques 90mediante qsmerge 90

combinar registros 90mediante qsmerge 90

comentarios 186en FDL 186

compatibilidad 185de tipos de datos en FDL 185

compatibilidad de tipos 185en FDL 185

compatibilidad de tipos de datos 185en FDL 185

compilar un documento QMML mediante qsqmmledit134concat (función FDL) 254cond (función FDL) 208conexión con base de datos 32

crear o modificar con qsdbaccess 32Conexión de base de datos del usuario 32

crear o modificar con qsdbaccess 32confintlower (función de agregación) 162, 165

en mediciones y derivaciones 162confintupper (función de agregación) 162, 166

en mediciones y derivaciones 162conjunto de datos de Excel 48, 50, 107

creación a partir de un enfoque medianteqsexportstat 50descripción mediante qsdescribestat 107Importación mediante qsimportstat 48

conjunto de datos SAS 48, 50, 107creación a partir de un enfoque medianteqsexportstat 50descripción mediante qsdescribestat 107importación mediante qsimportstat 48

conjunto de datos SPSS 48, 50, 107creación de un mediante qsexportstat 50Descripción mediante qsdescribestat 107importación mediante qsimportstat 48

conjunto de reglas 134agregar o eliminar elementos de un documentoQMML mediante qsqmmledit 134

conversión de tipos de datos 186en FDL 186

convertir un archivo de metadata 140mediante qsqsfmtosas 140

convertir un archivo QMML 139mediante qsqmml2sas 139mediante qsqmml2sql 139

convertir un campo 216, 217, 218a entero 217a real 217a una cadena 218a una fecha 216

copia enlazada de un archivo de enfoque 95mediante qslink 95

Portrait Miner 7.1372

copiar metadata de enfoque 82mediante qsupdate 82

copiar un archivo de enfoque 94, 95mediante qscopy (copia independiente) 94mediante qslink (copia enlazada) 95

cos (función FDL) 279count (función de agregación) 162, 167

en mediciones y derivaciones 162countcenturies (función FDL) 231countdays (función FDL) 231counthours (función FDL) 232countminutes (función FDL) 233countnonnull/countnonnulls (función de agregación)

162, 167en mediciones y derivaciones 162

countnull/countnulls (función de agregación) 162, 168

en mediciones y derivaciones 162countseconds (función FDL) 234countunique (función de agregación) 162, 169

en mediciones y derivaciones 162countuniquenonnull (función de agregación) 162,

169en mediciones y derivaciones 162

countweeks (función FDL) 235countwholecenturies, countwholecenturiesbackwards(funciones FDL) 236countwholedays (función FDL) 237countwholehours (función FDL) 238countwholeminutes (función FDL) 238countwholemonths, countwholemonthsbackwards(función FDL) 239countwholeseconds (función FDL) 241countwholeweeks (función FDL) 242countwholeyears, countwholeyearsbackwards(funciones FDL) 243countyears (función FDL) 244creación de 33

enfoque a partir de una tabla de base de datosutilizando qsimportdb 33

crear reglas de asociación mediante qsruleminer 129crear un cuadro de mando 119

mediante qsscorecardwizard (copia vinculada)119

crear un enfoque 52a partir de datos en otro enfoque medianteqsimportfocus 52

cuadro de mando 109, 126cómo crear una foto de modelo con qsscsnapshot109creación mediante qsscorecard 126

Ddatos booleanos 185

en FDL 185datos de texto 184

en FDL 184datos de tiempo 184

en FDL 184day (función FDL) 245DayFrom (creación de rangos) 328DayMultipleFrom (creación de rangos) 328DayMultipleNumBins (creación de rangos) 329DayMultiplePrePost (creación de rangos) 330DayMultipleTo (creación de rangos) 331DayMultipleWidth (creación de rangos) 332dayofweek (función FDL) 245DayPrePost (creación de rangos) 333DayRange (creación de rangos) 334DayTo (creación de rangos) 335dblookup (función FDL) 318deciles 177

en FDL 177definición de parámetros de las creaciones de datos

28con qsbuild 28

definiciones de función (FDL) 192delimitadores 270

en una expresión regular de FDL 270dependencias entre enfoques 113

ver mediante qsinfo 113derivación de un campo 152

en un archivo de derivaciones, rastreos,selecciones o agregaciones TML 152

derivar 70un campo mediante qstrack 70

derivar un campo 63, 70mediante qsderive 63mediante qstrack 70

desigualdad 196operador FDL 196

desviación estándar de un campo 178distribución binomial 300distribución de Poisson 303distribución exponencial 301distribución gamma 302distribución normal 302div (operador FDL) 195división 195

operador FDL 195documento QMML 134, 137

editar o compilar elementos mediante qsqmmledit134transformar elementos mediante qslt 137visualizar elementos mediante qsqmmlview 134

373Guía de referencia del comando de creación de datos y TML

duplicar registros 90eliminar elementos mediante qsmerge 90

Eeditar un documento QMML mediante qsqmmledit 134eliminar un archivo de enfoque 96

mediante qsremove 96endswith (función FDL) 254enfoque 16, 42, 44, 48, 62, 90

clasificar registros utilizando qssort 62creación a partir de un archivo plano utilizandoqsimportflat 42eliminar registros duplicados mediante qsmerge90enfoque partir de un archivo SAS u otro conjuntode datos creado por terceros medianteqsimportstat 48exportación a un archivo plano medianteqsexportflat 44solo lectura 16

enfoque de plantilla 82en qsupdate 82

enfoque de solo lectura 16entero 217

convertir un campo a 217EqualRange (creación de rangos) 336EqualRangeWidth (creación de rangos) 337espacio en blanco 265

eliminar con FDL 265estadística 158

evaluación de un archivo de estadística TML 158estadística de enfoque 158

evaluación en un archivo de estadísticas TML158

evaluación condicional en FDL 187, 208, 209uso de expresiones if y case 187uso de la función cond 208uso de la función iff 209

exp (función FDL) 279exportación 50, 78

de comentarios a un archivo XML a partir de unenfoque 78de metadata de un enfoque a un archivo XML 78de metadata desde un enfoque hacia un archivoXML 78de un enfoque a un archivo SAS u otro conjuntode datos creado por terceros medianteqsexportstat 50

exportación de datos 50a un archivo SAS u otro conjunto de datos creadopor terceros mediante qsexportstat 50

exportar datos 37, 38, 44a un archivo plano mediante qsexportflat 44a una tabla de base de datos utilizando qsdbinsert37a una tabla de base de datos utilizandoqsdbupdate 38

exportar metadata de un enfoque a un archivo XML78expresión aritmética 186

en FDL 186expresión básica 186

en FDL 186expresión case 189

en FDL 189expresión case (FDL) 189expresión if 188

en FDL 188expresión if (FDL) 188expresión lógica 186

en FDL 186expresión regular 268, 272, 273, 274

composición 268probando una cadena para encontrar unacoincidencia 272reemplazar la primera subcadena que coincide274reemplazo de todas las subcadenas quecoinciden 273

expresión, lista de expresiones 186en FDL 186

extracción de secuencias mediante qsruleminer 129extraer de un archivo de archivo mediante qsunzip 98

FFDL 137, 182, 184, 186, 187, 190, 192, 195, 196,

198, 199, 206, 268acerca de 182coincidencia de cadena 268expresión, lista de expresiones 186expresiones if y case 187funciones 192, 199

definidas por el usuario 192incorporadas 199

operadores 195, 196, 198aritméticos 195lógicos 198relacionales 196

palabras reservadas 206prioridad 199

de operadores 199tipos de datos 184

Portrait Miner 7.1374

FDL (continuado)transformar elementos desde o hacia QMMLmediante qslt 137variables 190

fecha 216convertir un campo a 216

Field Derivation Language 182consulte FDL 182

filtrado de registros 154en un archivo de agregaciones TML 154

find (función FDL) 255first (función de agregación) 162, 170

en mediciones y derivaciones 162floor (función FDL) 280focus!describing using qsdescribe qsdescribe 106formato de fecha 55

Para archivos planos y expresiones FDL 55Foto de modelo 108

descomprimir con qshtmlunpack 108función 186, 192, 199

en FDL 186, 199aplicación 186incorporada 199

en FDL!defining 192funciones de agregación 162

para usar en mediciones y derivaciones 162funciones de división 156

para desglosar agregaciones 156

Ggmt2edt (función FDL) 246guardar un archivo de enfoque 97

mediante qsarchive 97

Hhour (función FDL) 246

Iidentificador 186

en FDL 186identificador estadístico 186

en FDL 186iff (función FDL) 209ifnull (función FDL) 210igualdad 196

operador FDL 196importación 78

de comentarios a un enfoque desde un archivoXML 78

importación (continuado)de metadata a un enfoque a partir de un archivoXML 78de metadata a un enfoque desde un archivo XML78

importación de datos 42, 48a partir de un archivo plano utilizando qsimportflat42a partir de un archivo SAS u otro conjunto dedatos creado por terceros mediante qsimportstat48

importación de metadata desde un archivo XML a unenfoque 78importar datos 33, 52

de un enfoque existente mediante qsimportfocus52de una tabla de base de datos utilizandoqsimportdb 33

importar metadata de un enfoque a otro 82mediante qsupdate 82

inicialización de una variable 190en FDL 190

inicialización y asignación de variables 190en FDL 190

instrucción create (TML) 152instrucción de calcular (TML) 158instrucción temporary (TML) 152isnull (función FDL) 211isselected (función FDL) 212

Jjerarquía de rangos categóricos 142

crear un mapa de categorías mediante qsmapgen142

Llargo de una cadena 261last (función de agregación) 162, 171

en mediciones y derivaciones 162left (función FDL) 256letra 264, 265

mayúscula 265convertir una cadena a 265

minúscula 264convertir una cadena a 264

letra mayúscula 265convertir una cadena a 265

literal de cadena 186en FDL 186

literal de fecha 186en FDL 186

375Guía de referencia del comando de creación de datos y TML

literal numérico 186en FDL 186

log (función FDL) 280log10 (función FDL) 281logbase (función FDL) 281

Mmagnitud de un número 278mapa de categorías 142

crear una jerarquía de rangos categóricosmediante qsmapgen 142

match (función FDL) 272max (función de agregación) 162

en mediciones y derivaciones 162max (función de agregación). 171max, maxnonnull (funciones FDL multi-argument). 282mayor a (o igual a) 196

operadores FDL 196mean (función de agregación) 162, 172

en mediciones y derivaciones 162mean, meannonnull ( funciones FDL multi-argument)283median (función de agregación) 162, 173

en mediciones y derivaciones 162medición 66

utilizando qsmeasure 66medición de transacciones 66

utilizando qsmeasure 66member (función FDL) 319menor a (o igual a) 196

operadores FDL 196menos 195

operador FDL 195metadata 40, 82

copiar de un enfoque a otro mediante qsupdate82creación de metadata de archivo plano medianteqsgenfdd 40

mid (función FDL) 257min (función de agregación) 162, 173

en mediciones y derivaciones 162min, minnonnull (funciones FDL multi-argument) 283minúsculas 264

convertir una cadena a 264minute (función FDL) 247mod, % (operador FDL) 195mode (función de agregación) 162, 174

en mediciones y derivaciones 162modelo 109

cómo crear una foto de modelo con qsdtsnapshoto qsscsnapshot 109

moderatio (función de agregación) 162, 175en mediciones y derivaciones 162

month (función FDL) 248MonthFrom (creación de rangos) 328MonthMultipleFrom (creación de rangos) 328MonthMultipleNumBins (creación de rangos) 329MonthMultiplePrePost (creación de rangos) 330MonthMultipleTo (creación de rangos) 331MonthMultipleWidth (creación de rangos) 332MonthPrePost (creación de rangos) 333MonthRange (creación de rangos) 334MonthTo (creación de rangos) 335mover un archivo de enfoque 95

mediante qsmove 95muestreo 292, 293, 294, 295, 296, 297

bidireccional estratificado 296partición 293

en subpoblaciones de tamañoaproximadamente igual 293

prueba/capacitación 292, 297mediante el uso de testTrainSplit 297uso de numericTestTrainSplit 292

prueba/capacitación/validación 292, 297mediante el uso denumericTestTrainValidateSplit 292mediante el uso de testTrainValidateSplit 297

selección de un número exacto de registros 294selección de un porcentaje exacto de registros295

muestreo bidireccional estratificado 296multiplicación 195

operador FDL 195

NNegativeNonNegative (creación de rangos) 337normalizar valores de campo 284normalize (función FDL) 284not (operador FDL) 198now (función FDL) 248numericTestTrainSplit (función FDL) 292numericTestTrainValidateSplit (función FDL) 292número aleatorio 300, 301, 302, 303, 304

con distribución binomial 300con distribución de Poisson 303con distribución exponencial 301con distribución gamma 302con distribución normal 302con distribución uniforme en un intervalo 304simula tirar una moneda al aire 301

número aleatorios 300en FDL 300

Portrait Miner 7.1376

número de índice 177, 326para un rango 326para un segmento de tabulación cruzada 177

nvl (función FDL) 210

OOfferROI (función FDL) 308OfferROIAnnualized (función FDL) 309operadores 195, 196, 198, 270

aritméticos 195en FDL 195

en una expresión regular en FDL 270lógicos 198

en FDL 198relacionales 196

en FDL 196operadores aritméticos 195

en FDL 195operadores lógicos 198

en FDL 198operadores relacionales 196

en FDL 196or (operador FDL) 198

Ppalabras reservadas 149, 206

FDL 206TML 149

percentage (función de agregación) 162, 175en derivaciones 162

percentagerate (función de agregación) 162, 176en derivaciones 162

Perfil y Auditoría 108descomprimir con qshtmlunpack 108

plan de creación de datos 28con qsbuild 28

por cláusula (TML) 156pow (función FDL) 285PreDuringPost (creación de rangos) 338PrePost (creación de rangos) 339prioridad de operadores 199

en FDL 199probar la pertenencia a un conjunto 319product, productnonnull (funciones FDL) 285promedio 172, 283

de una lista de números 283de valores en un campo 172

prueba/capacitación 292, 297mediante el uso de numericTestTrainValidateSplit292mediante el uso de testTrainSplit 297

prueba/capacitación (continuado)mediante el uso de testTrainValidateSplit 297uso de numericTestTrainSplit 292

Qqsarchive (comando de creación de datos) 97, 98qsaudit 102

crear un Perfil y Auditoría con qsaudit 102qsaudit (comando de creación de datos) 102qsbuild (comando de creación de datos) 28qscopy (comando de creación de datos) 94qsdbaccess (comando de creación de datos) 32qsdbcreatetable 35qsdbinsert 37qsdbupdate 38qsdecisiontree (comando de creación de datos) 125qsderive (comando de creación de datos) 63qsdescribelicense (comando de creación de datos)114qsdescribestat (comando de creación de datos) 107qsdtsnapshot (comando de creación de datos) 109qsexportflat 44qsexportmetadata (comando de creación de datos)78qsexportstat (comando de creación de datos) 50qsgenfdd 40qshtmlunpack (comando de creación de datos) 108qsimportdb 33qsimportflat 42qsimportfocus 52qsimportmetadata (comando de creación de datos)78qsimportstat (comando de creación de datos) 48qsinfo (comando de creación de datos) 113qsjoin (comando de creación de datos) 86qslink (comando de creación de datos) 95qslt (comando de creación de datos) 137qsmapgen (comando de creación de datos) 142qsmeasure (comando de creación de datos) 66qsmerge (comando de creación de datos) 90qsmove (comando de creación de datos) 95qsqmml2sas (comando de creación de datos) 139qsqmmledit (comando de creación de datos) 134qsqmmltosql (comando de creación de datos) 139qsqmmlview (comando de creación de datos) 134qsqsfmtosas (comando de creación de datos) 140qsremove (comando de creación de datos) 96qsruleminer (comando de creación de datos) 129qsscorecard (comando de creación de datos) 126qsscorecardwizard (comando de creación de datos)119qsscsnapshot (comando de creación de datos) 109

377Guía de referencia del comando de creación de datos y TML

qsselect (comando de creación de datos) 73qssettings (comando de creación de datos) 102qssort (comando de creación de datos) 62qstrack (comando de construcción de datos) 70qsupdate (comando de creación de datos) 82qsxt (comando de creación de datos) 112

Rraíz cuadrada de un número 288rango de carácter 268

en una expresión regular en FDL 268rangos 156

para desglosar agregaciones 156rankOrder (función FDL) 321rankOrderApprox (función FDL) 321rankOrderApproxMean (función FDL) 322rankOrderMean (función FDL) 322rastrear cambios de estado 70

mediante qstrack 70rastreo de cambio de estado 70

mediante qstrack 70real 217

convertir un campo a 217realizar un perfil de un enfoque 102

con qsaudit 102redondear a enteros 278

redondear hacia arriba 278redondear a un entero 286

redondeo hasta el entero más cercano 286redondear un entero 280

redondear hacia abajo 280referencia inversa 270

en una expresión regular en FDL 270regla 134

agregar elementos a un documento QMMLmediante qsqmmledit 134

relación 186en FDL 186

renombrar un archivo de enfoque 95mediante qsmove 95

replace (función FDL) 212replaceall (función FDL) 273replacefirst (función FDL) 274resto 195

operador FDL 195restricción de un numero a un intervalo 208RetentionActionROI (función FDL) 310RetentionActionROIAnnualized (función FDL) 311RetentionOfferROI (función FDL) 313RetentionOfferROIAnnualized (función FDL) 314retorno de la inversión 308

con OfferROI 308

right (función FDL 258rndBinomial (función FDL) 300rndBool (función FDL) 301rndExp (función FDL) 301rndGamma (función FDL) 302rndNormal (función FDL) 302rndPoisson (función FDL) 303rndUniform (función FDL) 304ROI 306, 307, 309, 310, 311, 313, 314

con ActionROI 306con ActionROIAnnualized 307con OfferROIAnnualized 309con RetentionActionROI 310con RetentionActionROIAnnualized 311con RetentionOfferROI 313con RetentionOfferROIAnnualized 314

round (función FDL) 286rownum (función FDL) 323

SsampleEqualSize (función FDL) 293sampleExactNumber (función FDL) 294sampleExactPercentage (Función FDL) 295sampleStratified (Función FDL) 296second (función FDL) 249segindex (función de agregación) 162, 177

en derivaciones 162seguimiento de dependencia en creaciones de datos

28con qsbuild 28

selección 212crear un campo de marca 212

selección de registros 73mediante qsselect 73

seleccionar registros 73mediante qsselect 73

semilla 300para generación de números aleatorios en FDL

300sobre 300

sgn (función FDL) 287Sign (binning) 340significance (función de agregación) 162, 177

en derivaciones 162signum (signo) de un número 287sin (función FDL) 287soundex (función FDL) 259sqrt (función FDL) 288startswith (función FDL) 260stdev (función de agregación) 162, 178

en mediciones y derivaciones 162strlen (función FDL) 261

Portrait Miner 7.1378

strmember (función FDL) 261substitute (función FDL) 262substr (función FDL) 263sum (función de agregación) 162, 179

en mediciones y derivaciones 162sum, sumnonnull (funciones FDL multi-argument) 288sustracción 195

operador FDL 195

Ttabla de base de datos 33, 35, 37, 38

actualizar la base de datos utilizando qsdbupdate38crear con qsdbcreatetable 35importar utilizando qsimportdb 33insertar datos utilizando qsdbinsert 37

tabulación cruzada 112crear elementos aplicando una especificaciónmediante qsxt 112

tan (función FDL) 289testTrainSplit (función FDL) 297testTrainValidateSplit (función FDL) 297texto 254, 255, 256, 257, 258, 260, 263, 265

buscar una cadena al final utilizando FDL 254buscar una cadena en el inicio utilizando FDL 260buscar subcadenas utilizando FDL 255eliminar espacios en blanco con FDL 265extraer una cadena de la posición de inicio y finalutilizando FDL 263extraer una subcadena de acuerdo a la posicióny longitud utilizando FDL 257extraer una subcadena final con FDL 258extraer una subcadena inicial utilizando FDL 256

tipo date 184en FDL 184

tipo entero 184en FDL 184

tipo real 184en FDL 184

tipo smallinteger 184en FDL 184

tipo string 184en FDL 184

tipos de datos 184en FDL 184

tipos de datos numéricos 184en FDL 184

TML 148, 149, 162acerca de 148funciones de agregación 162palabras reservadas 149

todate (función FDL) 216

today (función FDL) 249tointeger (función FDL) 217tolower (función FDL) 264toreal (función FDL) 217tostring (función FDL) 218toupper (función FDL) 265Transaction Measurement Language 148

consulte TML 148trim (función FDL) 265

Uunión de enfoques 86

mediante qsjoin 86unir cadenas 254unir campos 86

mediante qsjoin 86

Vvalor absoluto de un número 278valor literal 186

en FDL 186valor null 184, 210, 211

en FDL 184prueba para 211reemplazo con ifnull o nvl 210

valores falso y verdadero 185en FDL 185

variable global 190en FDL 190

variable local 190en FDL 190

variable state 190en FDL 190

variance (función de agregación) 162, 179en mediciones y derivaciones 162

WWeekFrom (creación de rangos) 328WeekMultipleFrom (creación de rangos) 328WeekMultipleNumBins (creación de rangos) 329WeekMultiplePrePost (creación de rangos) 330WeekMultipleTo (creación de rangos) 331WeekMultipleWidth (creación de rangos) 332weekofyear (función FDL) 250WeekPrePost (creación de rangos) 333WeekRange (creación de rangos) 334WeekTo (creación de rangos) 335

379Guía de referencia del comando de creación de datos y TML

XXML 137

cambiar el formato para obtener legibilidad 137XML en Portrait Miner 342

Yyear (función FDL) 251

YearFrom (creación de rangos) 328YearMultipleFrom (creación de rangos) 328YearMultipleNumBins (creación de rangos) 329YearMultiplePrePost (creación de rangos) 330YearMultipleTo (creación de rangos) 331YearMultipleWidth (creación de rangos) 332YearPrePost (creación de rangos) 333YearRange (creación de rangos) 334YearTo (creación de rangos) 335

Portrait Miner 7.1380