Estoy configurando un esquema de evaluación y al asignar los rubros estos en total son 7, como tal el cliente tiene un peso igual para los 7, en teoría seria 100%/7=14.2857, pero el sistema no me deja guardar porque dice que debe de ser exacto la sumatoria a 100, que hago en este sentido ya que no deberían tener valores diferentes cada rubro sino el mismo.

asked 21 Oct '14, 19:34

ohernandez's gravatar image

ohernandez
206151515
accept rate: 0%


El problema que la división de 100/7 no es exacta, por lo tanto la sumatoria no es 100, sino 99.9999 por lo tanto lo que deberías hacer es asignarle 14.2858 a uno de los rubros para que la sumatoria sea exactamente 100

link

answered 21 Oct '14, 19:59

cgalan's gravatar image

cgalan ♦♦
(suspended)
accept rate: 75%

Para el cálculo de la nota es necesario que la suma de los rubros de 100, por lo que te aconsejaría que ajustes el peso para que la suma sea 100, en tu caso podría ser el peso de 6 rubros 14.28 y el de un rubro 14.32, al final va existir una diferencia de decimales pero no te debería impactar mucho en la nota.

En su momento utilice un procedimiento para que realizara este ajuste, similar al que coloco a continuación por si te sirve:

--Se actualizan los pesos de los rubros de factores 
UPDATE r
SET rub_peso = f.peso
FROM eva.rub_rubros r
    JOIN (SELECT fac_codigo, 
            ROUND(1.00 / COUNT(*) * 100.00, 2) peso
          FROM eva.fac_factores
            JOIN eva.rub_rubros ON fac_codigo = rub_codfac
          WHERE fac_codpev = @codpev
            AND fac_es_tecnica = 0
          GROUP BY fac_codigo) f ON r.rub_codfac = f.fac_codigo

--Se ajustan el peso del ultimo rubro de factores para que la suma de los rubros de 100.00 debido
-- a que se están redondeando a 2 decimales
UPDATE r
SET rub_peso = f.peso
FROM eva.rub_rubros r
    JOIN (SELECT fac_codigo, 
            100.00 - ROUND(1.00 / COUNT(*) * 100.00, 2) * (COUNT(*) - 1) peso,
            MAX(rub_orden) orden
          FROM eva.fac_factores
            JOIN eva.rub_rubros ON fac_codigo = rub_codfac
          WHERE fac_codpev = @codpev
            AND fac_es_tecnica = 0
          GROUP BY fac_codigo) f ON r.rub_codfac = f.fac_codigo AND r.rub_orden = f.orden
link

answered 21 Oct '14, 20:01

Carlos%20Soria's gravatar image

Carlos Soria ♦♦
1.2k123139147
accept rate: 60%

Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Evolution en BitBucket

En este sitio puede acceder al código fuente, centro de descargas y reportar bugs, propuestas y mejoras para Evolution.

Evolution en JIRA

En este sitio puedes sugerir nueva funcionalidad para Evolution, o puedes votar por la funcionalidad ya propuesta por otros usuarios.

Tags:

×51

Asked: 21 Oct '14, 19:34

Seen: 1,699 times

Last updated: 21 Oct '14, 21:29

[Acerca de] [Preguntas Frecuentes] [Privacidad] [Soporte] [Contacto]
Copyright 2013-2018. Asesores en Informática