Forum Discussion

jamuka's avatar
jamuka
Helper IV
4 years ago
Solved

How to duplicate data on day level to week level

Hello all,   I'd like show my montly forecast on a weekly matrix. below you can see my current matrix. What I want is I want to show W44 Data on W45, W46 and W47. I'm not sure whether this is possi...
  • Anonymous's avatar
    Anonymous
    4 years ago

    Hi jamuka ,

     

    I think your problem should be caused by your relationship between your Date table and Fact Data table. You only have forecast data in the first day of a month. So you could only see forecast values in Week contains these dates.

    Here I suggest you to inactive the relationship and create a measure to calcualte Forecast Quantity.

    Other values which are calculated by relationship, you can try to create measures by USERELATIONSHIP function.

    Date column: 

    Date = ADDCOLUMNS( CALENDARAUTO(),"Year",YEAR([Date]),"Month",MONTH([Date]),"Wk","WK"&""&WEEKNUM([Date]))

    Measure:

    Forecast =
    VAR _ADD =
        ADDCOLUMNS (
            ALL ( 'Table' ),
            "Year", YEAR ( 'Table'[Forecast Month] ),
            "Month", MONTH ( 'Table'[Forecast Month] )
        )
    VAR _SUM =
        SUMMARIZE ( _ADD, [MATERIAL], [Year], [Month], [Forecast Quantity] )
    VAR _GENERATE =
        GENERATE (
            VALUES ( 'Table'[MATERIAL] ),
            SUMMARIZE ( 'Date', 'Date'[Year], 'Date'[Month], 'Date'[Wk] )
        )
    VAR _ADD2 =
        ADDCOLUMNS (
            _GENERATE,
            "Forecast",
                SUMX (
                    FILTER (
                        _SUM,
                        [MATERIAL] = EARLIER ( [MATERIAL] )
                            && [Year] = EARLIER ( [Year] )
                            && [Month] = EARLIER ( [Month] )
                    ),
                    [Forecast Quantity]
                )
        )
    RETURN
        SUMX (
            FILTER (
                _ADD2,
                [MATERIAL] = MAX ( 'Table'[MATERIAL] )
                    && [Month] = MAX ( 'Date'[Month] )
            ),
            [Forecast]
        )

    Result is as below.

    Best Regards,
    Rico Zhou

     

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