Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Administrator
5 years ago
Solved

Filtrar datos

Hola a todos,

Tengo una tabla de muestra como abajo.

Una factura puede contener varios Product_ID. Lo que estoy tratando de hacer es encontrar las facturas que contienen 'A' o 'C' Y 'Z123', 'Z234' o 'Z345'.

Por ejemplo: La factura '1' contiene 'A' y 'Z123' -> cumplen el requisito.

Invocar '2' -> NO cumplir con el requisito

La factura '3' contiene 'A' y 'Z345' -> cumplen el requisito.

La factura '5' contiene 'Z234' pero falta 'A' o 'B' -> NO cumpla con el requisito.

Harry_Tran_1-1611888916453.png

¡Muchas gracias!

  • Hola, @Harry_Tran

    Puede crear un objeto Measure y, a continuación, crear un objeto visual Table.

    1 Invoice_meet_requirement ?

    VAR t ?

    FILTRO (

    'Mesa',

    'Tabla'[Product_ID]

    EN "A", "C"

    || 'Tabla'[Product_ID] EN "Z123", "Z234", "Z345"

    )

    VAR num ?

    COUNTROWS ( t )

    devolución

    IF ( num > 1, "Meet the requirement", "DO NOT meet the requirement" )

    2 Cree una tabla con el campo 'factura' y arrastre 'invoice_meet_requirement' a su filtro visual

    v-cazheng-msft_0-1612171118920.png

    El resultado tiene este aspecto:

    v-cazheng-msft_1-1612171118921.png

    Saludos

    Caiyun Zheng

    ¿Esa es la respuesta que estás buscando? Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

7 Replies

  • @Harry_Tran

    Puede utilizar la instrucción SWITCH para buscar la opción necesaria. Sin embargo, si me puede dar el resultado como una imagen es fácil dar solución !

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Administrator

      No @VijayP ,

      ¿Cómo puedo usar SWITCH en esta situación cuando la factura no es única y necesito la columna del formulario de opción múltiple 1?

      Gracias

  • @Harry_Tran

    Creo que debe crear una columna concatinando las columnas de producto e inv y use la función SWITCH.

    Si no, ¿puedes mostrarme cuál es tu objetivo final, me refiero al resultado final como mesa?!

  • Hola, @Harry_Tran

    Puede crear un objeto Measure y, a continuación, crear un objeto visual Table.

    1 Invoice_meet_requirement ?

    VAR t ?

    FILTRO (

    'Mesa',

    'Tabla'[Product_ID]

    EN "A", "C"

    || 'Tabla'[Product_ID] EN "Z123", "Z234", "Z345"

    )

    VAR num ?

    COUNTROWS ( t )

    devolución

    IF ( num > 1, "Meet the requirement", "DO NOT meet the requirement" )

    2 Cree una tabla con el campo 'factura' y arrastre 'invoice_meet_requirement' a su filtro visual

    v-cazheng-msft_0-1612171118920.png

    El resultado tiene este aspecto:

    v-cazheng-msft_1-1612171118921.png

    Saludos

    Caiyun Zheng

    ¿Esa es la respuesta que estás buscando? Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Administrator

      No @v-cazheng-msft

      Muchas gracias por su ayuda.

      Hay un problema cuando intento usar su DAX es si tengo una venta de factura 2 'A' productos o venta 'Z123' y 'Z234'. Sigue considerando 'Cumplir requisito'

      Por ejemplo, agredo una factura 8 más a la tabla

      Harry_Tran_0-1612199196705.png

      Invocie '8' falta 'A' o 'B' pero sigue considerando cumplir con los requisitos

      Harry_Tran_1-1612199286100.png

      Gracias

      • Syndicate_Admin's avatar
        Syndicate_Admin
        Administrator

        Hola, @Harry_Tran

        Puede probar la siguiente medida.

        Invoice_meet_requirement de la casa de los 100 es

        VAR t1 ?

        FILTRO ( 'Tabla', 'Tabla'[Product_ID] EN ''A', 'C' ? )

        VAR t2 ?

        FILTRO ( 'Tabla', 'Tabla'[Product_ID] EN 'Z123', 'Z234', "Z345' ? )

        VAR invoice_t1 ?

        DISTINCT ( SELECTCOLUMNS ( t1, "factura", 'Tabla'[Factura] ) )

        VAR invoice_t2 ?

        DISTINCT ( SELECTCOLUMNS ( t2, "factura", 'Tabla'[Factura] ) )

        VAR union_t de VAR ?

        COUNTROWS ( UNION ( invoice_t1, invoice_t2 )

        devolución

        IF ( union_t > 1, "Cumplir el requisito", "NO cumplir con el requisito" )

        Saludos

        Caiyun Zheng

        ¿Esa es la respuesta que estás buscando? Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Administrator

      No @v-cazheng-msft

      Basado en su DAX arreglo mi Masure un poco a que funciona

      Aquí está mi medida

      Meet_The_Requirement de la casa de los

      var _Prod1 - FILTER('Table','Table'[Product_ID] en ''A","B"')

      var _Prod@ - FILTER('Table','Table'[Product_ID] en ''Z123',"Z234","z345"')

      var _Invoice - COUNTROWS(_Prod1) / COUNTROWS (_Prod2)

      var _Result - IF(COUNTROWS(_Prod2) á0,0,_Invoice)

      retorno IF(_Result > 0,"Cumplir el requisito","NO cumpla con el requisito")

      Muchas gracias.