Ir al contenido


Foto

Creando porcentajes


  • Por favor identifícate para responder
48 respuestas en este tema

#41 felipe

felipe

    Advanced Member

  • Moderador
  • PipPipPip
  • 3.283 mensajes
  • LocationColombia

Escrito 01 diciembre 2008 - 08:19

Hola Eduardo, ya probe el query; funcionó aunque a todos me les arroja el mismo porcentaje  :D... me gustaría que me explicaras en más detalle la lógica de esta consulta... es algo nuevo para mi :D
  • 0

#42 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.409 mensajes
  • LocationRepública Dominicana

Escrito 02 diciembre 2008 - 05:59

Si te tira todo los datos el mismo porcentaje, pues es lógico el cálculo está mal, ahora sólo es cuestión de jugar con ella usando las matemáticas :D, ¿cómo se saca el porciento?:

S = Suma total
% = porciento (100)
V = Valor

V * % / S


Esa es la fórmula para sacar el porciento, ahora si me equivoqué que alguien me lo confirme :D :D
  • 0

#43 eduarcol

eduarcol

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.483 mensajes
  • LocationVenezuela

Escrito 02 diciembre 2008 - 07:28

es raro que te de los mismos valores, habria que revisar como transportastes los datos.  Un poco sobre la consulta, necesitas en la formula de enecumene tres valores:

        V: Valor a calcular el porcentaje
        %: 100
        S: Suma Total

Si nos vamos a los registros lo dos primeros valores lo tenemos( V y %), pero la suma no esta, debido a que el motor necesita recorrer todos los registros para calcularla, para eso debemos hacer una consulta



sql
  1. (SELECT SUM(Campo) AS Porc FROM tabla)



ahora la cosa es como hacer para unir esos valores a nuestros registros, al realizar un select dentro de un select este pasa a formar una tabla que se une a la que esta a la izquierda, esto quiere decir que a cada registro le va a agregar un campo adicional que seria la suma de los registros.

En este momento ya tenemos todos los datos disponibles, solo nos queda recrear la formula.
  • 0

#44 felipe

felipe

    Advanced Member

  • Moderador
  • PipPipPip
  • 3.283 mensajes
  • LocationColombia

Escrito 02 diciembre 2008 - 09:26

Hola, gracias por la explicación... ahora creo saber la mejor forma de calcular un porcentaje con estos valores, lo estuve pensando y creo que los estaba era enredando a ustedes también  :$... lo que necesito para hacer esto será hallar el valor mas alto en la consulta y digamos que le sumo 100 o la redondeo; ese valor es el 100% y ahora si podré sacar porcentajes de una manera más simple... creo que así podre mejorar la cosa  :D.

Haré pruebas... 8-|
  • 0

#45 eduarcol

eduarcol

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.483 mensajes
  • LocationVenezuela

Escrito 02 diciembre 2008 - 10:05

no le veo la logica para ese planteamiento, pero igual, si quieres sacar el porcentaje en base al valor maximo y no a la sumatoria solo se cambia el sum por el max, asi



sql
  1. SELECT Campo AS Valor, ((Campo * 100) / P.Porc) AS porcentaje FROM Tabla, (SELECT MAX(Campo) AS Porc FROM tabla) P


  • 0

#46 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.409 mensajes
  • LocationRepública Dominicana

Escrito 02 diciembre 2008 - 10:10

Concuerdo con eduardo, no le vemos la lógica de usar el máximo, si lo usas, el porcentaje resultante no será el Correcto/Real ;)

Saludos.
  • 0

#47 eduarcol

eduarcol

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.483 mensajes
  • LocationVenezuela

Escrito 02 diciembre 2008 - 10:28

el asunto esta en base a que vas a tomar el porcentaje, originalmente tomabas en cuenta cuando representaba cada valor dentro del monto total, aqui vas a mirar que porcentaje cubre el valor del monto maximo.
  • 0

#48 felipe

felipe

    Advanced Member

  • Moderador
  • PipPipPip
  • 3.283 mensajes
  • LocationColombia

Escrito 02 diciembre 2008 - 10:48

No digo que no sea válida... lo digo porque pensé que puede servir también :D
  • 0

#49 felipe

felipe

    Advanced Member

  • Moderador
  • PipPipPip
  • 3.283 mensajes
  • LocationColombia

Escrito 02 diciembre 2008 - 10:52

el asunto esta en base a que vas a tomar el porcentaje, originalmente tomabas en cuenta cuando representaba cada valor dentro del monto total, aqui vas a mirar que porcentaje cubre el valor del monto maximo.

Probaré los resultados de las opciones... espero optimizar el código completo y mostrar los resultados  :D
  • 0