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

Next up in the FabCon + SQLCon recap series: The roadmap for Microsoft SQL and Maximizing Developer experiences in Fabric. All sessions are available on-demand after the live show. Register now

Reply
JuanDtM23
Helper II
Helper II

Ayuda con nested if/and/or

Saludos! espero puedan ayudarme.
 
Tengo una tabla que contiene solicitudes de aprobación de servicios y deseo calcular la oportunidad de cada solicitud, para ello utilizo dos columnas:
la primera se llama "UBICACION_SOLICITUD" la cual contiene lostres posibles tipos de servicios:
"CONSULTA EXTERNA"
"HOSPITALARIO"
"URGENCIA"
Así mismo la segunda columna llamada "DIAS_APROBACION_" contiene el numero de dias que tardó en ser aprobada dicha solicitud.
 
Segun el tipo de solicitud de la columna "UBICACION SOLICITUD" existe un tiempo limite para que la autorizacion sea oportuna, estos son:
CONSULTA EXTERNA <= 5
HOSPITALARIO Y URGENCIA <=1
 
En ese orden de ideas deseo calcular una columna que me diga cuales registros fueron oportunos, y cuales no, lo intento de la siguiente manera pero obtengo un error de sintaxis.
 
 
Columna = if(

[UBICACION_SOLICITUD] = "CONSULTA EXTERNA" && [DIAS_APROBACION_] <=5,

"AUTORIZACIÓN OPORTUNA",

IF(

[UBICACION_APROBACION] = "HOSPITALARIO" || [UBICACION_APROBACION] = "URGENCIA" && [DIAS_APROBACION_] <> blank && [DIAS_APROBACION_] <=5,

"AUTORIZACIÓN OPORTUNA",

IF(

[DIAS_APROBACION_] = blank,

"SIN FECHA DE APROBACION",0)

)

)

Espero puedan ayudarme, De antemano muchas gracias.

 

1 ACCEPTED SOLUTION
AlB
Community Champion
Community Champion

@JuanDtM23

El problema es exactamente lo que dice el mensaje de error. Está devolviendo una mezcla de texto y números. Eso no está permitido,una columna solo puede tener un tipo de datos. El número es el cero al final. Una opción sería devolver ese cero como texto:

Columna =
IF (
    [UBICACION_SOLICITUD] = "CONSULTA EXTERNA"
        && [DIAS_APROBACION_] <= 5,
    "AUTORIZACION OPORTUNA",
    IF (
        [UBICACION_APROBACION] = "HOSPITALARIO"
            || [UBICACION_APROBACION] = "URGENCIA"
                && [DIAS_APROBACION_] <> BLANK ()
                && [DIAS_APROBACION_] <= 5,
        "HOSPITALIZACION OPORTUNA",
        IF ( [DIAS_APROBACION_] = BLANK (), "SIN FECHA DE APROBACIÓN", "0" )
    )
)

Otra opción sería no devolver nada en lugar de ese cero. La columna tendrá un espacio en blanco en esa fila:

Columna =
IF (
    [UBICACION_SOLICITUD] = "CONSULTA EXTERNA"
        && [DIAS_APROBACION_] <= 5,
    "AUTORIZACION OPORTUNA",
    IF (
        [UBICACION_APROBACION] = "HOSPITALARIO"
            || [UBICACION_APROBACION] = "URGENCIA"
                && [DIAS_APROBACION_] <> BLANK ()
                && [DIAS_APROBACION_] <= 5,
        "HOSPITALIZACION OPORTUNA",
        IF ( [DIAS_APROBACION_] = BLANK (), "SIN FECHA DE APROBACIÓN" )
    )
)

Otras opciones son posibles. La solución dependerá de lo que necesite.

Por favor, marque la pregunta resuelta cuando haya terminado y considere dar un pulgar hacia arriba si las publicaciones son útiles.

Póngase en contacto conmigo de forma privada para obtener asistencia con cualquier necesidad de BI a gran escala, tutoría, etc.

Salud

SU18_powerbi_badge

View solution in original post

6 REPLIES 6
AlB
Community Champion
Community Champion

Hola @JuanDtM23

¿Qué dice exactamente el error?

Pruebe BLANK() en lugar de BLANK solamente

Por favor, marque la pregunta resuelta cuando haya terminado y considere dar un pulgar hacia arriba si las publicaciones son útiles.

Póngase en contacto conmigo de forma privada para obtener asistencia con cualquier necesidad de BI a gran escala, tutoría, etc.

Salud

SU18_powerbi_badge

Hola @AlB  

El error es el siguiente:

"La sintaxis no es correcta"

JuanDtM23_0-1603260281311.png

 

y si utilizo blanck() en lugar de blank obtengo lo siguiente:

"las expresioones que producen los tipos de datos variant no se pueden usar para definir columnas calculadas"

JuanDtM23_1-1603260391070.png

 

adjunto el .Pbix: https://mutualsereps-my.sharepoint.com/:u:/g/personal/jtorres_mutualser_org/EXU70n2B2dRNh94N-LUkvkoB... 

 

AlB
Community Champion
Community Champion

@JuanDtM23

El problema es exactamente lo que dice el mensaje de error. Está devolviendo una mezcla de texto y números. Eso no está permitido,una columna solo puede tener un tipo de datos. El número es el cero al final. Una opción sería devolver ese cero como texto:

Columna =
IF (
    [UBICACION_SOLICITUD] = "CONSULTA EXTERNA"
        && [DIAS_APROBACION_] <= 5,
    "AUTORIZACION OPORTUNA",
    IF (
        [UBICACION_APROBACION] = "HOSPITALARIO"
            || [UBICACION_APROBACION] = "URGENCIA"
                && [DIAS_APROBACION_] <> BLANK ()
                && [DIAS_APROBACION_] <= 5,
        "HOSPITALIZACION OPORTUNA",
        IF ( [DIAS_APROBACION_] = BLANK (), "SIN FECHA DE APROBACIÓN", "0" )
    )
)

Otra opción sería no devolver nada en lugar de ese cero. La columna tendrá un espacio en blanco en esa fila:

Columna =
IF (
    [UBICACION_SOLICITUD] = "CONSULTA EXTERNA"
        && [DIAS_APROBACION_] <= 5,
    "AUTORIZACION OPORTUNA",
    IF (
        [UBICACION_APROBACION] = "HOSPITALARIO"
            || [UBICACION_APROBACION] = "URGENCIA"
                && [DIAS_APROBACION_] <> BLANK ()
                && [DIAS_APROBACION_] <= 5,
        "HOSPITALIZACION OPORTUNA",
        IF ( [DIAS_APROBACION_] = BLANK (), "SIN FECHA DE APROBACIÓN" )
    )
)

Otras opciones son posibles. La solución dependerá de lo que necesite.

Por favor, marque la pregunta resuelta cuando haya terminado y considere dar un pulgar hacia arriba si las publicaciones son útiles.

Póngase en contacto conmigo de forma privada para obtener asistencia con cualquier necesidad de BI a gran escala, tutoría, etc.

Salud

SU18_powerbi_badge

@AlB  Muchas gracias!

amitchandak
Super User
Super User

@JuanDtM23 , Probar como

switch( True(),
[UBICACION_SOLICITUD] = "EXTERNAL CONSULTATION" && [DIAS_APROBACION_] <=5,  "TIMELY AUTHORIZATION",
[UBICACION_APROBACION] in {"HOSPITAL" , "URGENCIA"} && not(isblank([DIAS_APROBACION_]))&& [DIAS_APROBACION_] <=5, "TIMELY AUTHORIZATION",
isblank([DIAS_APROBACION_]), "NO APPROVAL DATE",
"0")

Proporcione sus comentarios y consejos para nuevos videos
Tutorial Series Dax Vs SQL Direct Query PBI Consejos
Apreciamos tus Felicitaciones.

Share with Power BI Enthusiasts: Full Power BI Video (20 Hours) YouTube
Microsoft Fabric Series 60+ Videos YouTube
Microsoft Fabric Hindi End to End YouTube

@amitchandak Solo funcionó para consulta externa no funcionó con las demás.

 

A continuación comparto el .Pbix

 

https://mutualsereps-my.sharepoint.com/:u:/g/personal/jtorres_mutualser_org/EXU70n2B2dRNh94N-LUkvkoB...

 

 

 

Helpful resources

Announcements
New to Fabric survey Carousel

New to Fabric Survey

If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.

Join our Fabric User Panel

Join our Fabric User Panel

Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.

March Power BI Update Carousel

Power BI Community Update - March 2026

Check out the March 2026 Power BI update to learn about new features.

Top Kudoed Authors