Bueno, vamos a hacer un ejercicio un poco más complejo, construir presidios.
Vamos a hacer una codificación abecé de nuestros artículos para los que no saben que es una codificación
abecé, es una categorización que uno hace de los productos.
Generalmente se hace con la valorización del inventario.
Los que saben de administración de empresas saben que el stock nuestro en nuestro inventario se valoriza
y se le da una categoría a los productos para saber cuáles son los productos que tienen categoría,
o sea, los más valiosos para nosotros los de categoría, que son los intermedios y los productos categoría
C, que son los productos que no mueven mucho la aguja si los tenemos bien y si no los tenemos, tampoco
nos van a volver pobres.
Entonces, como nosotros no tenemos en nuestra base de datos de ejemplo el stock de los productos,
no hemos traído tablas de inventario.
Lo vamos a hacer en base a algo mucho más interesante, que es el tema de la utilidad de los productos.
Cuáles son los productos que más dinero nos dejan o nos han dejado en un período determinado?
Y una vez que nuestro sector prosigue, durará todo este procesamiento va a terminar actualizando un
campo de la tabla, productos que lo vamos a crear.
Ahora lo voy a ir explicando a medida que lo vamos a ir haciendo.
Entonces lo primero que vamos a hacer es agregar en la tabla productos, vamos a ir a nuestra tabla
productos y vamos a agregar un campo nuevo que se va a llamar, pero a veces va a ser de tipo character
porque no va a tener simplemente una letra, va a ser una letra, una o una C, le vamos a colocar longitudes
o no permitir nol, porque por predeterminado vamos a hacer que tenga un null.
Cuando no ha caído ninguna de las valorizaciones de ganancia, ese producto va a tener un null.
Y cuándo va a ocurrir eso?
Cuando detectemos que ese producto no ha sido vendido, en el lapso que nosotros vamos a analizar este
estor, prosiguió.
Creo que vamos a crear a su vez llamar a una función que la vamos a crear también, así que lo vamos
a hacer todo más complejo.
Lo primero que vamos a hacer es paso a paso, por lo menos en este capítulo es crear la función que
devuelve un valor, que es el valor del total valorizado de utilidad para un período determinado.
Entonces, lo que vamos a hacer es botón derecho en la base de datos.
Vamos a crear un nuevo, una rutina, una rutina almacenada que la vamos a llamar utilidad total.
Y lo que va a tener esta rutina es básicamente que devolver un resultado vamos a decir que es un decimal.
Como corresponde un decimal, vamos a devolver un decimal de 10 de largo con dos decimales.
Por supuesto vamos a tener que decirle que va a leer datos de SQL y le vamos a crear dos parámetros.
Son los dos parámetros que vamos a enviar, que va a ser fecha desde y fecha, hasta lo vamos a hacer
más dinámico que los ejemplos anteriores.
No vamos a pasar un mes ni un año, sino que le vamos a dar la posibilidad a nuestro a nuestra función
de recibir una fecha desde una fecha hasta poder ser más dinámicos y queremos evaluar una semana.
Lo podemos hacer si queremos evaluar 15 días.
40 14:13.
En definitiva, lo que va a marcar es esta fechas que vamos a recibir.
Vamos a agregar un parámetro, lo vamos a llamar Nyom, BAC o fecha.
Desde aquí le vamos a decir que es de tipo Daguet.
Muy bien, vamos a crear un segundo parámetro
fecha hasta y le vamos a decir que es de tipo bait.
Muy bien, ya tenemos nuestros dos parámetros y lo que va a ser nuestra función es vamos a declarar
una variable, que es donde va a grabar el resultado de la sentencia Select que vamos a correr, vamos
a hacer un declarar ganancia, va a ser un decimal de diez coma dos y ahora lo que vamos a hacer es
simplemente grabar en esta variable el resultado de una sentencia Select.
Recuerden que la sentencia Select dentro de las funciones o las estor presidios me permite hacer un
selleck hindú.
En este caso voy a hacer un C.L.
De determinados campos intro o ganancia.
Y ahí va a hacer una suma.
Va a hacer muchas cosas.
Vamos a hacer un C.L.
Y lo voy a explicar.
Obviamente SUM devedé cantidad
de cantidad que va a estar multiplicando al deprecio menos de costo y todo esto lo va a ser ganancia,
que es lo que estoy haciendo.
Aquí lo que estoy haciendo es recorrer la tabla de ventas.
Detalle vamos a completarla.
Si la puedo explicar mejor va a ser un ventas.
Detalle
Y como estoy usando fechas, recuerden que las fechas no se encuentran en el detalle de la factura,
sino que como es un dato que no puede repetirse, lo tenemos en la cabecera de factura, así que vamos
a tener que hacer un yeung ventas on ventas.
Heydi de ir al campo si mal no recuerdo y aquí era ventas ahí, ahí ya tenemos unidad de la tabla,
ventas con ventas, detalle muy bien.
Ahora todo esto va a tener que tener una.
Por qué?
Porque le estoy pasando fechas de parametro.
Entonces vamos a colocar un wear ventas fecha bitcoin, porque tengo un rango desde hasta que la fecha
de la factura esté dentro de fecha.
Desde la fecha hasta ahí ya estoy trayendo las facturas solamente que pertenezcan a un rango.
Estoy uniendo la tabla de ventas, detalle con la tabla, ventas y lo que voy a hacer es sumar todas
las utilidades.
Las utilidades, que son el precio con el que vendió un producto, le restó el costo.
Eso me va a dar la ganancia por producto, pero bueno, yo tengo cantidades por ahí que vendí cinco
unidades de un producto desde el otro tengo que multiplicar por la cantidad y toda la suma de eso de
cada uno de los registros lo va a sumar en un gran total y lo va a meter dentro de ganancia.
Voy a agregar un par de condiciones más porque mi tabla de ejemplo no está muy consistente.
Vamos a ver que hay registros que el costo no lo tiene, entonces ahí me va a dar una información mentirosa.
Tengo un precio de venta, tiene un costo en cero.
Me va a decir que gané algo que en realidad no gané, así que esos registros, para que no nos desvirtúen
las estadísticas, los vamos a quitar.
Cómo hacemos que en el WEARS me traiga solamente todos los costos, que sea mayor a cero?
Y además le voy a agregar una última condición por las dudas, porque vamos a ver que si ustedes hacen
un CELE que van a ver que hay algunos registros donde por inconsistencia de los datos que los hemos
estado tocando, hay registros donde el precio es mayor, el costo es menor al costo.
Entonces, cuando quiera hacer esta cuenta que el precio es menor a costo, me va a dar una inconsistencia,
porque este décima no es consigno, es asignã.
Entonces lo que vamos a hacer es agregarle una última y vamos a filtrar para cuando encuentre registros
donde realmente el precio de venta sea mayor a costo.
Muy bien, se cierra con punto y coma porque estamos dentro de una estor, prosiguió.
Inmediatamente lo que hacemos es un retorno de ganancia.
Muy bien tenemos, vamos a grabar, a ver si hay algún error, no hay ningún error y esto lo podemos
probar.
Cómo lo probamos?
Venimos a nuestra consulta, hacemos un C.L.
Recuerden que cuando El Estor prosiguió no devuelve ningún valor, se ejecuta con un gol.
Cuando devuelve un valor hay que meter esa función dentro de un select.
Entonces hacemos un cele utilidad.
Vamos a colocar los parámetros 2018, que es los datos que tenemos en nuestras tablas como primer fecha
desde y fecha hasta le colocamos el 31 de enero muy bien.
Vamos a ejecutar esto y me trae la utilidad total.
Fíjense lo rápido que ha hecho esto.
La utilidad total de todo enero ha sido 773 000 722.
Esta función la vamos a ver ahora en el capítulo siguiente, donde vamos a hacer la estor presídium
lo complejo que vamos a ejecutar.
Esta función me devuelve este valor y va a ser llamada no por un celeb común, sino que va a ser llamada
dentro del estor, prosiguió.
Y van a ver cómo funciona, así que nos vemos en el próximo capítulo y vamos a ver la parte 2 de esta
estor compleja y real que vamos a ver en esta oportunidad.