Hola y feliz día tarde o noche según donde me leas, hoy traigo una breve explicación fácil y sencilla en la cual lograras crear medidas en DAX para dar respuesta al reto 24 “Sport – Football/Soccer Players Summer Transfers Season 2022-23” de Enterprise DNA.
Empezamos!!!!
- Continuando y dando respuesta a las medidas del maravilloso reto, la primera medida será, Qué clubes de la Premier League han fichado a los jugadores más nuevos según el conjunto de datos , maravilloso veamos sobre que tabla crearemos la medida, la cual será fct_Season 2022/2023 Transfer en la columna Player Age
- Luego de ello creamos la medida la cual será la siguiente
Quantity player england =CALCULATE(COUNTROWS(‘fct_Season 2022/2023 Transfer’),FILTER(‘fct_Season 2022/2023 Transfer’,’fct_Season 2022/2023 Transfer'[Player Age]<=18),’dim_Player to Country | League | Club'[Country Moving to]=»England»), como podemos observar creamos un calculate y dentro de este un count rows para que cuente las filas filtrado por la la columna player age cumpliendo la condición que sea <= a 18 y por ultimo especificando que los pertenecientes a England de la dimensión TO
- Posterior a ellos lo colocas en el objeto visual que deseas yo decidí una tabla en la cual se puede observar liga, pais , club y sus imágenes donde jugaran y la edad
- Ahora pasamos a la segunda respuesta que realizaremos hoy, la pregunta es Jugador mejor pagado (tarifas) por posición en el conjunto de datos, en este caso otra vez trabajaremos con la tabla de hechos
- En este proceso creamos la medida en la cual trabajaremos para obtener la medida en los cuales lo jugadores son los que ganan más
- Ahora teniendo esta medida debemos crear otra para seleccionar solo los máximos por posición, para ello creamos la siguiente medida
Max paid player =Var MaximoPosicon= CALCULATE(MAX(‘fct_Season 2022/2023 Transfer'[Fees Paid for Player (M)]),ALL(‘dim_Player Name’))returnIF([Max paid dinamic]=MaximoPosicon,1,0), como podemos observar colocamos dentro de una variable un calculate obteniendo el MAX de pagado y colocando el ALL sobre la dimensión player name con esto se obtiene cada máximo cuando afecte el contexto la dimensión, como podemos ver el if me devuelve el condicional deseado que utilizaremos como filtro pero en los paneles de filtro del objeto visual
Con estos sencillos pasos lograste practicar y crear funciones DAX con casos reales de manera muy fácil.
Vicente Antonio Juan Magallanes
Business Intelligence Technical.
Perfil linkedin.