Jump to content

Asignar Codigo a ventas segun su SKU


Daramirez

Recommended Posts

Hola a todos!!

Les comento mi problema y espero que me puedan ayudar. Tengo la tabla1 la cual representa los pedidos que realizo, esta tiene un codigo y su respectivo SKU (Tipo de Producto). Y la Tabla2 que representa las ventas, con sus cantidades y SKU. Lo que necesito hacer es que a medida que vayan cayendo las ventas se asigne automaticamente el codigo del pedido a la venta, y una vez que se venda todo el pedido, se le asigne el siguiente pedido con su respectivo codigo y asi sucecivamente. Les dejo el excel, si se puede solucionar por power query seria ideal. de todas fromas cualquier solucion me sirve. 

Libro de prueba.xlsx

Link to comment
Share on other sites

Hola!

Tienes un problema con tus tablas y su modelo

Por ejemplo como puedes identificar esto

image.png

para obtener esto

image.png

Si la tabla de costo esta así

image.png

Power Query no podrá asociar los SKU solo con la descripción, necesita el código como tal para coincidir y luego obtenerlo

 

Saludos 

Link to comment
Share on other sites

Hola !! Justamente, solo tengo la relación con el sku, mi idea era sacar el acumulado del sku de las ventas, y si el acumulado es menor al pedido asignarle ese código, una vez que sea mayor  o igual pasar al siguiente pedido y así sucesivamente. Mi problema es que no lo Puedo llevar acabo, pensé que quizás alguien que se manejara con el lenguaje M, o con Dax pudiera concretarlo. 

Link to comment
Share on other sites

Hace 2 horas, Daramirez dijo:

Justamente, solo tengo la relación con el sku

No, no tienes relacion con SKU, en la tabla "venta", solo figura una descripción del SKU, que no es lo mismo

Para poder hacerlo de la manera correcta y siguiendo con las buenas practicas de modelado de datos, es necesario que las tablas vayan teniendo relacion con un código único

Hace 2 horas, Daramirez dijo:

Mi problema es que no lo Puedo llevar acabo, pensé que quizás alguien que se manejara con el lenguaje M, o con Dax pudiera concretarlo. 

Tu problema es de implementación y logica, no si alguien sabe de los lenguajes

Este caso se resuelve fácil con lo que te expuse

 

Saludos y suerte!

Link to comment
Share on other sites

Estimado por su puesto que se resuelve facil si ambos tienen una columna que se vincula, si fuera asi, no me hubiera dado la molestia de exponer el problema, y lo hubiera hecho por mi cuenta. Y no es un problema de implementación y logica, es asi como se me entregan las bases de dos plataformas establecidas distintas. El problema es que no queria tener que esta modificandolas a mano cada vez que las descargo para que ambas tengan el codigo. Pero no te preocupes, gracias por tu comentario. Saludos.

Link to comment
Share on other sites

Insisto, si es problema de lógica y de implementación 

DAX ni Power Query, podrán encontrar lo que se busca, si no le damos cierta lógica de donde buscar y asociar... hago este comentario para que quede aclarado que las herramientas necesitan estructuras para relacionar y transformar

 

Suerte!

Link to comment
Share on other sites

  • Crear macros Excel

  • Posts

    • Muchas Gracias Janlui. Funciona perfecto, veras que he añadido a la macro una última línea que es la que crea el fichero final TXT en una ubicación concreta. Lo que no se es porque una vez generado el TXT la última parte la vuelve a entrecomillar (en la hoja 5 del fichero que adjunto veras un pantallazo del TXT que genera) Repito, muchas gracias por la ayuda Saludos       Ejemplo3.xlsm
    • Observé un pequeño error, espero ya esté bien. Sub genera_txt()     Set datos = Worksheets("Hoja1")     Sheets("hoja2").Select     Dim cadena As String     Range("a27:a5000").ClearComments     rd = 2     rs = 27     xc = Chr(34)     Do While datos.Cells(rd, 1) <> ""         cadena = xc & Left(datos.Cells(rd, 3), Len(datos.Cells(rd, 3)) - 6) & xc & "," & xc         For i = 7 To 11             cadena = cadena & datos.Cells(rd, i)         Next         cadena = cadena & xc & "," & xc         For i = 12 To 56             cadena = cadena & datos.Cells(rd, i)         Next         cadena = cadena & xc & "," & xc & datos.Cells(rd, 1) & xc         Cells(rs, 1) = cadena         rs = rs + 1         rd = rd + 1     Loop End Sub  
    • Disculpa que no te lo regrese en el archivo, pero mi nivel de membresía no me permite completar al 100% el apoyo que solicitan.
    • Copia la macro y el resultado lo pondrá en la Hoja2... Saludos Sub genera_txt()     Set datos = Worksheets("Hoja1")     Sheets("hoja2").Select     Dim cadena As String     Range("a27:a5000").ClearComments     rd = 2     rs = 27     xc = Chr(34)     Do While datos.Cells(rd, 1) <> ""         cadena = xc & Left(datos.Cells(rd, 3), Len(datos.Cells(rd, 3)) - 6) & xc & "," & xc         For i = 6 To 10             cadena = cadena & datos.Cells(rd, i)         Next         cadena = cadena & xc & "," & xc         For i = 11 To 56             cadena = cadena & datos.Cells(rd, i)         Next         cadena = cadena & xc & "," & xc & datos.Cells(rd, 1) & xc         Cells(rs, 1) = cadena         rs = rs + 1         rd = rd + 1     Loop End Sub  
    • Todas tus celdas deberán tener formato numérico.
  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy