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

Cambio de fórmula

Hola buenos días a todos,
Tengo una pregunta sobre una fórmula, vamos a ver si alguien me puede ayudar. Muchas gracias

Estoy intentando crear una medida en la que, si selecciono con mi selector el Importe Bruto, éste calcula el Importe Bruto, si selecciono el Importe Neto, calcula el Importe Neto y lo mismo si selecciono la Base Imponible.
Cuando el valor de lo que he seleccionado está en blanco, automáticamente me pone (En blanco), sin embargo, me gustaría que pusiera "Nada pendiente".

Con mi fórmula no funciona

Esta es mi fórmula:

Selección Detalle =

SI(ESTÁ CON FILTRO CRUZADO(Selector[Selección]),

INTERRUPTOR(VERDADERO(),
ISBLANK(VALUES(Selector[Selección])),"Nada pte",
VALORES(Selector[Selección]) = "Importe Bruto", [Bruto],
VALORES(Selector[Selección]) = "Importe Neto", [Importe Neto],
VALORES(Selector[Selección]) = "Base Imponible", [BI NOBLANK] ,
[BI NOBLANK]),
[BI NOBLANK])

afrutos_0-1642412622250.png

¡Gracias de antemano!

1 ACCEPTED SOLUTION

@afrutos , ¿puede intentar imprimir lo que viene dentro en MAX ( Selector [Selección] ) como se muestra a continuación solo para verificar si va dentro de la condción correcta o no.

Selección Detalle =
IF (
    ISCROSSFILTERED ( Selector[Selección] ),
    MAX ( Selector[Selección] )
)

o pruebe esto:-

Selección Detalle =
VAR selected_value =
    SELECTEDVALUE ( Selector[Selección] )
RETURN
    IF (
        ISCROSSFILTERED ( Selector[Selección] ),
        SWITCH (
            TRUE (),
            ISBLANK ( selected_value ), "Nada pte",
            selected_value = "Importe Bruto", [Bruto],
            selected_value = "Importe Neto", [Importe Neto],
            selected_value = "Base Imponible", [BI NOBLANK],
            [BI NOBLANK]
        ),
        [BI NOBLANK]
    )

View solution in original post

10 REPLIES 10
Syndicate_Admin
Administrator
Administrator

Lo he hecho ut sigo teniendo el mismo problema

Syndicate_Admin
Administrator
Administrator

Selección Detalle =

SI(ESTÁ CON FILTRO CRUZADO(Selector[Selección]),

INTERRUPTOR(VERDADERO(),
ISBLANK(Selector[Selección]),"Nada pte",
Máximo(Selector[Selección]) = "Importe Bruto", [Bruto],
Máximo(Selector[Selección]) = "Importe Neto", [Importe Neto],
Máximo(Selector[Selección]) = "Base Imponible", [BI NOBLANK] ,
[BI NOBLANK]),
[BI NOBLANK])
Con esto tengo el mismo error
Syndicate_Admin
Administrator
Administrator

@afrutos , prueba como

SWITCH(TRUE(),
ISBLANK((Selector[Selección])),"Nada pte",
Max(Selector[Selección]) = "Importe Bruto", [Bruto],
Max(Selector[Selección]) = "Importe Neto", [Importe Neto],
Max(Selector[Selección]) = "Base Imponible", [BI NOBLANK] ,
[BI NOBLANK])

Hola, me da un error: no se puede determinar un solo valor para la columna 'Selección' en la tabla 'Selector'. Esto puede suceder cuando una fórmula de medición se refiere a una columna que contiene muchos valores sin especificar una agregación, como min, max, count o sum, para obtener un solo resultado.

afrutos_1-1642415618160.png

Quitar soportes dobles

Lo modifiqué, pero todavía tengo el mismo error de texto

afrutos_1-1642509242299.png

@afrutos Pequeña corrección en su código. Por favor, use así: -

Selección Detalle =
IF (
    ISCROSSFILTERED ( Selector[Selección] ),
    SWITCH (
        TRUE (),
        ISBLANK ( MAX ( Selector[Selección] ) ), "Nada pte",
        MAX ( Selector[Selección] ) = "Importe Bruto", [Bruto],
        MAX ( Selector[Selección] ) = "Importe Neto", [Importe Neto],
        MAX ( Selector[Selección] ) = "Base Imponible", [BI NOBLANK],
        [BI NOBLANK]
    ),
    [BI NOBLANK]
)

Hola, gracias de antemano.
Lo logré, pero todavía no funciona...

afrutos_0-1642510252818.png

Esto me está volviendo loco.

@afrutos , ¿puede intentar imprimir lo que viene dentro en MAX ( Selector [Selección] ) como se muestra a continuación solo para verificar si va dentro de la condción correcta o no.

Selección Detalle =
IF (
    ISCROSSFILTERED ( Selector[Selección] ),
    MAX ( Selector[Selección] )
)

o pruebe esto:-

Selección Detalle =
VAR selected_value =
    SELECTEDVALUE ( Selector[Selección] )
RETURN
    IF (
        ISCROSSFILTERED ( Selector[Selección] ),
        SWITCH (
            TRUE (),
            ISBLANK ( selected_value ), "Nada pte",
            selected_value = "Importe Bruto", [Bruto],
            selected_value = "Importe Neto", [Importe Neto],
            selected_value = "Base Imponible", [BI NOBLANK],
            [BI NOBLANK]
        ),
        [BI NOBLANK]
    )

Hola

Ahora iw funcionando perfectamente, ut no entiendo nada,
¿Por qué trabajar definiendo una variable?

Gracias de antemano

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