Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
2 years ago
Solved

Custom Column Showing When All Complete

My data set has packages that have components (there can be any number of components) where each component is a separate row.

 

I'm looking to make a custom column that identifies when all of the components for a given package is complete. The data for if it's complete or not is true/false.

 

What would the dax be for this?

 

  • Anonymous's avatar
    Anonymous
    2 years ago

    In the end, this is what worked:

     

    Ready for Comp =
    var result =CALCULATE(MIN('Table'[Component Complete]),ALLEXCEPT('Table','Table'[Package]))
    return
    IF(result="False","Not Ready","Ready")

5 Replies

  • Hi,

    Go to the "Modeling" tab in Power BI.

    1. Click on "New Column" from the toolbar.

    2. In the formula bar that appears, enter the following DAX formula:

    AllComponentsComplete =
    CALCULATE(
    AND(
    COUNTROWS(FILTER('YourTable', 'YourTable'[PackageID] = EARLIER('YourTable'[PackageID]))),
    COUNTROWS(FILTER('YourTable', 'YourTable'[PackageID] = EARLIER('YourTable'[PackageID]) && 'YourTable'[Complete] = TRUE))
    ),
    ALLEXCEPT('YourTable', 'YourTable'[PackageID])
    )
    • Anonymous's avatar
      Anonymous
      Not applicable

      I'm getting an error:

       

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi Anonymous ,

    Based on your problems, here are my answers.

    I create a corresponding table based on your needs.

    Then write the DAX code to get a new column, this column is used to indicate whether the item is complete or not, denoted by True/False.

    Column =
    VAR _aa = 'Table'[PackageID]
    VAR _A =
        CALCULATETABLE ( 'Table', FILTER ( 'Table', 'Table'[PackageID] = _aa ) )
    VAR _B =
        FILTER ( _A, 'Table'[IsComplete] = FALSE () )
    RETURN
        IF ( COUNTROWS ( _B ) = 0, TRUE (), FALSE () )

    Finally, you will get what you want.

     

     

     

    Best Regards

    Yilong Zhou

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

    • Anonymous's avatar
      Anonymous
      Not applicable

      To be clear, this is more of the table I'm dealing with:

       

  • Anonymous's avatar
    Anonymous
    Not applicable

    In the end, this is what worked:

     

    Ready for Comp =
    var result =CALCULATE(MIN('Table'[Component Complete]),ALLEXCEPT('Table','Table'[Package]))
    return
    IF(result="False","Not Ready","Ready")