es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

AWS Quicksight / Consulta SQL para datos mensuales de marca de tiempo

Así que soy bastante nuevo en Quicksight, intentando armar un conjunto de datos.

Tengo una tabla SQL de inicio de sesión como origen de datos, y cada fila tiene un id, una marca de tiempo y un user_id.

Similar a esto:

id timestamp user_id
1 2022-01-01T15:17:13.000Z 234
2 2022-01-02T15:17:13.000Z 235

Quiero construir un conjunto de datos que muestre un agregado de inicio de sesiones por año. Algo así como

Año Usuarios activos en enero Inicios de sesión en enero
2019 500 10000
2020 600 10002

Básicamente, los usuarios activos agruparían las filas de inicio de sesión por user_id, y los inicio de sesiones simplemente agregarían las marcas de tiempo por mes.

¿Es posible proporcionar este tipo de vista en un conjunto de datos de QuickSight, dado la tabla de inicio de sesión que tendría? ¿Incluso con una consulta SQL sin procesar?

Mi pensamiento sería que esto sería más fácil si pudiera incrustar consultas SQL en la sintaxis de los campos calculados de Quicksight, pero no creo que eso sea posible. Incluso así, no estoy seguro de cómo hacer esto solo con SQL.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Sí, puedes generar la vista deseada en QuickSight utilizando los datos de tu tabla SQL. Aquí están los pasos que puedes seguir:

    1. Conecta tu tabla SQL como una fuente de datos en QuickSight.
    2. Crea un nuevo conjunto de datos a partir de la fuente de datos de la tabla SQL.
    3. Utiliza un campo calculado para extraer el año de la columna de fecha y hora. Puedes utilizar la siguiente fórmula para esto:

    extract('year',timestamp)

    1. Crea una visualización de tabla dinámica en QuickSight que agrupe los datos por año en las filas y por mes en las columnas.
    2. Agrega dos campos adicionales a la tabla dinámica para usuarios activos e inicios de sesión en cada mes. Puedes utilizar las siguientes fórmulas respectivamente:

    countDistinct(user_id)

    count(id)

    1. Guarda el conjunto de datos y la visualización.

    También puedes lograr el mismo resultado utilizando una consulta SQL sin procesar antes de conectar la fuente de datos a QuickSight. Aquí tienes un ejemplo de consulta:

    SELECT
      extract(year from timestamp) as Año,
      extract(month from timestamp) as Mes,
      count(DISTINCT user_id) as Usuarios_Activos_en_Mes,
      count(id) as Inicios_de_Sesión_en_Mes
    FROM login_table
    GROUP BY 1,2
    

    Luego puedes utilizar esta consulta para crear una vista en QuickSight como conjunto de datos y visualización.

Comments are closed.