Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
minervag
New Member

Create list of years between two dates in new table

Hi All,

 

I have created a new table that takes two years and generates a series of values of as many years. Here is the first column:

 

Years = 
VAR MinDate = MIN(Projects[ProjectStartDate])
VAR MaxDate = MAX(Projects[ProjectFinishDate])
VAR ProjectTotalYears = DATEDIFF(MinDate, MaxDate,YEAR)
RETURN
GENERATESERIES(0, ProjectTotalYears, 1)

 

This results in the first columen "Value"

minervag_0-1638237425112.png

In the Year column, I would like to populate the years between MinDate and MaxDate. If the earliest date is in 2020 and the latest date is 2026, I would like to create the year column to populate with [2020, 2021, 2022, 2023, 2024, 2025, 2026], based on dates given. I was able to figure it out how to do it with months, but not years.

 

Any help would be great, thanks! 🙂

 

Minerva

 

 

1 ACCEPTED SOLUTION
VahidDM
Super User
Super User

Hi @minervag 

 

Trt this code:

Years =
VAR _MinDate =
    MIN ( Projects[ProjectStartDate] )
VAR _MinYear =
    YEAR ( _MinDate )
VAR _MaxDate =
    MAX ( Projects[ProjectFinishDate] )
VAR _ProjectTotalYears =
    DATEDIFF ( _MinDate, _MaxDate, YEAR )
RETURN
    ADDCOLUMNS (
        GENERATESERIES ( 0, _ProjectTotalYears, 1 ),
        "Year", _MinYear + [Value]
    )

 

Output:

VahidDM_0-1638239295384.png

 

 

 

If this post helps, please consider accepting it as the solution to help the other members find it more quickly.
Appreciate your Kudos!!
LinkedIn: 
www.linkedin.com/in/vahid-dm/

 

 

View solution in original post

6 REPLIES 6
VahidDM
Super User
Super User

Hi @minervag 

 

Trt this code:

Years =
VAR _MinDate =
    MIN ( Projects[ProjectStartDate] )
VAR _MinYear =
    YEAR ( _MinDate )
VAR _MaxDate =
    MAX ( Projects[ProjectFinishDate] )
VAR _ProjectTotalYears =
    DATEDIFF ( _MinDate, _MaxDate, YEAR )
RETURN
    ADDCOLUMNS (
        GENERATESERIES ( 0, _ProjectTotalYears, 1 ),
        "Year", _MinYear + [Value]
    )

 

Output:

VahidDM_0-1638239295384.png

 

 

 

If this post helps, please consider accepting it as the solution to help the other members find it more quickly.
Appreciate your Kudos!!
LinkedIn: 
www.linkedin.com/in/vahid-dm/

 

 

Hi VahidDM,

 

Thank you for responding! 🙂

 

I tried this solution and it gave me an error saying, "A table of multiple values was supplied where a single value was expected". I tried changing ADDCOLUMNS to SELECTCOLUMNS like @AlexisOlson suggested, but I got the same error.

 

Here is the error:

 

minervag_0-1638318528518.png

 

 

Minerva

@minervag 

 

It seems you used that code to add a new column, you need to use that code to add a new TABLE.
calctables_formulabarempty

 

If this post helps, please consider accepting it as the solution to help the other members find it more quickly.
Appreciate your Kudos!!
LinkedIn: 
www.linkedin.com/in/vahid-dm/

 

 



@VahidDM  - Never mind! I misunderstood and tried to add it as a seperate column. Once I replied to you, I thought it through and realized that I should try this code as a new table... and it worked! 

 

Thank you, thank you! I appreciate it. 🙂

 

Success:

minervag_1-1638318953487.png

 

 

 

@minervag BTW, if you want to omit the [Value] column from the resulting table, you can replace ADDCOLUMNS in @VahidDM's code with SELECTCOLUMNS.

Hi @AlexisOlson , I tried your idea of using SELECTCOLUMNS and it works well. Thanks! 🙂

 

Minerva

Helpful resources

Announcements
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.

Top Solution Authors