Forum Discussion

JC2022's avatar
JC2022
Icon for Helper III rankHelper III
3 years ago
Solved

add extra condition to formula

Hi, How do I add an extra condition to the formula below? I need only to calculate the TT_SCHEDDAY_ITM[Hours] if in another table (which has a relationship) a column has a certain value.   Schedu...
  • tamerj1's avatar
    3 years ago

    JC2022 
    Final solution is as follows

    Scheduled Hours = 
    VAR T1 =
    GENERATE ( 
        FILTER ( 
            SUMMARIZE ( 
                TT_EMP_SCHED,
                TT_EMP_SCHED[Schedule ID],
                TT_EMP_SCHED[From Date],
                TT_EMP_SCHED[To Date],
                TT_EMP[Employee ID],
                TT_EMP[TT_EMPCAT]
            ),
            TT_EMP[TT_EMPCAT] = 51
        ),
        SELECTCOLUMNS ( 
            FILTER ( 
                TT_EMP_CONTRACT,
                TT_EMP_CONTRACT[Employee ID] = TT_EMP[Employee ID]
                    && TT_EMP_CONTRACT[TT_BOOKHOURS] = 1
            ),
            "@ContractStart", TT_EMP_CONTRACT[Contract from date],
            "@ContractEnd", TT_EMP_CONTRACT[Contract to date]
        )
    )
    RETURN
        SUMX (
            T1,
            SUMX (
                FILTER (
                    TT_SCHEDDAY_ITM,
                    TT_SCHEDDAY_ITM[Schedule ID] = TT_EMP_SCHED[Schedule ID]
                        && TT_SCHEDDAY_ITM[Date] >= TT_EMP_SCHED[From Date]
                        && TT_SCHEDDAY_ITM[Date] <= TT_EMP_SCHED[To Date]
                        && TT_SCHEDDAY_ITM[Date] >= [@ContractStart]
                        && TT_SCHEDDAY_ITM[Date] <= [@ContractEnd]
                        && NOT ( TT_SCHEDDAY_ITM[Date] IN VALUES ( TT_HOLIDAYS[TT_DATE] ) )
                ),
                TT_SCHEDDAY_ITM[Hours]
            )
        ) + 0