Forum Discussion

Ayx11's avatar
Ayx11
Frequent Visitor
2 years ago
Solved

Specific Dax calculation

I am new in DAX calculation/measure and I would like to know if it is possible to do this. 

Information is below 

StatusAverage (caluation from 1A to C6)Average (caluation from 3B to C6)Average (caluation from 5C to 6C)
1A

 22 Weeks

  
2A   
3B 15 weeks 
4B   
5C  7 weeks 
6C - Completion   

 

1. Is there a way to duplicate the value to another row e.g. 1B is the same as 1A.  

 

2 . These calculations are from last years average. I would like to use these to forecast the future date. 

    E.g. if the status is A1 = the date is entered December 1 -  22 weeks = estimate time of completion.

 

3. Would it be possible to put in one column?

 

  • Anonymous's avatar
    Anonymous
    2 years ago

    Hii, once use the following commands, Just add your table name in it



    1) DuplicateValue =
                                              VAR CurrentRow = CURRENTROW()
                                              VAR CurrentStatus = [Status]
                                               VAR DuplicateRow = LOOKUPVALUE('YourTableName',
                                                                   'Status', CurrentStatus, 'Status')
                                                RETURN
                                                 IF(
                                                      ISBLANK(DuplicateRow),
                                                           CurrentRow[Value], DuplicateRow[Value] )

    2) EstimatedCompletionDate =
                                          VAR CurrentRow = CURRENTROW()
                                          VAR CurrentStatus = [Status]
                                          VAR AverageDuration = CALCULATE(
                                          AVERAGE('YourTableName', 'Value'),
                                          FILTER('YourTableName', 'Status' = CurrentStatus))
                                          VAR StartDate = [Date]
                                           RETURN
                                           StartDate + AverageDuration

    3) CombinedMeasure =
    VAR CurrentRow = CURRENTROW()
    VAR CurrentStatus = [Status]
    VAR DuplicateValue = LOOKUPVALUE(
    'YourTableName',
    'Status',
    CurrentStatus,
    'Status'
    )
    VAR EstimatedCompletionDate = CALCULATE(
    AVERAGE('YourTableName', 'Value'),
    FILTER('YourTableName', 'Status' = CurrentStatus)
    )
    RETURN
    IF(
    ISBLANK(DuplicateRow),
    EstimatedCompletionDate,
    DuplicateValue
    )

2 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hii, once use the following commands, Just add your table name in it



    1) DuplicateValue =
                                              VAR CurrentRow = CURRENTROW()
                                              VAR CurrentStatus = [Status]
                                               VAR DuplicateRow = LOOKUPVALUE('YourTableName',
                                                                   'Status', CurrentStatus, 'Status')
                                                RETURN
                                                 IF(
                                                      ISBLANK(DuplicateRow),
                                                           CurrentRow[Value], DuplicateRow[Value] )

    2) EstimatedCompletionDate =
                                          VAR CurrentRow = CURRENTROW()
                                          VAR CurrentStatus = [Status]
                                          VAR AverageDuration = CALCULATE(
                                          AVERAGE('YourTableName', 'Value'),
                                          FILTER('YourTableName', 'Status' = CurrentStatus))
                                          VAR StartDate = [Date]
                                           RETURN
                                           StartDate + AverageDuration

    3) CombinedMeasure =
    VAR CurrentRow = CURRENTROW()
    VAR CurrentStatus = [Status]
    VAR DuplicateValue = LOOKUPVALUE(
    'YourTableName',
    'Status',
    CurrentStatus,
    'Status'
    )
    VAR EstimatedCompletionDate = CALCULATE(
    AVERAGE('YourTableName', 'Value'),
    FILTER('YourTableName', 'Status' = CurrentStatus)
    )
    RETURN
    IF(
    ISBLANK(DuplicateRow),
    EstimatedCompletionDate,
    DuplicateValue
    )