Forum Discussion
DAX - Generate
Hi, I have a Calculated Table that seems to be working almost fine :
EVALUATE
VAR Today = TODAY()
VAR MaxTerms = DATEDIFF(
MIN('DIM_SalesforceProject'[GoLiveDate]),
Today,
YEAR
)
RETURN
ADDCOLUMNS(
GENERATE(
GENERATESERIES(
1,
MaxTerms
),
SELECTCOLUMNS(
'DIM_SalesforceProject',
"Contract_StartDate",
'DIM_SalesforceProject'[GoLiveDate],
"ProjectCode",
'DIM_SalesforceProject'[ProjectCode]
)
),
"Term_StartDate", DATEADD(
'DIM_SalesforceProject'[GoLiveDate],
[Value] - 1,
YEAR
),
"Term_EndDate", DATEADD(
'DIM_SalesforceProject'[GoLiveDate],
[Value] ,
YEAR
) - 1
)
The result of this is the following :
For some reason, future dates are not showing.
Its like the "Value" Column is returning Blank, but I dont get why.
Any Help ?
- Anonymous2 years ago
Hi RobbeVL90 ,
Please update the formula of calculated table as below and check if it can return the expected result... Please find the details in the attachment.
EVALUATE VAR Today = TODAY () VAR MaxTerms = DATEDIFF ( MIN ( 'DIM_SalesforceProject'[GoLiveDate] ), Today, YEAR ) RETURN ADDCOLUMNS ( GENERATE ( GENERATESERIES ( 1, MaxTerms ), SELECTCOLUMNS ( 'DIM_SalesforceProject', "Contract_StartDate", 'DIM_SalesforceProject'[GoLiveDate], "ProjectCode", 'DIM_SalesforceProject'[ProjectCode] ) ), "Term_StartDate", EDATE ( [Contract_StartDate], ( [Value] - 1 ) * 12 ), "Term_EndDate", EDATE ( [Contract_StartDate], [Value] * 12 ) - 1 )Best Regards
5 Replies
- bhelouResponsive Resident
try this :
EVALUATE
VAR Today = TODAY()
VAR MaxTerms = DATEDIFF(
MIN('DIM_SalesforceProject'[GoLiveDate]),
Today,
YEAR
)
RETURN
ADDCOLUMNS(
GENERATE(
GENERATESERIES(
1,
MaxTerms
),
SELECTCOLUMNS(
'DIM_SalesforceProject',
"Contract_StartDate", 'DIM_SalesforceProject'[GoLiveDate],
"ProjectCode", 'DIM_SalesforceProject'[ProjectCode]
)
),
"Value", [Value],
"Term_StartDate", DATEADD(
'DIM_SalesforceProject'[GoLiveDate],
[Value] - 1,
YEAR
),
"Term_EndDate", DATEADD(
'DIM_SalesforceProject'[GoLiveDate],
[Value],
YEAR
) - 1
) - AnonymousNot applicable
Hi RobbeVL90 ,
Please update the formula of calculated table as below and check if it can return the expected result... Please find the details in the attachment.
EVALUATE VAR Today = TODAY () VAR MaxTerms = DATEDIFF ( MIN ( 'DIM_SalesforceProject'[GoLiveDate] ), Today, YEAR ) RETURN ADDCOLUMNS ( GENERATE ( GENERATESERIES ( 1, MaxTerms ), SELECTCOLUMNS ( 'DIM_SalesforceProject', "Contract_StartDate", 'DIM_SalesforceProject'[GoLiveDate], "ProjectCode", 'DIM_SalesforceProject'[ProjectCode] ) ), "Term_StartDate", EDATE ( [Contract_StartDate], ( [Value] - 1 ) * 12 ), "Term_EndDate", EDATE ( [Contract_StartDate], [Value] * 12 ) - 1 )Best Regards