Medir el nivel de carga de Una Base de Datos.

Estoy haciendo un repositorio de datos con 30 tablas sobre la información de los clientes. Necesito establecer que cantidad de información tiene recolectada un cliente especifico. Es decir para el cliente con código xyz... Tiene 10% de información en la tabla Atributos Personales... Tiene el 40% en la tabla Atributos Financieros... Para establecer de manera precisa que cliente tiene más información recolectada y cuales tienen poca información. Esablecer que un cliente tiene 70% de información y otro tiene en total un 20%. Muchas Gracias.

1 Respuesta

Respuesta
1
La solución seria saber que campos están vacíos y queno y después calcular porcentajes simplemente.
Para eso intenta esto:
vacios=0
con_inf=0
use inf_personal && tabla que guarda informacion personal del cliente.
num_campos= afields(inf_tabla,'inf_personal')
select * from inf_personal where id= parametro into cursor cur_aux
if _tally<>0 && si se encontro el cliente
for ii=1 to num_campos
       nom_campo=inf_tabla[ii,1] && nombre del campo
      if empty(cur_aux.&nom_campo) or isnull(cur_aux.&nom_campo)
              vacios=vacios+1
      else
                con_inf=con_inf+1
    Endif
Endfor
wait window 'cliente con ' + alltrim(str(con_inf*100/num_campos,3,0)) +'% de informacion personal.'
else
wait windows ' 0%......... cliente no encontrado'
Endif
Intenta eso con cada tabla que quieras saber el porcentaje de información capturada.
Espero te sirva... cualquier duda ponte en contacto... by

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas