Forum Discussion

Lena_2024's avatar
Lena_2024
New Member
2 years ago
Solved

Datum und if

Hallo zusammen, ich habe folgende Aufgabenstellung:

 

Es sollen zwei Datums-Angaben verglichen werden und dann Punkte vergeben werden. 

Aktuell ist folgende Formel eingegeben: 

 

Punkte Inbetriebnahme = if(max('Referenzliste NAV'[Inbetriebnahme]) > CALCULATE(max(Kriterien[Datum]), Kriterien[Kriterium] = "Termine: Inbetriebnahme"), calculate(sum( Kriterien[Punkte]) *1, Kriterien[Kriterium] = "Termine: Inbetriebnahme"), 0) 
 
Wenn also das Datum der "Inbetriebnahme" größer ist als ein Datum, das als das "Kriterium", dann soll eine Punktzahl vergeben werden.
Problem: ohne max-Funktion kann das datumsfeld Inbetriebsnahme nicht genutzt werden.
Es wird nun, aber leider immer das höchste Datum von allen Inbetriebnahmen gezogen statt das Datum der Inbetriebnahme für ein Projekt. 
Projekt 1: Datum der Inbetriebnahme
Projekt 2: Datum der Inbetriebnahme
usw. 
 
Kann mir jemand bitte einen Tipp geben?
 
viele Grüße
Lena
  • Anonymous's avatar
    Anonymous
    2 years ago

    Hi Lena_2024 

     

    Thanks for the reply from bhanu_gautam .

     

    I think there is nothing wrong with the formula you are using. I am guessing that you are using a calculated column instead of a measure. Here is how I put your formula into a measure.

    Punkte Inbetriebnahme = 
    if(max('Referenzliste NAV'[Inbetriebnahme]) > CALCULATE(max(Kriterien[Bewertung]), Kriterien[Kriterium] = "Termine:Inbetriebnahme"), calculate(sum( Kriterien[Punkte]) *1, Kriterien[Kriterium] = "Termine:Inbetriebnahme"), 0)

     

    Output:

     

     

    Best Regards,
    Yulia Xu

     

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

4 Replies

  • Lena_2024 , Try using below mentioned DAX

     

    DAX
    Commissioning points =
    IF (
    MAX ( 'Reference list NAV'[Commissioning] ) >
    CALCULATE (
    MAX ( Criteria[Date] ),
    Criteria[Criterion] = "Dates: Commissioning",
    Criteria[Project] = EARLIER('Reference list NAV'[Project])
    ),
    CALCULATE (
    SUM ( Criteria[Points] ) * 1,
    Criteria[Criterion] = "Dates: Commissioning",
    Criteria[Project] = EARLIER('Reference list NAV'[Project])
    ),
    0
    )

  • Hi Bhanu,

    thanks for your message. It does't work, sorry. 
    Ich versuche ergänzende Informationen zu geben. 

    Das ist die Tabelle mit den Projekten und den Terminen:

     

     

    Und das ist eine Tabelle mit Punkten:

     

     

    Wenn das Datum in der zweiten Tabelle Spalte "Bewertung" größer ist als das Datum in der ersten Tabelle Spalte "Inbetriebnahme" ist, dann sollen alle Projekte, für die das gültig ist, 5 Punkte bekommen. 

     

    viele Grüße

    Lena

    • Anonymous's avatar
      Anonymous
      Not applicable

      Hi Lena_2024 

       

      Thanks for the reply from bhanu_gautam .

       

      I think there is nothing wrong with the formula you are using. I am guessing that you are using a calculated column instead of a measure. Here is how I put your formula into a measure.

      Punkte Inbetriebnahme = 
      if(max('Referenzliste NAV'[Inbetriebnahme]) > CALCULATE(max(Kriterien[Bewertung]), Kriterien[Kriterium] = "Termine:Inbetriebnahme"), calculate(sum( Kriterien[Punkte]) *1, Kriterien[Kriterium] = "Termine:Inbetriebnahme"), 0)

       

      Output:

       

       

      Best Regards,
      Yulia Xu

       

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

  • Thank you so much, bhanu and Yulia, for your help.  🙂
    I found a mistake in the Data Model which was the problem. Unfortunately I didn't see that before.