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!!!!
- El día de hoy responderemos de dos diferentes maneras la misma pregunta la cual es Cuántos jugadores tienen menos de 18 años y en qué país jugarán, crearemos la medida con DAX
- Ahora el siguiente paso es ubicarnos en la tabla fct_Season 2022/2023 Transfer la cual tiene la columna Player_Age con esta responderemos la pregunta
- Teniendo localizada la tabla y la columna sobre la cual operaremos para poder responder, pasamos a crear la primera medida que seria la siguiente formula:
Quantity of players age less 18 =CALCULATE(COUNTROWS(‘fct_Season 2022/2023 Transfer’),FILTER(‘fct_Season 2022/2023 Transfer’,’fct_Season 2022/2023 Transfer'[Player Age]<18)), como podemos observar empezamos con funcion calculate luego ejecutamos el countorows y pasamos un filter sobre la tabla principal indicándole que es menor a 184)Ahora creamos la tabla con los datos necesarios en base a la pregunta añadiendo el País donde juega el País donde juagara el nombre de jugador la edad lo pagado y el valor del mercado para enriquecer el dato, dentro de los filtro del objeto visual que en mi caso seleccione tabla agregamos la medida que creamos colocando igual a 15) Ahora la segunda manera va bajo la misma lógica pero con otra formula usando variables y addcolumns para colocar en practica otras funciones en este challenge la función seria la siguiente:Quantity 18 =VAR valido=ADDCOLUMNS(‘fct_Season 2022/2023 Transfer’,»@Mayor 18″,IF(‘fct_Season 2022/2023 Transfer'[Player Age]<18,1,0))VAR resultado=FILTER(valido,[@Mayor 18]=1)VAR FINAL=COUNTROWS(resultado)returnFINAL, como podemos ver tenemos la primera variable que es addcolumns agregando una columna que realice una valoración lógica que coloque 1 si cumple o 0 en caso contrario , luego otra variable que realiza el filtrado sobre la tabla anterior , fíjate algo interesante para enseñar podemos ir operando fila a fila con variables y en este caso filtramos a q1 la columna virtual recién generada , por ultimo otra variable que me cuente lo filtrado partiendo del principio que filter devuelve una tabla y countrows necesita operar con un tabla para cumplir su función con este tendríamos ya el resultado solo aplicamos también en el filtro y tenemos el mismo resultado.
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.