Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
4 years ago
Solved

Production Yield Calculation

Hello all,

I am working on creating a production yield dashboard. Dummy format of how my data looks is attached below. I wanted to calculate yield of each operation individually. As you can see, a particular unit id can be present multiple times in a column, however it is only present once in each operation. Can you guys help me in filtering out yield with respect to Operation? Yield basically is [(count of unique unit id in a particular operation that have a "pass" result) divided by (Count of total amount of unique unit id going into the operation)]

 

  • Hi Anonymous ,

     

    Please check:

    Measure =
    VAR Count_UnitID =
        CALCULATE (
            DISTINCTCOUNT ( 'Table'[Unit ID] ),
            FILTER (
                ALLEXCEPT ( 'Table', 'Table'[Cycle], 'Table'[Operation] ),
                'Table'[Status] = "pass"
            )
        )
    VAR Count_ALL =
        CALCULATE (
            DISTINCTCOUNT ( 'Table'[Unit ID] ),
            ALLEXCEPT ( 'Table', 'Table'[Cycle], 'Table'[Operation] )
        )
    RETURN
        DIVIDE ( Count_UnitID, Count_ALL )
    

     

     

    Column =
    VAR Count_UnitID =
        CALCULATE (
            DISTINCTCOUNT ( 'Table'[Unit ID] ),
            FILTER (
                ALLEXCEPT ( 'Table', 'Table'[Cycle], 'Table'[Operation] ),
                'Table'[Status] = "pass"
            )
        )
    VAR Count_ALL =
        CALCULATE (
            DISTINCTCOUNT ( 'Table'[Unit ID] ),
            ALLEXCEPT ( 'Table', 'Table'[Cycle], 'Table'[Operation] )
        )
    RETURN
        DIVIDE ( Count_UnitID, Count_ALL )
    

     

     

    Best Regards,

    Icey

     

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

3 Replies

  • Greg_Deckler's avatar
    Greg_Deckler
    Community Champion

    Anonymous Perhaps:

    Measure =
      VAR __Denominator = COUNTROWS('Table')
      VAR __Numerator = COUNTROWS(DISTINCT(SELECTCOLUMNS(FILTER('Table',[Status]="pass"),"Unit ID",[Unit ID])))
    RETURN
      DIVIDE(__Numerator,__Denominator,0)
    • Anonymous's avatar
      Anonymous
      Not applicable

      Greg_Deckler 
      Thank you for the reply. I did try using this method and I see 100% yield for all the processes whiich is not the case. 

  • Icey's avatar
    Icey
    Community Support

    Hi Anonymous ,

     

    Please check:

    Measure =
    VAR Count_UnitID =
        CALCULATE (
            DISTINCTCOUNT ( 'Table'[Unit ID] ),
            FILTER (
                ALLEXCEPT ( 'Table', 'Table'[Cycle], 'Table'[Operation] ),
                'Table'[Status] = "pass"
            )
        )
    VAR Count_ALL =
        CALCULATE (
            DISTINCTCOUNT ( 'Table'[Unit ID] ),
            ALLEXCEPT ( 'Table', 'Table'[Cycle], 'Table'[Operation] )
        )
    RETURN
        DIVIDE ( Count_UnitID, Count_ALL )
    

     

     

    Column =
    VAR Count_UnitID =
        CALCULATE (
            DISTINCTCOUNT ( 'Table'[Unit ID] ),
            FILTER (
                ALLEXCEPT ( 'Table', 'Table'[Cycle], 'Table'[Operation] ),
                'Table'[Status] = "pass"
            )
        )
    VAR Count_ALL =
        CALCULATE (
            DISTINCTCOUNT ( 'Table'[Unit ID] ),
            ALLEXCEPT ( 'Table', 'Table'[Cycle], 'Table'[Operation] )
        )
    RETURN
        DIVIDE ( Count_UnitID, Count_ALL )
    

     

     

    Best Regards,

    Icey

     

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