Forum Discussion

abhilash_sa's avatar
abhilash_sa
Regular Visitor
1 year ago
Solved

List by Open Status

Hi,

 

I need help with deriving a table of open status list of products. I have 2 tables - a master with product names and another with open/closed reorder status.

Table 1

Product
A1
A2
A3
A4

 

Table 2

ProductTypeStatus
A1T1Open
A1T1Closed
A1T2Open
A1T2Closed
A1T3Open
A2T4Open
A2T5Open
A2T5Closed
A2T6Open
A2T7Open
A3T8Open
A3T9Open
A3T9Closed
A4Z1Open
A4Z2Open

 

I want to be able to show only those product/type combinations with an open status, but no closed status, like below:

 

ProductTypeStatus
A1T3Open
A2T4Open
A2T6Open
A2T7Open
A3T8Open
A4Z1Open
A4Z2Open

 

Filtering on Table 2 for "Open" will not work, because for the combination of A1,T1, while there is "Open", there is also a "Closed" status.

 

Thank you very much!

  • manikumar34's avatar
    manikumar34
    1 year ago

    abhilash_sa , 
    Got it, try below DAX. 

    I have created a measure to filter the values. If you want to create a calcualted table then use the belwo DAX. 

    Table 3 =
    VAR ClosedTypes =
        SUMMARIZE(
            FILTER(
                'Table (2)',
                'Table (2)'[Status] = "Closed"
            ),
            'Table (2)'[Product], 'Table (2)'[Type]
        )

    RETURN
        FILTER(
            'Table (2)',
            NOT (
                'Table (2)'[Product] & 'Table (2)'[Type]
                IN SELECTCOLUMNS(ClosedTypes, "Key", [Product] & [Type])
            )
        )
  • Hii abhilash_sa 

    This Might help you
    Show_Open_Only =
    VAR ClosedTypes =
    CALCULATETABLE (
    VALUES ( Table2[Type] ),
    Table2[Status] = "Closed",
    ALLEXCEPT ( Table2, Table2[Product] )
    )
    RETURN
    IF (
    Table2[Status] = "Open" &&
    NOT Table2[Type] IN ClosedTypes,
    "Show",
    BLANK()
    )

    If this helps, I would appreciate your KUDOS!
    Did I answer your question? Mark my post as a solution!

7 Replies

    • abhilash_sa's avatar
      abhilash_sa
      Regular Visitor

      Thank you for responding. unfortunately that will not work, because then this record will filter through:

      A2T5Open

      but, it has a "Closed" record in Table 2. I want only those products that do not have a "Closed" status.

      • manikumar34's avatar
        manikumar34
        Solution Sage

        abhilash_sa , 
        Got it, try below DAX. 

        I have created a measure to filter the values. If you want to create a calcualted table then use the belwo DAX. 

        Table 3 =
        VAR ClosedTypes =
            SUMMARIZE(
                FILTER(
                    'Table (2)',
                    'Table (2)'[Status] = "Closed"
                ),
                'Table (2)'[Product], 'Table (2)'[Type]
            )

        RETURN
            FILTER(
                'Table (2)',
                NOT (
                    'Table (2)'[Product] & 'Table (2)'[Type]
                    IN SELECTCOLUMNS(ClosedTypes, "Key", [Product] & [Type])
                )
            )
  • Hii abhilash_sa 

    This Might help you
    Show_Open_Only =
    VAR ClosedTypes =
    CALCULATETABLE (
    VALUES ( Table2[Type] ),
    Table2[Status] = "Closed",
    ALLEXCEPT ( Table2, Table2[Product] )
    )
    RETURN
    IF (
    Table2[Status] = "Open" &&
    NOT Table2[Type] IN ClosedTypes,
    "Show",
    BLANK()
    )

    If this helps, I would appreciate your KUDOS!
    Did I answer your question? Mark my post as a solution!

    • abhilash_sa's avatar
      abhilash_sa
      Regular Visitor

      Exactly what I needed! Thank you very much!

  • Deku's avatar
    Deku
    Super User

    Add this to the filter pane of the table visual and filter to equals 0

     

    HasClosed =
    CALCULATE( 
       COUNTROWS( 'Table 2' )
       ,'Table 2'[Status] = "Closed"
    )