Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
5 years ago
Solved

Funcion suma con IN

Me encuentro ante esta dificultad:

En la siguiente fórmula, quiero indicar que el campo DepositoDestino_id es el 3 o que el campo está en blanco.

PP ALTA 0 y 3 = CALCULATE(SUM(Movimientos[Cantidad]), FILTER(Movimientos, Movimientos[Alta] = TRUE), FILTER(Movimientos, Movimientos[DepositoDestino_id] IN {0,3}))

No funciona. SI hago 2 fórmulas, sí funciona:

PP ALTA 3 = CALCULATE(SUM(Movimientos[Cantidad]), FILTER(Movimientos, Movimientos[Alta] = TRUE), FILTER(Movimientos, Movimientos[DepositoDestino_id] = 3))

PP ALTA 0 = CALCULATE(SUM(Movimientos[Cantidad]), FILTER(Movimientos, Movimientos[Alta] = TRUE), FILTER(Movimientos, Movimientos[DepositoDestino_id] = 0))

MMPagola_1-1628451639437.png

Quisiera saber cuál es la forma de tener el total en una sola fórmula y no tener que hacerlo en 2. Muchas gracias.

  • HOLA @MMPagola,

    Modifico su fórmula para usar AND, O función lógica para vincular dos condiciones, puede intentar usar la siguiente fórmula si ayuda:

    PP ALTA 0 y 3 =
    CALCULATE (
        SUM ( Movimientos[Cantidad] ),
        FILTER (
            Movimientos,
            AND (
                Movimientos[Alta] = TRUE,
                OR ( Movimientos[DepositoDestino_id] = 0, Movimientos[DepositoDestino_id] = 3 )
            )
        )
    )

    Si la fórmula anterior no funciona, ¿puede usted complacer algunos datos ficticios para probar? Debería ayudarnos a aclarar su escenario y probar la fórmula de codificación.

    Cómo obtener una respuesta rápida a su pregunta

    Saludos

    Xiaoxin Sheng

3 Replies

  • @MMPagola , Prueba como y comprueba

    PP ALTA 0 y 3 = CALCULATE(SUM(Movimientos[Cantidad]), FILTER(Movimientos, Movimientos[Alta] = true() && Movimientos[DepositoDestino_id] IN {0,3}))

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      Hola, gracias por tu ayuda pero no funciona. Asi, me toma solamente las cantidades del depósito 3

  • HOLA @MMPagola,

    Modifico su fórmula para usar AND, O función lógica para vincular dos condiciones, puede intentar usar la siguiente fórmula si ayuda:

    PP ALTA 0 y 3 =
    CALCULATE (
        SUM ( Movimientos[Cantidad] ),
        FILTER (
            Movimientos,
            AND (
                Movimientos[Alta] = TRUE,
                OR ( Movimientos[DepositoDestino_id] = 0, Movimientos[DepositoDestino_id] = 3 )
            )
        )
    )

    Si la fórmula anterior no funciona, ¿puede usted complacer algunos datos ficticios para probar? Debería ayudarnos a aclarar su escenario y probar la fórmula de codificación.

    Cómo obtener una respuesta rápida a su pregunta

    Saludos

    Xiaoxin Sheng