Informe del grupo de exploradores de datos - error de parámetro

Acabo de actualizar a la última versión del Explorador de Datos antes de publicar esto y puedo confirmar que este problema todavía está presente para mí.

En el plugin del explorador de datos hay una función que te permite exponer consultas a grupos. Lo he hecho para la consulta que cuenta los días consecutivos visitados porque tengo usuarios desesperados por saber lo cerca que están de las insignias de xxx días visitados.

Esto funcionaba hasta hace poco. Ahora obtengo este error.

El error parece ser causado por la solicitud que se envía (aquí estoy mostrando el inspector de red en Firefox):
image

Parece que no está actualizando los valores de los parámetros a medida que se ingresan (username=null, min_days=10 son los parámetros predeterminados cuando cargas la página). La consola también da un error “Uncaught TypeError: t is undefined” al ingresar texto en el cuadro username o al cambiar el valor de min_days. Esta línea está lanzando el error:

Esto es lo mejor que puedo hacer para rastrear el problema sin tener que bifurcar el repositorio y depurar cada línea. Solo quería informar del problema y también tengo curiosidad por saber si otros tienen el mismo problema.

4 Me gusta

Gracias @piffy por el informe. Hemos realizado recientemente algunos cambios en el plugin data-explorer, por lo que esto podría ser válido. He probado varias consultas con una entrada de nombre de usuario y no he encontrado el problema vinculado en el OP. ¿Podrías poner tu consulta aquí para que pueda probarla?

Gracias :slight_smile:

5 Me gusta
--[params]
-- string :username
-- int :min_days = 10

WITH consecutive_visits AS (
  SELECT user_id,
       visited_at,
       -- El valor de s será el mismo para cada grupo de días consecutivos
       visited_at - (DENSE_RANK() OVER (PARTITION BY user_id ORDER BY visited_at))::int s
    FROM user_visits
    WHERE user_id = (SELECT id FROM users WHERE username = :username)
)

SELECT
MIN(visited_at) period_start,
COUNT(*) AS consecutive_days,
MAX(visited_at) period_end
FROM consecutive_visits
GROUP BY user_id, s
HAVING COUNT(*) >= :min_days
ORDER BY period_start DESC

Lo intenté con el modo seguro activado (solo plugins oficiales) y tengo el mismo problema.

1 me gusta

Gracias, le echaré un vistazo.

2 Me gusta

Como un consejo extra divertido mientras Isaac revisa eso, también puedes usar el parámetro user_id para obtener un cuadro de parámetro de autocompletado genial. por ejemplo:

-- [params]
-- user_id :user
-- int :min_days = 10

WITH consecutive_visits AS (
  SELECT user_id,
       visited_at,
       -- El valor de s será el mismo para cada grupo de días consecutivos
       visited_at - (DENSE_RANK() OVER (PARTITION BY user_id ORDER BY visited_at))::int s
    FROM user_visits
    WHERE user_id = :user
)

SELECT
MIN(visited_at) period_start,
COUNT(*) AS consecutive_days,
MAX(visited_at) period_end
FROM consecutive_visits
GROUP BY user_id, s
HAVING COUNT(*) >= :min_days
ORDER BY period_start DESC

5 Me gusta

¡Gracias, bueno saberlo! Tiene mucho más sentido que un cuadro de texto libre.

3 Me gusta

Disculpa la demora @piffy. Esto debería estar arreglado ahora :slight_smile:

4 Me gusta

¡Funciona, muchas gracias! Mis usuarios aprecian mucho esta función.

3 Me gusta