Mijn Communities
Help
ElmerH
CHAMPION *

Dateadd

door ElmerH

Hallo forumleden,

 

Ik ben bezig met een jubileumrapportage en het lukt mij niet meerdere simpele dateadds te doen (25 jr en 40 jr)

 

Achtergrond

  • Vanuit de tabel "contract custom field" gebruik ik de kolom "ambtsjubileum (E00030)" = in deze kolom staat de datum in dienst die voor ons van toepassing is.
  • Vervolgens volgen de dateadds: 

    • @Anonymous_25_ambt = DATEADD('Contract Custom Fields'[Ambtsjubileum (E00030)], 25,YEAR)

    • @Anonymous_40_ambt = DATEADD('Contract Custom Fields'[Ambtsjubileum (E00030)], 40,YEAR)

  • Ik loop tegen 2 problemen aan die ik zo 123 niet kan verklaren
    • na de toegevoegde dateadd (@Anonymous_25_ambt) volgt niet overal een waarde ondanks dat 'Contract Custom Fields'[Ambtsjubileum (E00030)] gevuld is (zie bijlage 1);
    • na het toevoegen van de 2e dateadd krijg ik de melding dat er een circular dependency gedetecteerd is.
Wat kan er aan de hand zijn? Ik dacht aan het ontbreken van een datumtabel (time intelligence). Ik heb allexcept geprobeerd (circular dependency). Heeft Contract Custom Fields'[Ambtsjubileum (E00030)] niet de goede opmaak?
Als ik Contract Custom Fields'[Ambtsjubileum (E00030) exporteer en in een eigen .pbix importeer werkt het allemaal prima. Zie bijlage 2. Dit is ook hoe ik het liefst dit overzicht wil presenteren.

 

Dank en mvrgr, Elmer

 

bijlage 1

bijlage 1 kvk.png

 

bijlage 2: zo wil ik het graag zien (Attribute kolom is gepivot in power query. Dat zou met union kunnen in dax. Nog niet geprobeerd 🙂)

 

bijlage 2 kvk.png

4 ANTWOORDEN 4

door Chris van den Berg

Goede oplossing gevonden! Lijkt me goed om hier misschien een apart artikel voor te maken en op de community te plaatsen @TheoLescure . Hier zullen andere gebruikers ook wat aan hebben!

Goedgekeurde oplossing
TheoLescure
VISMA

door TheoLescure

Beste Elmer, Helaas snap ik de vraag niet helemaal waar het betreft om het pivotten. 
De tweede vraag. Het is niet mogelijk om van iedereen alle jubilea data in 1 kolom te krijgen. Met het aanmaken van de extra kolom kan je op elke regel 1 extra waarde toevoegen. Maar jij zou er nu 3 willen en dat is helaas niet mogelijk. Dsu het blijven 3 losse kolommen 1 van 12,5 jaar 1 van 25 jaar en 1 voor de 40 jaar. Wat hierin wel mogelijk is is dat je een kolom maakt waarbij je van iedereen alleen het jubilea laat zien dat in het huidige jaar valt of iets dergelijks. Dan krijg je iets als: Dat in service dan vervangen door E00030

@totaal huidige jaar =
SWITCH(YEAR(today()),
YEAR(EDATE(Contract[Date_in_service], 150)), "12,5 jaar - " & Format(EDATE(Contract[Date_in_service], 150),"dd-MM-yyyy"),
YEAR(EDATE(Contract[Date_in_service], 300)), "25 jaar - " & Format(EDATE(Contract[Date_in_service], 300),"dd-MM-yyyy"),
YEAR(EDATE(Contract[Date_in_service], 480)), "40 jaar - " & Format(EDATE(Contract[Date_in_service], 480),"dd-MM-yyyy"),
BLANK())
Goedgekeurde oplossing
TheoLescure
VISMA

door TheoLescure

Beste Elmer,

 

DATEADD werkt niet echt goed wanneer deze gebruikt wordt via Calculated column / zelf gemaakte kolommen. Vraag mij niet waarom. Gelukkig bestaat er een andere functie die we hier wel goed kunnen toepassen en dat is EDATE. Met EDATE geef je een datum op en het aantal maanden dat je daarvan af (negatief) of daarbij op wilt tellen (positief). In jouw voorbeeld zou het dan worden: EDATE('Contract Custom Fields'[Ambtsjubileum (E00030)],300) en EDATE('Contract Custom Fields'[Ambtsjubileum (E00030)],480). Binnen de desktop variant kan je dan goed de format aanpassen. Om te zorgen dat de format ook mooi staat binnen youforce reporting kunnen we dan nog de format functie gebruiken. Dan kom je uit op de formule 

Format(EDATE('Contract Custom Fields'[Ambtsjubileum (E00030)], 300),"dd-MM-yyyy") voor de 25 jaar en dan nog Format(EDATE('Contract Custom Fields'[Ambtsjubileum (E00030)], 480),"dd-MM-yyyy") voor 40 jaar.
Hopelijk krijg je zo het gewenste resultaat.
ElmerH
CHAMPION *

door ElmerH

Dank Theo, ik was ook net achter edata gekomen. Dat werkt inderdaad zoals ik het voor ogen heb. Je kan ipv 300 of 480 ook (25*12) of (40*12) doen. Format is een goede tip! Heb je ook nog een tip hoe ik kan unpivotten? De powerquery manier kan niet. Voor union is een extra tabel nodig en kan dus volgens mij ook niet. Zou het nog op een andere manier kunnen? Zie hieronder. kvk_12,5 en kvk_25 en kvk_40 waren eerst 3 aparte kolommen. Ik zou ze graag in 1 kolom willen. Weet iemand of dit kan? Thanx en groeten, Elmer unpivot.png