cancel
Showing results for 
Search instead for 
Did you mean: 

Reporte con porcentajes.

Former Member
0 Kudos

Buenos Días estimados,

  Estoy intentando lo siguiente, crear un reporte con el generador de consultas, es un reporte que trae distintos datos de la nota de credito, datos como: Número de documento, Nombre del Cliente, Fecha de contabilización, Nombre del Vendedor, Motivo de devolucion (Campo adicional), % Porcentaje.

El detalle esta en ese porcentaje, lo que se quiere es que aparezca el porcentaje que corresponde al tipo de devolución.

Por Ej. un tipo de motivo de devolución es "Error en Documento", suponiendo que tengo un universo de 1000 notas de creditos en total, y de notas de credito con "Error en Documento" son 500 en total, entonces me aparezca en la columna de % porcentaje, 50%.

Si alguien tiene alguna idea de como hacer esto que me pueda ayudar por favor.

Muchas gracias de antemano.

Accepted Solutions (1)

Accepted Solutions (1)

former_member210784
Active Contributor
0 Kudos

Hola.

Coloca lo que tienes de la consulta para orientarte con lo que sigue.

Saludos.

Former Member
0 Kudos

Hola Hector,

  Esto es lo que llevo

SELECT T0.[DocNum], T0.[CardName]'Cliente', T0.[DocDate], T1.[SlpName]'Vendedor', T0.[U_TS_Devolucion] FROM ORIN T0  INNER JOIN OSLP T1 ON T0.SlpCode = T1.SlpCode

where T0.[DocDate] >= [%0] and T0.[DocDate] <= [%1] and T0.[U_TS_Devolucion] = [%2]

former_member210784
Active Contributor
0 Kudos

Hola.

Intenta así:

DECLARE @TOT AS INTEGER
DECLARE @TC AS INTEGER
SET @TOT=(SELECT COUNT(T0.DocNum) FROM ORIN T0 WHERE T0.DocDate BETWEEN '[%0]' AND '[%1]')
SET @TC=(SELECT COUNT(T0.DocNum) FROM ORIN T0 WHERE T0.DocDate BETWEEN '[%0]' AND '[%1]' AND T0.[U_TS_Devolucion] = '[%2]' )


SELECT T0.[DocNum], T0.[CardName]'Cliente', T0.[DocDate], T1.[SlpName]'Vendedor', T0.[U_TS_Devolucion], ((@TC*100)/@TOT) as Prct
FROM  ORIN T0  INNER JOIN OSLP T1 ON T0.SlpCode = T1.SlpCode
WHERE T0.[DocDate] BETWEEN '[%0]' AND '[%1]' AND T0.[U_TS_Devolucion] = '[%2]'

Nos cuentas cómo te va.

Saludos.

former_member210784
Active Contributor
0 Kudos

Si vas a sacar la tabla para el indicador de causales, sería así:

DECLARE @TOT AS INTEGER
SET @TOT=(SELECT COUNT(T0.DocNum) FROM ORIN T0 WHERE T0.DocDate BETWEEN '[%0]' AND '[%1]')

SELECT T0.[U_Cod_Causal], COUNT(T0.[U_TS_Devolucion]), 'Porc' = ((COUNT(T0.[U_TS_Devolucion])*100)/@TOT)
FROM ORIN T0
WHERE T0.[DocDate] BETWEEN '[%0]' AND '[%1]'
GROUP BY T0.[U_TS_Devolucion]

Saludos.

Former Member
0 Kudos

Muchas Gracias Hector, pude completar el reporte con esto que me enviaste.

Saludos

Answers (0)