Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Syndicate_Admin
Administrator
Administrator

Necesita ayuda para aplicar condiciones complicadas para dax

Hola a todos,

Tengo 2 tablas a continuación:

Cuadro 1 :

Simple_one_0-1692236754230.png

Cuadro 2 :

Simple_one_1-1692236755004.png

La Tabla 2 se explica a continuación:

Simple_one_2-1692073359111.png

Condición para calcular la bonificación para el Grupo 1 -> 7:

1.% Nueva PD y Re Estándar vs Objetivo >= 90%

2.Si el porcentaje de PD para nuevos estudiantes vs el objetivo de PD de nueva inscripción < 80%, la bonificación se reducirá en 1 nivel (Nota: Si el objetivo de PD de nuevo estudiante frente a PD de nueva inscripción es inferior al 80% y la bonificación en el nivel 1, no se recibirá la bonificación)

3.Si el porcentaje de PD para estudiantes nuevos frente al objetivo de PD de nueva inscripción < 80% y el código de campus es Grupo 6 o Grupo 7, la bonificación se reducirá en 1 nivel (Nota: Si el objetivo de PD de nuevo estudiante frente a PD de nueva inscripción es inferior al 80% y la bonificación en el nivel 1, la bonificación será de menos 500,000)

Condición para calcular la bonificación para el Grupo 8:

1.% Nueva PD y Re Estándar vs Objetivo >= 80%

2.Si el porcentaje de PD de nuevos estudiantes frente al objetivo de PD de nueva inscripción < 65%, la bonificación se reducirá en 1 nivel (Nota: Si el objetivo de PD de nuevo estudiante frente a PD de nueva inscripción es inferior al 65% y la bonificación en el nivel 1, la bonificación será de menos 500,000)

Ejemplo 1:

Campus NCT tiene :

% de nuevas ETD PD y Re abiertas vs Objetivo = 103%

% Objetivo de PD para nuevos estudiantes vs nuevos PD para matricularse = 75%

La bonificación de Campus NCT (pertenece al Grupo 2) es de nivel 2: 9,000,000 (con % de New Std PD y Re open vs Target = 103%). Sin embargo, debido a que el porcentaje de PD de nuevos estudiantes frente a New Enrol, PD Target es inferior al 80%, la bonificación se reducirá en 1 nivel. El bono será de nivel 1 =7.000.000

Ejemplo 2:

Campus BD-BCM:

% New Std PD and Re open vs Target = 98%

% Objetivo de PD para estudiantes nuevos vs nuevos objetivos de PD de inscripción = 50%

La bonificación de Campus BD-BCM (pertenece al Grupo 6) es de nivel 1: 3.000.000 (con % New Std PD y Re open vs Target = 98%). Sin embargo, debido a que el porcentaje de PD para estudiantes nuevos vsa el objetivo de PD de inscripción nueva es inferior al 80%, la bonificación será: 2,500,000

Ejemplo 3:

Campus HN-GP:

% de nuevas ETD PD y Re abiertas vs Objetivo = 86%

% Objetivo de PD para estudiantes nuevos vs nuevos objetivos de PD de inscripción = 48%

Bonificación del Campus HNI-CT (Grupo de pertenencia

es el nivel 1: 2.000.000 ( con % de PD de nueva ETS y Re abierto vs Objetivo = 86%). Sin embargo, debido a que el porcentaje de PD de nuevos estudiantes frente a New Enrol, el objetivo de PD de inscripción es inferior al 65%, la bonificación será: 1,500,000

Tengo un Power BI en este enlace: https://drive.google.com/file/d/1KpeOK1IfKS0hE_6FJy5rv0ZHByDIDmd5/view?usp=drive_link

Esta condición es muy complicada para mí. ¡Por favor, ayúdame a hacer este dax! Gracias

7 REPLIES 7
Syndicate_Admin
Administrator
Administrator

Hola a todos

¡Por favor, todos ayúdenme para este dax!

Syndicate_Admin
Administrator
Administrator

@amitchandak ,

Lo siento, pero su dax no funciona.

Hice un dax pero no puedo agregar Condición para calcular el bono para el Grupo 8 en eso.

Campus de bonificación =
VAR new_std_pd_reopen_pct =
SELECTEDVALUE ( 'Campus'[% New Std PD And Re Open vs Target] )
VAR new_std_pd_new_enrol_pct =
SELECTEDVALUE ( 'Campus'[% de PD para nuevos estudiantes vs objetivo de PD para nuevos matriculados] )
VAR CampusCode =
SELECTEDVALUE ( Campus[Código del campus] )
VAR CurrentGroup =
SELECTEDVALUE ( Bono[Grupo] )
VAR BonusLevel =
INTERRUPTOR (
VERDADERO (),
new_std_pd_reopen_pct >= 1.1, 4,
new_std_pd_reopen_pct >= 1,0, 3,
new_std_pd_reopen_pct >= 0,9, 2,
new_std_pd_reopen_pct >= 0,8, 1,
0
)
VAR Bonus_campus =
LOOKUPVALUE (
'Bono'[Bono],
'Bonus'[Campus], CampusCode,
'Bonus'[Nivel], BonusLevel,
'Bonus'[Grupo], CurrentGroup
)
DEVOLUCIÓN
SI (
new_std_pd_new_enrol_pct < 0,7
&& CurrentGroup IN { 1, 2, 3, 4, 5, 6, 7 },
EN BLANCO (),
SI (
new_std_pd_new_enrol_pct >= 0,8
&& CurrentGroup IN { 1, 2, 3, 4, 5, 6, 7 },
Bonus_campus,
SI (
new_std_pd_new_enrol_pct < 0,8
&& BonusLevel = 4
&& CurrentGroup = 1
|| new_std_pd_new_enrol_pct < 0,8
&& BonusLevel = 4
&& CurrentGroup = 2,
MAX ( 0, Bonus_campus - 6000000 ),
SI (
new_std_pd_new_enrol_pct < 0,8
&& BonusLevel = 4
&& CurrentGroup = 3,
MAX ( 0, Bonus_campus - 4000000 ),
SI (
new_std_pd_new_enrol_pct < 0,8
&& BonusLevel = 4
&& CurrentGroup = 4,
MAX ( 0, Bonus_campus - 3000000 ),
SI (
new_std_pd_new_enrol_pct < 0,8
&& BonusLevel = 4
&& CurrentGroup = 5,
MAX ( 0, Bonus_campus - 3000000 ),
SI (
new_std_pd_new_enrol_pct < 0,8
&& BonusLevel = 4
&& CurrentGroup = 6,
MAX ( 0, Bonus_campus - 3000000 ),
SI (
new_std_pd_new_enrol_pct < 0,8
&& BonusLevel = 4
&& CurrentGroup = 7,
MAX ( 0, Bonus_campus - 1000000 ),
SI (
new_std_pd_new_enrol_pct < 0,8
&& BonusLevel = 1
&& CurrentGroup <> 6
&& CurrentGroup <> 7,
0,
SI (
CurrentGroup = 6
|| CurrentGroup = 7,
MAX ( 0, Bonus_campus - 500000 ),
MAX ( 0, Bonus_campus - 2000000 )
)
)
)
)
)
)
)
)
)
)

¿Me puedes ayudar?

Syndicate_Admin
Administrator
Administrator

@amitchandak,

Me enojó un dax pero no puedo agregar Condición para calcular el bono para el Grupo 8 en eso . ¿Me puedes ayudar?

Mi dax es :

Campus de bonificación =
DÓNDE new_std_pd_reopen_pct = VALOR SELECCIONADO ( 'Campus'[% New Std PD And Re Open vs Target] )
DÓNDE new_std_pd_new_enrol_pct = VALOR SELECCIONADO ( 'Campus'[% de PD para nuevos estudiantes vs objetivo de PD para nuevos estudiantes] )
DÓNDE CampusCode = VALOR SELECCIONADO ( Campus[Código del campus] )
DÓNDE CurrentGroup = VALOR SELECCIONADO ( Sobresueldo[Grupo] )
DÓNDE BonusLevel =
INTERRUPTOR (
VERDADERO (),
new_std_pd_reopen_pct >= 1.1, 4,
new_std_pd_reopen_pct >= 1.0, 3,
new_std_pd_reopen_pct >= 0.9, 2,
new_std_pd_reopen_pct >= 0.8, 1,
0
)
DÓNDE Bonus_campus =
LOOKUPVALUE (
'Bono'[Bono],
'Bono'[Campus], CampusCode,
'Bono'[Nivel], BonusLevel,
'Bono'[Grupo], CurrentGroup
)
DEVOLUCIÓN
SI(new_std_pd_new_enrol_pct < 0.7 && CurrentGroup EN {1,2,3,4,5,6,7},
ESPACIO EN BLANCO(),
SI( new_std_pd_new_enrol_pct >= 0.8 && CurrentGroup EN {1,2,3,4,5,6,7},
Bonus_campus,
SI (
new_std_pd_new_enrol_pct < 0.8 && BonusLevel = 4 && CurrentGroup = 1
|| new_std_pd_new_enrol_pct < 0.8 && BonusLevel = 4 && CurrentGroup = 2,
..MAX ( 0, Bonus_campus - 6000000 ),
SI (
new_std_pd_new_enrol_pct < 0.8
&& BonusLevel = 4
&& CurrentGroup = 3,
..MAX ( 0, Bonus_campus - 4000000 ),
SI (
new_std_pd_new_enrol_pct < 0.8
&& BonusLevel = 4
&& CurrentGroup = 4,
..MAX ( 0, Bonus_campus - 3000000 ),
SI (
new_std_pd_new_enrol_pct < 0.8
&& BonusLevel = 4
&& CurrentGroup = 5,
..MAX ( 0, Bonus_campus - 3000000 ),
SI (
new_std_pd_new_enrol_pct < 0.8
&& BonusLevel = 4
&& CurrentGroup = 6,
..MAX ( 0, Bonus_campus - 3000000 ),
SI (
new_std_pd_new_enrol_pct < 0.8
&& BonusLevel = 4
&& CurrentGroup = 7,
..MAX ( 0, Bonus_campus - 1000000 ),
SI (
new_std_pd_new_enrol_pct < 0.8
&& BonusLevel = 1
&& CurrentGroup <> 6
&& CurrentGroup <> 7,
0,
SI (
CurrentGroup = 6 || CurrentGroup = 7,
..MAX ( 0, Bonus_campus - 500000 ),
..MAX ( 0, Bonus_campus - 2000000 )
)
)
)
)
)
)
)
)
)
)
Syndicate_Admin
Administrator
Administrator

@amitchandak ,

Hice un dax pero no puedo agregar una condición para calcular la bonificación para el Grupo 8 en este dax. ¿Me puedes ayudar?

Mi dax es :

Campus de bonificación =
DÓNDE new_std_pd_reopen_pct = VALOR SELECCIONADO ( 'Campus'[% New Std PD And Re Open vs Target] )
DÓNDE new_std_pd_new_enrol_pct = VALOR SELECCIONADO ( 'Campus'[% de PD para nuevos estudiantes vs objetivo de PD para nuevos estudiantes] )
DÓNDE CampusCode = VALOR SELECCIONADO ( Campus[Código del campus] )
DÓNDE CurrentGroup = VALOR SELECCIONADO ( Sobresueldo[Grupo] )
DÓNDE BonusLevel =
INTERRUPTOR (
VERDADERO (),
new_std_pd_reopen_pct >= 1.1, 4,
new_std_pd_reopen_pct >= 1.0, 3,
new_std_pd_reopen_pct >= 0.9, 2,
new_std_pd_reopen_pct >= 0.8, 1,
0
)
DÓNDE Bonus_campus =
LOOKUPVALUE (
'Bono'[Bono],
'Bono'[Campus], CampusCode,
'Bono'[Nivel], BonusLevel,
'Bono'[Grupo], CurrentGroup
)
DEVOLUCIÓN
SI(new_std_pd_new_enrol_pct < 0.7 && CurrentGroup EN {1,2,3,4,5,6,7},
ESPACIO EN BLANCO(),
SI( new_std_pd_new_enrol_pct >= 0.8 && CurrentGroup EN {1,2,3,4,5,6,7},
Bonus_campus,
SI (
new_std_pd_new_enrol_pct < 0.8 && BonusLevel = 4 && CurrentGroup = 1
|| new_std_pd_new_enrol_pct < 0.8 && BonusLevel = 4 && CurrentGroup = 2,
..MAX ( 0, Bonus_campus - 6000000 ),
SI (
new_std_pd_new_enrol_pct < 0.8
&& BonusLevel = 4
&& CurrentGroup = 3,
..MAX ( 0, Bonus_campus - 4000000 ),
SI (
new_std_pd_new_enrol_pct < 0.8
&& BonusLevel = 4
&& CurrentGroup = 4,
..MAX ( 0, Bonus_campus - 3000000 ),
SI (
new_std_pd_new_enrol_pct < 0.8
&& BonusLevel = 4
&& CurrentGroup = 5,
..MAX ( 0, Bonus_campus - 3000000 ),
SI (
new_std_pd_new_enrol_pct < 0.8
&& BonusLevel = 4
&& CurrentGroup = 6,
..MAX ( 0, Bonus_campus - 3000000 ),
SI (
new_std_pd_new_enrol_pct < 0.8
&& BonusLevel = 4
&& CurrentGroup = 7,
..MAX ( 0, Bonus_campus - 1000000 ),
SI (
new_std_pd_new_enrol_pct < 0.8
&& BonusLevel = 1
&& CurrentGroup <> 6
&& CurrentGroup <> 7,
0,
SI (
CurrentGroup = 6 || CurrentGroup = 7,
..MAX ( 0, Bonus_campus - 500000 ),
..MAX ( 0, Bonus_campus - 2000000 )
)
)
)
)
)
)
)
)
)
)
Syndicate_Admin
Administrator
Administrator

@amitchandak ,

¿Me puedes ayudar?

Syndicate_Admin
Administrator
Administrator

@amitchandak ,

Lo siento, pero este dax no funciona correctamente. ¿Puede hacerlo en el archivo Power BI?

Syndicate_Admin
Administrator
Administrator

@Simple_one , verifique si medidas como estas pueden ayudar

Nivel de bonificación =
INTERRUPTOR (
VERDADERO (),
Campus[Grupo] >= 1 && Campus[Grupo] <= 7, 1,
Campus[Grupo] = 8, 2,
EN BLANCO ()
)

Bonificación ajustada =
SI (
Campus[Nivel de bonificación] = 1,
SI (
Campus[% de PD de nuevos estudiantes vs objetivo de PD de nueva inscripción] < 0.8,
SI (
Campus[Grupo] = 6 || Campus[Grupo] = 7,
SI (
Campus[% de PD de nuevos estudiantes vs objetivo de PD de nueva inscripción] >= 0.8,
Campus[Bono] - 500000,
Campus[Nivel de bonificación] = 1
),
Campus[Nivel de bonificación]
),
Campus[Nivel de bonificación]
),
SI (
Campus[% de PD de nuevos estudiantes vs objetivo de PD de nueva inscripción] < 0.65,
-500000,
Campus[Nivel de bonificación]
)
)

Bono final =
SI (
Campus[Bono ajustado] = 1,
SI (
Campus[% New Std PD And Re Open vs Target] >= 0.9,
Campus [Bono],
SI (
Campus[% de PD de nuevos estudiantes vs objetivo de PD de nueva inscripción] < 0.8,
Campus [Bonificación] - 1000000,
Campus[Bono]
)
),
SI (
Campus[% New Std PD And Re Open vs Target] >= 0.8,
Campus [Bono],
SI (
Campus[% de PD de nuevos estudiantes vs objetivo de PD de nueva inscripción] < 0.65,
Campus[Bono] - 500000,
Campus[Bono]
)
)
)

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors