Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Buen día Comunidad.
Tengo unos registros donde el campo de descripción de productos ha venido cambiando y me presenta los datos dispersos cuando quiero revisar la información en una tabla para evaluar el desempeño de cada uno.
Hay un campo (UPC) que se mantiene igual, he querido utilizar este campo en la tabla de datos, para que me presente una única descripción, puede ser la más reciente e ignore las demás, pero no logro hacer que funcione, por lo general muestra lo mismo.
La idea es poder lograr que solo presente una descripción (SKU) por línea. Por lo general la mejor es la que viene en los datos de fecha más reciente.
Esto es un ejemplo de como lo muestra en una tabla:
Como siempre muchas gracias por la ayuda!!!
Hola Gustavo, podrías probar con:
FirstSortedValue(SKU, -CampoFechaDatos)
Aunque si en la fecha más reciente un UPC tiene más de 1 valor distinto para SKU develverá nulo.
Quizás lo mejor sería crear este campo en el script usando un mapping:
// Primero se crea el mapping
// Se ordena descendente por fecha porque devuelve la primera coincidencia que encuentre
mapSKU:
Mapping LOAD
UPC,
SKU
Resident tabladatos
Order by campoFecha Desc
// Y se usa en la tabla de datos para recuperar un único valor para cada UPC
Datos:
LOAD
Applymap('mapSKU', UPC, 'No existe en maestro (' & UPC &')') as [Descripción UPC]
Muchas gracias por tu pronta colaboración, Rubén...
Me está generando un error la carga de los datos.
En la imagen te muestro como tengo el proceso de la carga, que en realidad es algo sencillo.
No tengo un campo de fecha por lo que tuve que crear uno a partir de otros campos, y funciona.
Mi duda está en dar el órden correcto a los segmentos para que lea las instrucciones.
Si dejo este órden me da un error el segmento QVD que es donde tengo los datos almacenados.
Muy bien recibidas serán las aclaraciones que reciba...
Gracias!!!
Hola Gustavo,
Lo de la pestaña Descripciones no debería ir ahí, es solo un ejemplo de como usar la tabla mapSKU, tendrías que añadirla como una línea mas en la tabla de la pestaña QVD:
LOAD
Applymap('mapSKU', UPC, Null()) as [Descripción UPC]
makedate(... // el resto del script que tenías
ApplyMap busca un valor en el primer campo de la tabla de mapping y devuelve el valor del segundo campo (si hay más de un valor igual en el primer campo devuelve el primero que encuentre), usa como parámetros:
- tabla mapping a usar
- valor a buscar
- valor que devuelve si no encuentra el valor buscado, si no se rellena devuelve el mismo valor pasado en el primer parámetro
Por esta razón no puedes añadir la fecha en la tabla de la pestaña 'Map SKU', el primer campo debe ser el valor a buscar, y el 2º el valor que devuelve. (También le faltaba un ; al final, y 'Resident' se usa cuando se lee de una tabla ya cargada, si es de qvd se usa 'From').
Se podría usar "Order by Año desc, Mes desc" pero al leer desde un qvd el 'Order by' no funciona, así que primero hay que cargar una tabla temporal para después poder ordenarla leyendo de una tabla Resident, y ya puestos aprovechamos para crear la fecha:
tmpSKU:
Mapping LOAD
MakeDate(Año,Mes) as Fecha
UPC,
SKU
From qvd
;
mapSKU:
Mapping LOAD
UPC,
SKU
Resident auxSKU
Order by Fecha Desc;
//Eliminar tabla temporal
DROP Table tmpSKU;
Saludos.
De nuevo muchas gracias Ruben.
Sigo haciendo algo errado, me dan estos errores, aun haciendo ajustes y probando cosas diferentes.
Sigo sin estar seguro del orden de las Secciones de Script, cuando mejor me funciona es cuando las tengo de la forma siguiente:
Me pasó que al correr
Cambié el nombre de la tabla auxSKU, porque me indica que no la encuentra, pero da igual...
Gracias por la ayuda!!!
Disculpa, se me paso en la primera tabla la palabra Mapping, que había que quitarla:
tmpSKU:
LOAD
MakeDate(Año,Mes) as Fecha
UPC,
SKU
From qvd
;
mapSKU:
Mapping LOAD
UPC,
SKU
Resident tmpSKU
Order by Fecha Desc;
//Eliminar tabla temporal
DROP Table tmpSKU;
Rubén muchas gracias por la ayuda, funcionó de forma excelente!!!
No contesté antes porque me emocioné utilizando los datos ya con solo una solo descripción !!!
Saludos.