Calcule el porcentaje para dos columnas en dos tablas separadas

Un usuario Pregunto ✅

2019

Tengo dos tablas, una es calculada por DAX «Monthly_Rate» y la segunda es «Monthly_Target»

Daily_Rate

Fecha

Tarifas

01-dic-2018

1300

15-dic-2018

1500

31-dic-2018

1200

01 de enero de 2019

1900

02 de enero de 2019

1700

03-ene-2019

2000

04 de enero de 2019

3000

Tabla Monthly_Rate

Monthly_Rate = SUMMARIZECOLUMNS (Daily_Rate [Date], «Month_Rates», SUM (Daily_Rate [Rates]))

Fecha

Month_Rates

Dic-18

4000

19 de enero

8600

Tabla Monthly_Target

Año

Mes

Objetivo

2018

dic

1310

2019

ene

1310

Estoy interesado en escribir un código DAX para calcular el porcentaje alcanzado entre las Tarifas Mensuales y el Objetivo

Algo como

% logrado = (Monthly_Rate [Month_Rates]) – Monthly_Target [Target]) / Monthly_Target [Target] * 100

Gracias

MFelix

Hola @ 2019,

Por lo que puedo entender de su modelo, no es necesario hacer una nueva tabla con el resumen de los meses, haga lo siguiente:

  • En la tabla de destino, cree una nueva columna en el editor de consultas para Month_End_Date
Date.EndOfMonth (#date([Year],
if  [Month]= "Jan" then 1
else if  [Month]= "Feb" then 2
else if  [Month]= "Mar" then 3
else if  [Month]= "Apr" then 4
else if  [Month]= "May" then 5
else if  [Month]= "Jun" then 6
else if  [Month]= "Jul" then 7
else if  [Month]= "Aug" then 8
else if  [Month]= "Sep" then 9
else if  [Month]= "Oct" then 10
else if  [Month]= "Nov" then 11
else 12

,1))

Esto también se puede reemplazar por una fórmula dax:

Month_End_Date =
EOMONTH (
    DATE ( 'Montlhy Target'[Year]; SWITCH (
        'Montlhy Target'[Month];
        "Jan"; 1;
        "Feb"; 2;
        "Mar"; 3;
        "Apr"; 4;
        "May"; 5;
        "Jun"; 6;
        "Jul"; 7;
        "Aug"; 8;
        "Sep"; 9;
        "Oct"; 10;
        "Nov"; 11;
        12
    ); 1 );
    0
)
  • Cree una tabla de calendario y establezca una relación de uno a muchos:
    • Calendario[Date] -> Tarifas diarias [Date]
    • Calendario[Date] -> Objetivo de Montlhy[Month_End_Date]
  • Cree la siguiente medida:
% Achieved =
VAR Month_Rates =
    SUM ( Daily_Rate[Rates] )
VAR Target_Rates =
    SUM ( 'Montlhy Target'[Target] )
RETURN
    ( Month_Rates - Target_Rates )
        / Month_Rates

Vea el resultado a continuación y adjunte el archivo PBIX con el modelo de datos.

percent.png

Saludos,

MFelix

MFelix

Hola @ 2019,

Por lo que puedo entender de su modelo, no es necesario hacer una nueva tabla con el resumen de los meses, haga lo siguiente:

  • En la tabla de destino, cree una nueva columna en el editor de consultas para Month_End_Date
Date.EndOfMonth (#date([Year],
if  [Month]= "Jan" then 1
else if  [Month]= "Feb" then 2
else if  [Month]= "Mar" then 3
else if  [Month]= "Apr" then 4
else if  [Month]= "May" then 5
else if  [Month]= "Jun" then 6
else if  [Month]= "Jul" then 7
else if  [Month]= "Aug" then 8
else if  [Month]= "Sep" then 9
else if  [Month]= "Oct" then 10
else if  [Month]= "Nov" then 11
else 12

,1))

Esto también se puede reemplazar por una fórmula dax:

Month_End_Date =
EOMONTH (
    DATE ( 'Montlhy Target'[Year]; SWITCH (
        'Montlhy Target'[Month];
        "Jan"; 1;
        "Feb"; 2;
        "Mar"; 3;
        "Apr"; 4;
        "May"; 5;
        "Jun"; 6;
        "Jul"; 7;
        "Aug"; 8;
        "Sep"; 9;
        "Oct"; 10;
        "Nov"; 11;
        12
    ); 1 );
    0
)
  • Cree una tabla de calendario y establezca una relación de uno a muchos:
    • Calendario[Date] -> Tarifas diarias [Date]
    • Calendario[Date] -> Objetivo de Montlhy[Month_End_Date]
  • Cree la siguiente medida:
% Achieved =
VAR Month_Rates =
    SUM ( Daily_Rate[Rates] )
VAR Target_Rates =
    SUM ( 'Montlhy Target'[Target] )
RETURN
    ( Month_Rates - Target_Rates )
        / Month_Rates

Vea el resultado a continuación y adjunte el archivo PBIX con el modelo de datos.

percent.png

Saludos,

MFelix

Deja un comentario

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