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!!!!
- La pregunta que resolveremos el día de hoy será la siguiente La mayoría de los jugadores transferidos para una posición específica, en este caso es una pregunta en la cual nos debemos apoyar en la tabla de Hecho en en la cual podremos contar la cantidad de trasferidos entonces ese es el primer paso identificar la columna que utilizaremos, la cual será On loan dado que estamos de vuelve un si o un no en el caso de que sea transferido será no evidentemente
- Ahora que tenemos identificada la columna y como obtener el dato pasemos a crear la medida primero para identificar la cantidad de jugadores transferidos la cual será:
Player transferred = CALCULATE(COUNTROWS(‘fct_Season 2022/2023 Transfer’),’fct_Season 2022/2023 Transfer'[On Loan]=»No»), como vemos utilizamos el calculate el cual nos permitirá cambiar el contexto y con la función countrows contar la cantidad de jugadores de la tabla pero filtrados por la columna ON LOAN como no.3) Ahora ya que estamos en este caso de pregunta podemos adéntranos un poco mas para obtener la cantidad de jugadores cedidos que es la misma lógica pero cambiando el filtro por ON LOAN Yes como veremos esta formula:Player on loan = CALCULATE(COUNTROWS(‘fct_Season 2022/2023 Transfer’),’fct_Season 2022/2023 Transfer'[On Loan]=»Yes»), como vemos es la misma lógica pero cambiando el filtrado y con esto tendríamos los cedidos.4) En este paso podemos obtener una métrica mas para obtener la cantidad de transacciones por posición es mucho mas sencillo este calculo solo es un:Quantity players = COUNTROWS(‘fct_Season 2022/2023 Transfer’) en este caso usamos el countrows obteniendo las transacciones totales.5) Teniendo estas tres medidas sencillas y básicas podemos utilizar las para obtener, Cantidad de jugadores transferidos, Cantidad de jugadores cedidos y total de transacciones por posición, pero existen muchas maneras de mostrar estos datos te enseñare como lo hice yo. Primero Creare una tabla auxiliar para que me sirva de segmentador,en una columna los títulos que se servirán de filtrado y otra de orden para ordenarlos en el segmentador6) Teniendo esto resuelto la tabla podemos crear de manera efectiva el filtro y ubicar la columna creada con el objeto visual :7) Ahora luego de haber creado la tabla, quiero tener en una sola medida las 3 medidas que acabamos de crear para que se modifique el objeto visual por medio de un filtro en base a la tabla auxiliar creada , teniendo este punto de partida realice la siguiente medida:Mesure option player postion =SWITCH(TRUE(),SELECTEDVALUE(‘Table Aux Filter Postion'[Titles])=»Transferred»,[Player transferred],SELECTEDVALUE(‘Table Aux Filter Postion'[Titles])=»Loan player»,[Player on loan],[Quantity players]), en la cual podrás ver que utilizamos primero la función switch la cual la iniciamos con un true , y como validación primero colocamos la función selectedvalue la cual esta cuando se selecciona por medio de un elemento un valor condiciona el resultado y se activa , con este en mente le asigno a cada seleccione que haga con el segmentador creado que me devuelva la medida que deseo dentro de la tabla y dentro y de la grafica :
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.