Saltar al contenido

Primero creamos nuestro procedimiento almacenado

Captura

Este select que esta dentro del procedimmiento almacenado nos muestra el primer y ultimo día en que hay entradas de usuarios de un pais, la diferencia de dias y el total de entradas.

CREATE PROCEDURE PRI_ULT_Ent
AS
BEGIN
SELECT PAIS, CONVERT(VARCHAR(10), MAX(FECHA), 103) AS ULT_Entrada, CONVERT(VARCHAR(10), Min(FECHA), 103) as PRI_Entrada,
DATEDIFF(DAY, MIN(FECHA), MAX(FECHA)) AS DIF_Fechas, SUM(VISITAS) AS Total_Entradas
FROM Enero
GROUP BY PAIS
ORDER BY DATEDIFF(DAY, MIN(FECHA), MAX(FECHA)) desc, SUM(VISITAS) desc, PAIS
END;

Ahora lo ejecutamos

Captura

Y ahora vemos como lo hacemos desde powershell

Captura

Fijaros que solo he cambiado del ultimo ps1

$SqlQuery = "EXEC PRI_ULT_Ent"

Ahora a jugar ....

Seguimos con temas de BI.

Vamos a empezar por unas consultas clásicas de estadísticas. sabiendo que no el el mes completo sino que desde el mismo día 13 de Enero, es decir .... 19 dias.

Captura

Aqui va el código:

SELECT PAIS, COUNT(PAIS)AS VISITA_MES, MAX(VISITAS) AS MAX_1DIA, MIN(VISITAS) AS MIN_1DIA, AVG(VISITAS) AS MEDIA_DIA
FROM Enero
GROUP BY PAIS
ORDER BY COUNT(PAIS) Desc, MAX(VISITAS) Desc

Vamos a explicar un poco..
Primero los paises que algún usuario ha entrado en el blog. Otro dato importante el el valor máximo, mínimo en un solo dia y media de cada pais en el mes.
Y ahora vamos con una consulta que nos indica en que día de Enero se produce el mayor número de visitas por cada país.

Captura

SELECT PAIS, MAX(VISITAS) AS MAX_VISITAS, MAX(FECHA) AS DIA
FROM Enero
GROUP BY PAIS
ORDER BY PAIS, MAX(VISITAS) DESC

Captura

Con esta consulta sabremos la última vez que ha entrado algún usuario de un país en concreto. Por ejemplo en mi caso, meter algún enlace en algún grupo de fb, g+ o linkedin o sencillamente un tuit para que los usuarios de un país vuelvan a entrar.

SELECT PAIS,
DATENAME(weekday, MAX(FECHA)) AS Dia_Semana, DATENAME(day, MAX(FECHA)) AS DD, DATENAME(month, MAX(FECHA)) AS MM
FROM Enero
GROUP BY PAIS
ORDER BY PAIS ASC

Y si queremos ver en que día se produce el máximo de visitas de un país.

Captura

Pillando el numero de visitas máximas de la primera consulta podemos saber el día en que se produce.
Esta consulta tiene doble utilidad por que si ponemos, por ejemplo,  un 1.

Captura

Nos indica todos los paises y que día han entrado un único usuario

SELECT PAIS, VISITAS,
DATENAME(weekday, FECHA) AS Dia_Semana, DATENAME(day, FECHA) AS DD, DATENAME(month, FECHA) AS MM
FROM Enero Where VISITAS = 1
ORDER BY PAIS

Espero que os haya gustado esta introducción de consultas que se pueden hacer con los datos de visitas sacado por paises.
Seguiremos ...