Está en la página 1de 9

TRABAJADO EN CLASE CREATE DATABASE

PROYECTO_UNI_TURNO_TARDE
GO
USE PROYECTO_UNI_TURNO_TARDE

CREATE TABLE TIEMPOS_MINA (


Id INT,
Flota VARCHAR (50),
EquipoVARCHAR (50),
Tiempo_Calendario DECIMAL (10,2),
Tiempo_Produccion DECIMAL (10,2),
DNP_Proceso DECIMAL (10,2),
DNP_Equipos DECIMAL (10,2),
DP_Proceso DECIMAL (10,2),
DP_Equipo DECIMAL (10,2),
Stand_By DECIMAL (10,2),
Accid DECIMAL (10,2),
Stop_Prog DECIMAL (10,2),
Stop_No_Prog DECIMAL (10,2)
)

SELECT*FROM TIEMPOS_MINA

--INSERTAR LOS DATOS A LA TABLA TIEMPOS_MINA


BULK INSERT TIEMPOS_MINA

FROM
'C:\Users\Usuario\Desktop\CLASE TARDE\Tiempos.txt'
WITH(
FIRSTROW = 2
)
--CALCULAR (DEMORA NO PROG) DNP TOTAL
SELECT
*,
(ISNULL(DNP_Proceso,0) + COALESCE(DNP_Equipos,0)) AS
'DNP_TOTAL',
(ISNULL(DP_Proceso,0) + COALESCE(DP_Equipo,0)) AS 'DP_TOTAL'
FROM
TIEMPOS_MINA

--CALCULAMOS LA DISPONIBILIDAD

SELECT
*,
CASE
WHEN (ISNULL(Tiempo_Calendario,0)-(ISNULL(DNP_Equipos,0) +
ISNULL(DP_Equipo,0) + ISNULL(Stand_By,0))) = 0 THEN 0
ELSE
(ISNULL(Tiempo_Produccion,0))*100/(ISNULL(Tiempo_Calendario,0)-
(ISNULL(DNP_Equipos,0) + ISNULL(DP_Equipo,0) + ISNULL(Stand_By,0)))
END AS 'UT(%)'

FROM
TIEMPOS_MINA

--REDUCIMOS CEROS
SELECT
*,
CASE
WHEN (ISNULL(Tiempo_Calendario,0) - ISNULL(Stand_By,0))=0
THEN 0
ELSE CAST(((ISNULL(Tiempo_Calendario,0) -
(ISNULL(DNP_Equipos,0) + ISNULL(DP_Equipo,0) +
ISNULL(Stand_By,0)))*100/(ISNULL(Tiempo_Calendario,0) - ISNULL(Stand_By,0)))
AS DECIMAL (10,3))
END AS 'Av(%)',
CASE
WHEN (ISNULL(Tiempo_Calendario,0)-(ISNULL(DNP_Equipos,0) +
ISNULL(DP_Equipo,0) + ISNULL(Stand_By,0))) = 0 THEN 0
ELSE
CAST((ISNULL(Tiempo_Produccion,0))*100/(ISNULL(Tiempo_Calendario,0)-
(ISNULL(DNP_Equipos,0) + ISNULL(DP_Equipo,0) + ISNULL(Stand_By,0))) AS
DECIMAL (10,3))
END AS 'UT(%)'
FROM
TIEMPOS_MINA

--CREAR PLANTILLA CON LOS NOMBRES DE CADA EQUIPO


SELECT
DISTINCT LEFT(Equipo,2) AS 'Equipo',
CASE LEFT(Equipo,2)
WHEN 'BH' THEN 'RETROEXCAVADORA'
WHEN 'CH' THEN 'CHANCADORA'
WHEN 'CM' THEN 'RODILLO'
WHEN 'DI' THEN 'DISPENSADOR'
WHEN 'DZ' THEN 'TRACTOR ORUGA'
WHEN 'EC' THEN 'EXCAVADORA HIDRAULICA'
WHEN 'GR' THEN 'MONONIVELADORA'
WHEN 'HT' THEN 'CAMION'
WHEN 'LD' THEN 'CARGADOR FRONTAL'
WHEN 'LW' THEN 'CAMA BAJA'
WHEN 'RD' THEN 'TRACTOR DE RUEDAS'
WHEN 'RO' THEN 'RETROEXCAVADORA'
WHEN 'SH' THEN 'PALA'
WHEN 'TD' THEN 'PERFORADORA'
WHEN 'TR' THEN 'TRACTOR'
WHEN 'TU' THEN 'CISTERNA VOLVO'
WHEN 'WT' THEN 'CISTERNA CAMION'
END AS 'Nombre_Equipos'
FROM
TIEMPOS_MINA

-- CALCULAR LA MAYOR DISPONIBILIDAD Y UTILIZACION DE LAS 3


PRIMERAS PERFORADORAS, Y A QUE FLOTA PERTENECEN.
-- MOSTRAR EN PANTALLA, SOLO CAMPOS FLOTA, EQUIPO, DIS Y UTI.
SELECT TOP(5)
Id,
Flota,
Equipo,
CASE
WHEN (ISNULL(Tiempo_Calendario,0) - ISNULL(Stand_By,0)) = 0
THEN 0
ELSE CAST((ISNULL(Tiempo_Calendario,0) -
(ISNULL(DNP_Equipos,0) + ISNULL(DP_Equipo,0) +
ISNULL(Stand_By,0)))*100/(ISNULL(Tiempo_Calendario,0) - ISNULL(Stand_By,0))
AS DECIMAL(10,3))
END AS 'Av(%)'

FROM
TIEMPOS_MINA
WHERE
Equipo LIKE 'TD%'
ORDER BY
'Av(%)' DESC

SELECT TOP(5)
Id,
Flota,
Equipo,

CASE
WHEN (COALESCE(Tiempo_Calendario,0) -
COALESCE(DNP_Equipos,0) - COALESCE(DP_Equipo,0) -
COALESCE(Stand_By,0))=0 THEN 0
ELSE
CAST(COALESCE(Tiempo_Produccion,0)*100/(COALESCE(Tiempo_Calendario,0) -
COALESCE(DNP_Equipos,0) - COALESCE(DP_Equipo,0) -
COALESCE(Stand_By,0)) AS DECIMAL(10,3))
END AS 'Uti(%)',
CASE
WHEN (ISNULL(Tiempo_Calendario,0) - ISNULL(Stand_By,0)) = 0
THEN 0
ELSE CAST((ISNULL(Tiempo_Calendario,0) -
(ISNULL(DNP_Equipos,0) + ISNULL(DP_Equipo,0) +
ISNULL(Stand_By,0)))*100/(ISNULL(Tiempo_Calendario,0) - ISNULL(Stand_By,0))
AS DECIMAL(10,3))
END AS 'Av(%)'
FROM
TIEMPOS_MINA
WHERE
Equipo LIKE 'TD%'
ORDER BY
'Uti(%)' DESC
--CUAL ES LA MAYOR DISPONIBILIDAD DE CADA EQUIPO CON SU
RESPECTIVA FLOTA, MOSTRAR EN PANTALLA
--LA FLOTA, EQUIPO, DISPO Y UTILIZ MAXIMA
SELECT
Flota,
max (LEFT(Equipo,2)) AS 'Equipo',

max (CASE
WHEN (COALESCE(Tiempo_Calendario,0) -
COALESCE(DNP_Equipos,0) - COALESCE(DP_Equipo,0) -
COALESCE(Stand_By,0))=0 THEN 0
ELSE
CAST(COALESCE(Tiempo_Produccion,0)*100/(COALESCE(Tiempo_Calendario,0) -
COALESCE(DNP_Equipos,0) - COALESCE(DP_Equipo,0) -
COALESCE(Stand_By,0)) AS DECIMAL(10,3))
END) AS 'Uti(%)',
max (CASE
WHEN (ISNULL(Tiempo_Calendario,0) - ISNULL(Stand_By,0)) = 0
THEN 0
ELSE CAST((ISNULL(Tiempo_Calendario,0) -
(ISNULL(DNP_Equipos,0) + ISNULL(DP_Equipo,0) +
ISNULL(Stand_By,0)))*100/(ISNULL(Tiempo_Calendario,0) - ISNULL(Stand_By,0))
AS DECIMAL(10,3))
END) AS 'Av(%)'
FROM
TIEMPOS_MINA

GROUP BY
Flota
----------------------
SELECT
Flota,
MAX(LEFT(Equipo,2)) AS 'Equipo',
MAX(CASE
WHEN (ISNULL(Tiempo_Calendario,0) - ISNULL(Stand_By,0)) = 0
THEN 0
ELSE CAST((ISNULL(Tiempo_Calendario,0) -
(ISNULL(DNP_Equipos,0) + ISNULL(DP_Equipo,0) +
ISNULL(Stand_By,0)))*100/(ISNULL(Tiempo_Calendario,0) - ISNULL(Stand_By,0))
AS DECIMAL(10,3))
END) AS 'Av(%)',

MAX(CASE
WHEN (COALESCE(Tiempo_Calendario,0) -
COALESCE(DNP_Equipos,0) - COALESCE(DP_Equipo,0) -
COALESCE(Stand_By,0))=0 THEN 0
ELSE
CAST(COALESCE(Tiempo_Produccion,0)*100/(COALESCE(Tiempo_Calendario,0) -
COALESCE(DNP_Equipos,0) - COALESCE(DP_Equipo,0) -
COALESCE(Stand_By,0)) AS DECIMAL(10,3))
END) AS 'Uti(%)'

FROM
TIEMPOS_MINA

GROUP BY
Flota

ORDER BY
'Uti(%)' DESC

--CUANTOS CAMIONES TIENEN DISPONIBILIDAD Y UTILIZACION MAYOR A


87.5% Y 85%
--RESPECTIVAMENTE; USAR COUNT()
SELECT
Equipo,

(CASE
WHEN (ISNULL(Tiempo_Calendario,0) - ISNULL(Stand_By,0)) = 0
THEN 0
ELSE CAST((ISNULL(Tiempo_Calendario,0) -
(ISNULL(DNP_Equipos,0) + ISNULL(DP_Equipo,0) +
ISNULL(Stand_By,0)))*100/(ISNULL(Tiempo_Calendario,0) - ISNULL(Stand_By,0))
AS DECIMAL(10,3))
END) AS 'Av(%)',

(CASE
WHEN (COALESCE(Tiempo_Calendario,0) -
COALESCE(DNP_Equipos,0) - COALESCE(DP_Equipo,0) -
COALESCE(Stand_By,0))=0 THEN 0
ELSE
CAST(COALESCE(Tiempo_Produccion,0)*100/(COALESCE(Tiempo_Calendario,0) -
COALESCE(DNP_Equipos,0) - COALESCE(DP_Equipo,0) -
COALESCE(Stand_By,0)) AS DECIMAL(10,3))
END) AS 'Uti(%)'

FROM
TIEMPOS_MINA
WHERE
Equipo LIKE 'HT%' AND
(CASE
WHEN (ISNULL(Tiempo_Calendario,0) - ISNULL(Stand_By,0))
= 0 THEN 0
ELSE CAST((ISNULL(Tiempo_Calendario,0) -
(ISNULL(DNP_Equipos,0) + ISNULL(DP_Equipo,0) +
ISNULL(Stand_By,0)))*100/(ISNULL(Tiempo_Calendario,0) - ISNULL(Stand_By,0))
AS DECIMAL(10,3))
END) > 87.5

AND

(CASE
WHEN (COALESCE(Tiempo_Calendario,0) -
COALESCE(DNP_Equipos,0) - COALESCE(DP_Equipo,0) -
COALESCE(Stand_By,0))=0 THEN 0
ELSE
CAST(COALESCE(Tiempo_Produccion,0)*100/(COALESCE(Tiempo_Calendario,0) -
COALESCE(DNP_Equipos,0) - COALESCE(DP_Equipo,0) -
COALESCE(Stand_By,0)) AS DECIMAL(10,3))
END) > 85.0
ORDER BY
'Av(%)' DESC

También podría gustarte