Directrices para utilizar macros personalizadas

Tenga en cuenta las directrices siguientes a la hora de crear o utilizar una macro personalizada:

*
*
Si un origen de datos ha sido configurado con la propiedad ENABLE_SELECT_SORT_BY = TRUE, deberá escribir las macros personalizadas de SQL sin formato con una cláusula ORDER BY con el fin de poder ordenar los registros devueltos según los campos clave de audiencia del nivel de audiencia en el que esté trabajando. De lo contrario, si el orden no es el esperado, cuando se utilice la macro personalizada en un campo derivado de un proceso Extracción se generará un error.
*
*
Cuando una macro personalizada utiliza tablas temporales en su lógica subyacente, se forzará el uso de una tabla temporal en la base de datos para que la lógica no falle.
No obstante, si se utiliza una macro personalizada en una cláusula SELECT de nivel superior, no existe ningún historial que Campaign pueda utilizar para forzar el uso de una tabla temporal en la base de datos, y la lógica falla.
Por consiguiente, cuando cree una macro personalizada que utilice SQL sin formato, es posible que deba crear dos versiones de la misma macro personalizada: una que utilice identificadores y otra que no los utilice.
La macro personalizada sin identificadores de tabla temporal puede utilizarse en la parte superior de un árbol (por ejemplo, en la primera cláusula SELECT). La macro que tiene identificadores de tabla temporal puede utilizarse en cualquier otro lugar del árbol en el que exista una tabla temporal que pueda aprovecharse.
*
Por ejemplo, si utiliza una macro personalizada basada en SQL sin formato que devuelve un valor (en un proceso Extracción, por ejemplo) y genera la salida de la macro personalizada y de otro campo a partir de la tabla en la que se basa la macro personalizada, Campaign realiza una unión automática en dicha tabla. Si la tabla no está normalizada, acabará obteniendo un producto cartesiano (es decir, el número de registros mostrado será superior al esperado).
*
En el momento de la ejecución, para resolver una macro personalizada se busca su definición en la tabla del sistema UA_CustomMacros (que contiene las definiciones) y luego se utiliza o ejecuta la macro.
*
Campaign admite consultas almacenadas de versiones anteriores. No obstante, en las referencias a consultas almacenadas que no son únicas debe utilizarse la sintaxis antigua:
storedquery(<query name>)
*
*
*
*
*
TestCM( {STRING_CONCAT(UserVar.Test1, UserVar.Test2) } )

Las siguientes tablas describen cómo Campaign trata a las macros personalizadas en las consultas y los campos derivados.

Macros personalizadas en las consultas y los campos derivados (Procesos Selección, Segmentación y Audiencia)

Se ejecuta como consulta independiente. La lista de ID se combina con otros resultados.

Si una macro personalizada contiene otra marco personalizada y SQL sin formato, las macros personalizadas se resuelven y ejecutan, y luego se ejecuta el SQL sin formato.

Espera que el valor devuelto se utilice en una expresión o como comparación.

Si el valor no se utiliza de este modo, Campaign trata un valor distinto de cero como TRUE para la selección de ID y un valor igual a cero y una cadena como FALSE.

Se resuelve la expresión y se verifica la sintaxis. Se admite una consulta por tabla y se lleva a cabo la coincidencia y combinación de ID.

En una consulta SQL sin formato (procesos Selección, Segmentación y Audiencia)

Se resuelve la macro personalizada y luego se ejecuta la consulta.

Se resuelve la expresión, pero la sintaxis no se verifica. Si la expresión es incorrecta, el servidor de bases de datos la detecta durante su ejecución.



IBM Unica Campaign
 
8.5.0
For more information, see our support and community site: Customer Central