Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Administrator
3 years ago
Solved

Show data from previous weeks

Hello, I hope you can help me with the following.

I have a table of weekly measurements on car components classified as PDD, PDI, PTD, PTI, TT and TD.

The structure of the table is as follows:

Not all components have measurement record in all weeks, when trying to graph, I have something like this, for week 45 you only have a record in two components, and the others do not show values. What I am trying to do is that the components that do not have values in the week in which the filter is applied, show the values of the previous week, but if in the previous week they do not have values either, then look for one before and so on, until you find a week in which you have registration in that component.

I use two measurements, the first of which is to perform the calculation of CP, based on the deviation column:

The second measure is only to filter based on criteria, it is in this measure that it is used for the graph.

I hope I have been able to explain my problem correctly. Best regards.

  • PaulDBrown's avatar
    PaulDBrown
    3 years ago

    Ok, I suggest you create a Date Table (Calendario) and set up the model joining the Date field in the Calendario Table to the date fields in your dim tables as follows:

    New table with:

     

    Calendario =
    VAR _Ddate =
        CALCULATETABLE (
            DISTINCT ( Dim[Fecha] ),
            FILTER ( Dim, NOT ISBLANK ( Dim[Fecha] ) )
        )
    VAR _DPercDate =
        CALCULATETABLE (
            DISTINCT ( 'Dim Perc'[Date] ),
            FILTER ( 'Dim Perc', NOT ISBLANK ( 'Dim Perc'[Date] ) )
        )
    VAR _List =
        DISTINCT ( UNION ( _Ddate, _DPercDate ) )
    VAR _MinDate =
        MINX ( _List, [Fecha] )
    VAR _MaxDate =
        MAXX ( _List, [Fecha] )
    RETURN
        ADDCOLUMNS (
            CALENDAR ( _MinDate, _MaxDate ),
            "MesNume", MONTH ( [Date] ),
            "Mes", FORMAT ( [Date], "MMM", "ES" ),
            "Semana", WEEKNUM ( [Date], 2 ),
            "YYYYWW",
                YEAR ( [Date] ) * 100
                    + WEEKNUM ( [Date], 2 ),
            "Semana Año",
                "W" & WEEKNUM ( [Date], 2 ) & " "
                    & YEAR ( [Date] ),
            "Año", YEAR ( [Date] )
        )
    

     

    Now you can use the fields from the Calendario table in visuals, measures, filters and slicers.
    Create a measure for each CP following this pattern:

     

    Último CP rojo =
    VAR _MXW =
        CALCULATE (
            MAX ( Calendario[YYYYWW] ),
            FILTER (
                ALL ( Calendario ),
                Calendario[YYYYWW] <= MAX ( Calendario[YYYYWW] )
                    && NOT ISBLANK ( [Cp Rojo] )
            )
        )
    RETURN
        CALCULATE (
            [Cp Rojo],
            FILTER ( ALL ( Calendario ), Calendario[YYYYWW] = _MXW )
        )
    

     

    and you will get

    Sample PBIX file attached

9 Replies

  • PaulDBrown's avatar
    PaulDBrown
    Community Champion

    Please share sample data or a link to a sample PBIX file

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Administrator

      Hi, I've uploaded the Project to Drive.

      The executable is located in the folder named "Project".

      I hope you can help me, greetings.

      • PaulDBrown's avatar
        PaulDBrown
        Community Champion

        Can you post the link to the file please?