Creando medidas para el reto de DNA challenge 24 parte (VI)

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!!!!

  1. Calcularemos el día de hoy como obtener los datos en los cuales  como obtener el jugador mejor pagado y con más edad, también el jugador mejor pagado con menor edad, debemos ubicar tabla sobre la cual tenemos los dos datos los cuales son edad y monto pagado y se encuentra en la tabla de hechos
  2. La lógica que utilizaremos es crear dos columnas Rank evaluando primero un rank por edad y un rank por salario. La medida del rank por edad:
    Rank Age = RANKX(‘fct_Season 2022/2023 Transfer’,’fct_Season 2022/2023 Transfer'[Player Age],,ASC).

    Tenemos también el proceso en el cual crear un rank por salario el cual la medida es:

    Rank Salary = RANKX(‘fct_Season 2022/2023 Transfer’,’fct_Season 2022/2023 Transfer'[Fees Paid for Player (M)]).
  3. Ahora crearemos las medidas para calcular el jugador mas joven y mejor pagado la medida seria la siguiente:
    Player More Youg-Paid =
    CALCULATE(MINX(‘fct_Season 2022/2023 Transfer’,’fct_Season 2022/2023 Transfer'[Rank Age]+’fct_Season 2022/2023 Transfer'[Rank Salary]),ALLSELECTED(‘dim_Player Name'[Player Name])).
  4. Posterior a ello creamos otra medida de validación en la cual colocaremos
    Validate Min-age more-pay =
    var min_validate= CALCULATE(MINX(‘fct_Season 2022/2023 Transfer’,’fct_Season 2022/2023 Transfer'[Rank Age]+’fct_Season 2022/2023 Transfer'[Rank Salary]),ALL(‘fct_Season 2022/2023 Transfer’))
    return
    IF([Player More Youg-Paid]=min_validate,1,0), validando la medida mínimo con la medida que tenemos cada proceso.
  5. Ahora teniendo esto presente tenemos que replicar lo mismo pero para los jugadores con mayor edad y mejor pagados,
    Player Oldest age-pay =
    CALCULATE(maxx(‘fct_Season 2022/2023 Transfer’,’fct_Season 2022/2023 Transfer'[Rank Age]+’fct_Season 2022/2023 Transfer'[Rank Salary]),ALLSELECTED(‘dim_Player Name'[Player Name])), lo que varia en este caso es que utilizaremos el MAXX la función iteradora que nos dará la solución 
  6. Realizamos la misma comparación de medidas para cuando sea el dato deseado hagamos 1 o 0,
    Validate Max-age more-pay =
    var max_validate= CALCULATE(MAXX(‘fct_Season 2022/2023 Transfer’,’fct_Season 2022/2023 Transfer'[Rank Age]+’fct_Season 2022/2023 Transfer'[Rank Salary]),ALL(‘fct_Season 2022/2023 Transfer’),’fct_Season 2022/2023 Transfer'[Fees Paid for Player (M)]>=1)
    return
    IF([Player Oldest age-pay]=max_validate,1,0)
  7. Quedaría en la visualización que deseas colocar como filtro el campo que realiza la validación si cumple 1
  8. Luego para finaliza puedes seleccionar la grafica que tu deseas para enseñar estos dos nuevos datos

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.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *