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
wek9294
Frequent Visitor

Instrucción Multiple If, devuelve valores únicos

Hola, me estoy metiendo en este problema en mi informe de BI. Tengo tres columnas diferentes que se están comprobando antes de devolver un valor y estoy usando dos tablas diferentes. El resultado está bien si pongo una instrucción IF, pero cuando intento anidar varias instrucciones IF, no funciona. Puedo proporcionar más detalles, pero cualquier idea de cómo solucionar esto?

Las columnas que se utilizan en la búsqueda para devolver un valor en la tabla 2 son:

Tabla 1[código postal]

Tabla 2[código postal]

Tabla 1[código de portadora]

Tabla 2[código de portadora]

Tabla 1[número]

La fórmula que tengo es:

si(
CALCULATE(FIRSTNONBLANK(Tabla 1[Tasa/Milla],1),
filtro(
Table 1,
Tabla 1[Código postal] - Tabla 2[Código postal] &&
Tabla 1[código de portadora] - Tabla 2[código de portadora]),
Tabla 1[número] á 1) - BLANK(),

CALCULATE(FIRSTNONBLANK(Tabla 1[Tasa/Milla],1),
filtro(
Table 1,
Tabla 1[Código postal] - Tabla 2[Código postal] &&
Tabla 1[código de portadora] - Tabla 2[código de portadora]),
Tabla 1[número] 2)
1 ACCEPTED SOLUTION

Hola, @wek9294

Según su descripción, modifiqué los datos como se indica a continuación. El archivo pbix se adjunta al final.

Tabla1:

a1.png

Tabla 2:

a2.png

Puede crear una columna calculada o una medida como se indica a continuación.

Columna calculada:

Result Column = 
SUMX(
    FILTER(
        ALL(Table1),
        [Zip Codes]=EARLIER(Table2[Zip Codes])&&
        [Carrier Codes]=EARLIER(Table2[Carrier Codes])
    ),
    [Rate]
)

Medida:

Result Measure = 
SUMX(
    ADDCOLUMNS(
        Table2,
        "Result",
        SUMX(
            FILTER(
                ALL(Table1),
                [Zip Codes]=EARLIER(Table2[Zip Codes])&&
                [Carrier Codes]=EARLIER(Table2[Carrier Codes])
            ),
            [Rate]
        )
    ),
    [Result]
)

Resultado:

a3.png

Saludos

Allan

Si este post ayuda, entonces considera Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

View solution in original post

8 REPLIES 8
wek9294
Frequent Visitor

Funcionó perfectamente, gracias!

v-alq-msft
Community Support
Community Support

Hola, @wek9294

Según su descripción, creé datos para reproducir su escenario. El archivo pbix se adjunta al final.

Tabla1:

a1.png

Tabla 2:

a2.png

Puede crear una columna calculada como se muestra a continuación.

Result Column = 
var zcode = [Zip Codes]
var ccode = [Carrier Codes]
var num = [Number]
var val = 
CALCULATE(
    FIRSTNONBLANKVALUE(Table1[Rate],SUM(Table1[Rate])),
    FILTER(
        Table1,
        [Zip Codes]=zcode&&
        [Carrier Codes]=ccode&&
        [Number]=num
    )
)
var n = 
CALCULATE(
    MIN(Table1[Number]),
    FILTER(
        Table1,
        [Zip Codes]=zcode&&
        [Carrier Codes]=ccode&&
        [Number]>num
    )
)
var val2 = 
CALCULATE(
    SUM(Table1[Rate]),
    FILTER(
        Table1,
        [Zip Codes]=zcode&&
        [Carrier Codes]=ccode&&
        [Number]=n
    )
)
return
IF(
    ISBLANK(val),
    val2,
    val
)

Resultado:

a3.png

Saludos

Allan

Si este post ayuda, entonces considera Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Gracias por la fórmula y su ayuda, pero lamento el doble trabajo en este. Pero mis datos parecen:

Tabla 1

Capture.PNG

Tabla 2

Table 2.PNG

Y lo que quiero que parezca es:
results.PNG

No puedo hacer un valor de búsqueda recto ya que estoy recibiendo el error "Se proporcionó una tabla de varios valores donde se esperaba un solo valor" cuando lo hago. Hay muchos más datos, así que esta es una muestra del archivo general.

Hola, @wek9294

Según su descripción, modifiqué los datos como se indica a continuación. El archivo pbix se adjunta al final.

Tabla1:

a1.png

Tabla 2:

a2.png

Puede crear una columna calculada o una medida como se indica a continuación.

Columna calculada:

Result Column = 
SUMX(
    FILTER(
        ALL(Table1),
        [Zip Codes]=EARLIER(Table2[Zip Codes])&&
        [Carrier Codes]=EARLIER(Table2[Carrier Codes])
    ),
    [Rate]
)

Medida:

Result Measure = 
SUMX(
    ADDCOLUMNS(
        Table2,
        "Result",
        SUMX(
            FILTER(
                ALL(Table1),
                [Zip Codes]=EARLIER(Table2[Zip Codes])&&
                [Carrier Codes]=EARLIER(Table2[Carrier Codes])
            ),
            [Rate]
        )
    ),
    [Result]
)

Resultado:

a3.png

Saludos

Allan

Si este post ayuda, entonces considera Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Hola

En la Tabla 2, escriba esta fórmula de columna calculada

•calculate(sum('table1'[rate]),filter('table1','table1'[Códigos postales]-earlier('table2'[Códigos postales])&&'table1'[Códigos de portadora]-anterior('table2'[Códigos de portadora])))

Espero que esto ayude.


Regards,
Ashish Mathur
http://www.ashishmathur.com
https://www.linkedin.com/in/excelenthusiasts/
Ashish_Mathur
Super User
Super User

Hola

Comparta algunos datos, describa la pregunta y muestre el resultado esperado.


Regards,
Ashish Mathur
http://www.ashishmathur.com
https://www.linkedin.com/in/excelenthusiasts/

Los códigos postales son "12345 - 12345"

Los códigos de portadora son "ABCD"

El número son valores de 1 a 5

Estoy tratando de que la fórmula devuelva un valor de una columna "Tasa" dependiendo de la coincidencia de estos valores. Por lo tanto, si el código postal, el código de portadora y el número coinciden, devuelve el número en la columna Tasa como 1.5. Pero si el número 1 está en blanco, entonces devuelva la tarifa si el número es 2. Cuando agredo una instrucción IF en este momento para intentar devolver los valores 3 a 5, obtendré un resultado en blanco.

Hola

Todavía no lo entiendo. Puede que otra persona te ayude.


Regards,
Ashish Mathur
http://www.ashishmathur.com
https://www.linkedin.com/in/excelenthusiasts/

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.