Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
Tengo una tabla con precios, para tiendas, productos y fechas, y tengo una tabla de dimensiones separada para cada dimensión. Me gustaría identificar datos erróneos en la columna de precios mediante la búsqueda de valores atípicos, valores que se encuentran muy lejos de la distribución de los datos para una combinación determinada de fecha, artículo y tipo de tienda. Para hacer esto, necesitaría ver el primer cuartil y el tercer cuartil de la distribución en dos columnas calculadas utilizando la función PERCENTILEX, donde los valores son para la fecha y el tipo de artículo y tienda provienen de la fila dada, pero se consideran todas las tiendas dentro de ese tipo (y también hay otras columnas en la tabla).
He aprendido que CALCULATE es la mejor práctica en estos casos, pero no logré producir resultados que funcionen de esta manera:
Solo he encontrado dos formas de hacer que esto funcione, ambas son con variables:
Versión 1:
Solved! Go to Solution.
@smoortema ¿Por qué está creando esto como una columna calculada?
Tenga mucho cuidado al usar funciones agregadas dentro de columnas calculadas: no proporciona el contexto correcto y es posiblemente lo que quiere decir cuando dice "He aprendido que CALCULAR es la mejor práctica en estos casos".
CALCULATE lo coloca en un contexto de filtro, por lo que convierte la columna calculada en una sola medida, tomando los valores de fila actuales como contexto de filtro para esa medida. Dado que lo coloca en un contexto de filtro equivalente, las referencias de su columna se comportarán de manera diferente de lo que podría esperar.
Si entiendo su pregunta correctamente (de nuevo todavía no estoy seguro de por qué está haciendo esto como una columna y no como una medida), podría intentar:
@smoortema ¿Por qué está creando esto como una columna calculada?
Tenga mucho cuidado al usar funciones agregadas dentro de columnas calculadas: no proporciona el contexto correcto y es posiblemente lo que quiere decir cuando dice "He aprendido que CALCULAR es la mejor práctica en estos casos".
CALCULATE lo coloca en un contexto de filtro, por lo que convierte la columna calculada en una sola medida, tomando los valores de fila actuales como contexto de filtro para esa medida. Dado que lo coloca en un contexto de filtro equivalente, las referencias de su columna se comportarán de manera diferente de lo que podría esperar.
Si entiendo su pregunta correctamente (de nuevo todavía no estoy seguro de por qué está haciendo esto como una columna y no como una medida), podría intentar:
¡ Gracias @AllisonKennedy, su solución sugerida funciona!
La razón por la que lo puse en una columna calculada es porque me gustaría identificar (y luego excluir) valores atípicos en la tabla. Los valores atípicos se definen como filas para las que:
Precio > ThirdQuartile + 3 * (ThirdQuartile - FirstQuartile)
o
Precio < FirstQuartile - 3 * (ThirdQuartile - FirstQuartile)
Entonces, básicamente, estos son valores que caen muy lejos del rango normal de precios para ese día, artículo y tipo de tienda determinados. Probablemente estén allí debido a un error cometido por la persona que estaba escribiendo los valores.
Una vez que tengo los valores atípicos, creo una tabla calculada donde filtro todos los valores atípicos, y continúo el resto de mis cálculos en esa tabla.
Para empezar, para analizar, era bueno ver todos los valores en la misma tabla, además de entre sí, por lo que las columnas calculadas eran útiles. ¿Estás diciendo que todo este filtrado puter podría hacerse solo mediante el uso de medidas?
@smoortema Sí, todo esto se puede hacer usando medidas en lugar de columnas, ya que está agregando los datos. ¡También será más fácil y eficiente de cargar!