Forum Discussion

DionTN's avatar
DionTN
Helper II
4 years ago
Solved

Use calculation for multiple rows

Im trying to get a mean for every first measurement. So i have a function which calculates all the first measurements. I want to use this to get the mean of all first measurements.

 

 

GemiddeldeLichaamssamenstellingEerste = var selectie = SELECTEDVALUE(company[Name])  var EersteWaarde = CALCULATE(MIN(usermeasurements[AppointmentId]),FIRSTDATE(usermeasurements[OnderzoekVerichtOp])) var LS = CALCULATE(AVERAGE(usermeasurements[BodyCompositionOverall]),FILTER(usermeasurements,usermeasurements[users.company.Name] = selectie), (usermeasurements[appointments.AppointmentNumber]= EersteWaarde)) return COALESCE(LS/10,0)   

 

 

When i select just 1 name it is working, but when i select a couple of names it fails.

 

 

  • Im sorry, the mistake was probably in the defination of FirstValue.

     

    It reads only the lowest firstValue. So in this example, only richard will get a score cause of he has appointmentID 1

    FirstValue = var selectie = SELECTEDVALUE(company[Name]) var EersteWaarde = CALCULATE(MIN(usermeasurements[AppointmentId]),FIRSTDATE(usermeasurements[OnderzoekVerichtOp]), FILTER(usermeasurements,usermeasurements[users.company.Name] = selectie)) return EersteWaarde

     

2 Replies

  • SELECTEDVALUE only work when there is a single value, otherwise it will return blank. Try

    GemiddeldeLichaamssamenstellingEerste =
    VAR selectie =
        ADDCOLUMNS (
            VALUES ( company[Name] ),
            "EersteWaarde",
                CALCULATE (
                    MIN ( usermeasurements[AppointmentId] ),
                    FIRSTDATE ( usermeasurements[OnderzoekVerichtOp] )
                )
        )
    VAR LS =
        CALCULATE (
            AVERAGE ( usermeasurements[BodyCompositionOverall] ),
            TREATAS (
                selectie,
                usermeasurements[users.company.Name],
                usermeasurements[appointments.AppointmentNumber]
            )
        )
    RETURN
        COALESCE ( LS / 10, 0 )
    • DionTN's avatar
      DionTN
      Helper II

      Im sorry, the mistake was probably in the defination of FirstValue.

       

      It reads only the lowest firstValue. So in this example, only richard will get a score cause of he has appointmentID 1

      FirstValue = var selectie = SELECTEDVALUE(company[Name]) var EersteWaarde = CALCULATE(MIN(usermeasurements[AppointmentId]),FIRSTDATE(usermeasurements[OnderzoekVerichtOp]), FILTER(usermeasurements,usermeasurements[users.company.Name] = selectie)) return EersteWaarde