Join us for an expert-led overview of the tools and concepts you'll need to pass exam PL-300. The first session starts on June 11th. See you there!
Get registeredPower BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.
Hola a todos, la primera vez que publique, haré todo lo posible para que esta publicación sea correcta:
Estoy atrapado en este momento en un informe bastante complejo que se me pidió que mantuviera y actualizara.
La forma en que se hace el modelo de datos, tenemos una tabla principal con muchas subcategorías (empleo, nacimientos, defunciones, etc.), agregadas a la ciudad.
En este informe, tengo una medida calculada que encuentra la proporción de empleo por país dividiendo la suma de empleados por la suma total de personas en todas las ciudades del país.
Una vez calculada esta medida, se me pidió que creara la medida del percentil para saber cómo se relaciona cada país en términos de empleabilidad entre sí.
Problema, todas las funciones preconstruydas en power bi usan datos que provienen de una columna, y todo lo que tengo es una medida calculada.
Probé varias soluciones diferentes, pero nunca logré llegar al resultado.
Pequeño desafío de bonificación: Tengo que crear el percentil de cada uno de ellos, para países y ciudades utilizando una proporción hecha con las categorías que mencioné.
Si lo que dije no es lo suficientemente claro, puedo intentar hacer un archivo simplificado de maquillaje.
Gracias por leer mi correo,
Dimitri
Hola
Perdón por la confusión, lo que quise decir es que las funciones del percentil 4 usan una columna de una tabla o una tabla en sí.
Dado que estoy usando una medida calculada para basar mi percentil, tengo problemas para crear mi medida calculada.
He hecho una versión más simple del archivo que puedo compartir aquí.
Me gustaría poder calcular el percentil tanto para el país como para la ciudad, pero por ahora pensé en centrarme solo en el país.
(por algunas razones no puedo vincular un archivo PBIX, por lo que por ahora enviaré capturas de pantalla)
¿Qué hay de malo en PERCENTILEX? INC - Guía DAX?
Por cierto, todavía no está claro a qué te refieres con una "medida de percentil". Un percentil es una función de 2 variables , f(x: R, y: R) -> R , que depende de: (x) el conjunto de datos que le des y (y) el umbral que definas entre 0 y 1. Así que todavía no puedo determinar exactamente lo que realmente quieres. ¿De qué percentil exacto estás hablando? Por ejemplo, si desea el percentil 25 (el cuartil 1) para las ciudades en función de alguna [M]easure calculada para las ciudades, entonces escribiría:
percentilex.inc(
summarize(
FactTable,
Cities[CityID]
),
[M],
0.25
)
Si quieres lo mismo, pero solo para países, entonces tendrías que cambiar Cities[CityID] a algún tipo de Country[CountryID]. Si desea tener percentiles para diferentes niveles de una jerarquía, entonces tendrá que crear una medida específica para esta misma jerarquía utilizando ISINSCOPE y una fórmula adecuada para cada nivel ...
También traté de escribir la medida como usted sugirió para probarla, pero solo obtuvo el mismo resultado que mi relación de empleo:
Intenté usar la medida y declararlas en variables como en la captura de pantalla.
No puedes usar las variables de la manera en que lo haces. Las variables en DAX son, de hecho, estáticas. Una vez calculados, nunca cambian, por lo que su intento de usar una variable en la función de la manera que intenta es inútil.
En última instancia, todo lo que estoy tratando de hacer es tener el percentil correspondiente para cada fila por país y luego por ciudad. Solo estoy probando cosas y sugiriendo ideas para llegar allí.
Me gustaría evitar las columnas calculadas porque, a mi entender, son más intensivas en recursos (la columna estaría en una tabla grande), especialmente porque tengo que hacer una docena de medidas de percentil con datos en la misma tabla (tengo una docena de categorías)
Está bien, pero todavía no está claro. Consideremos este escenario. Pones algunas ciudades en un visual (por ejemplo, tabla) y tienes una segmentación de datos que solo muestra ciudades en 2 países diferentes. Algo como esto (supongamos, por el momento, que los nombres de las ciudades son únicos en todo el conjunto de datos):
Tabla 1.
País | | de la ciudad EmpleoRatio
--------------------------
| de EE. UU. Un | 0.20
| de EE. UU. B | 0.40
| de EE. UU. C | 0.80
| del Reino Unido D | 0.10
| del Reino Unido E | 0.50
| del Reino Unido F | 0.80
Tenga en cuenta que agregué la columna País, pero es solo por razones técnicas; trátalo como si no estuviera allí. De hecho, la tabla muestra solo ciudades, mientras que los países han sido seleccionados en algún lugar de una rebanadora puesta en el lienzo.
Supongamos además que hay otra cortadora en algún lugar que ha filtrado las siguientes ciudades fuera de lo visual:
| de EE. UU. | A1 0.15
| de EE. UU. | B1 0.45
| de EE. UU. | C1 0.90
| del Reino Unido | D1 0.20
| del Reino Unido | E1 0.60
| del Reino Unido | de F1 0.90
Pregunta: ¿Qué espera ver en las filas del primer visual si pone su medida mencionada allí?
Fui y contacté a mi cliente nuevamente, porque he notado que había múltiples definiciones para percentils.
Me dijo que solo quería que cada valor se dividiera por el valor máximo en la tabla filtrada. Esto simplificó mucho y pude crear la medida que estaba buscando.
Gracias por ayudarme, todavía estoy un poco confundido en cuanto a por qué no puedo crear una tabla temporal en una variable y usar esta tabla como contexto en una medida "X" (sumx, avgx,... etc) pero para entender la forma en que funciona DAX, tengo que definir la tabla dentro de la función X en lugar de declararla como una variable de antemano.
Lo que estoy tratando de hacer es tener en qué percentil están todas esas ciudades. Por ejemplo, si están en el 90% superior sería 0.9.
¿Está intentando crear una medida o una columna calculada? No es obvio. Por cierto, no puedes escribir una medida que devuelva solo un número para un conjunto de ciudades para informarte en qué percentil son todas. Esta pregunta está mal planteada. Realmente debes pensar mucho sobre qué es lo que quieres hacer y luego describirlo cuidadosamente aquí.
"Problema, las funciones preconstruydas en power bi usan datos que provienen de una columna, y todo lo que tengo es una medida calculada".
Eso no es cierto, por supuesto. Todas las funciones que terminan en X (SUMX, AVERAGEX...) pueden calcular el valor requerido utilizando medidas. Iteran sobre algún tipo de valor en algún tipo de columna, pero esto es totalmente normal e incluso deseado, ya que las medidas siempre se calculan contra algunos miembros en algunas columnas.