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

The Power BI Data Visualization World Championships is back! It's time to submit your entry. Live now!

Reply
Anonymous
Not applicable

Obtener datos de la fila anterior

Hola

Tengo una tabla que se muestra en la foto 1. Tengo dos proyectos y cada uno de ellos tiene tres fases: "Preparación", "Ejecución" y "Seguimiento". La fase de preparación se implementa entre la puerta 1 y la puerta 2, la fase de ejecución se implementa entre la puerta 2 y la puerta 3, y la fase de seguimiento se implementa entre la puerta 3 y la puerta 4.

Puerta 1 --> Preparación --> Puerta 2 --> Ejecución --> Puerta3 --> Seguimiento --> Puerta 4

Además de mi modelo básico en la imagen 1, quiero añadir fases de proyecto a mis datos con su fecha de inicio y fin (modelo deseado en la imagen 3). He agregado la columna condicional "Fase de proyecto" basada en la columna "Puertas". Si la columna Gates contiene Gate 1, Fase del proyecto es Preparación, si la columna Si Las puertas contiene la Puerta 2, la fase del proyecto es Ejecución y si la columna If Gates contiene la Puerta 3, la Fase del proyecto es Seguimiento. Esto significa que la columna "Fecha de puerta" será la fecha de inicio de cada fase. Ahora quiero agregar la columna "Fase Final", que es básicamente la fila cambiada hacia arriba en "Fecha de puerta". ¿Puedo obtener ayuda para hacer eso? Entonces quiero mantener el mismo modelo en pic 3 como agrego nuevo proyecto a mi modelo como lo es en pix 1.

1.PNGfoto 1: Corriente 2.PNGfoto 2: Lo que podría hacer3.PNG

¡Gracias de antemano!

3 REPLIES 3
Icey
Community Support
Community Support

Hola @Shukurovasif ,

Puede probar @edhans método. Funciona.

phase.PNG

Si desea crear una tabla con DAX, puede probar lo siguiente:

Table 2 =
VAR t1 =
    ADDCOLUMNS (
        'Table',
        "Project Phase", SWITCH (
            TRUE (),
            [Gates] = "Gate1", "Preparation",
            [Gates] = "Gate2", "Execution",
            [Gates] = "Gate3", "Follow-up"
        ),
        "Index", RANKX (
            ALLEXCEPT ( 'Table', 'Table'[Project ID] ),
            'Table'[Gates],
            ,
            ASC,
            DENSE
        )
    )
VAR t2 =
    ADDCOLUMNS (
        t1,
        "Phase End", CALCULATE (
            MAX ( 'Table'[Gate date] ),
            FILTER ( t1, [Index] = EARLIER ( [Index] ) + 1 )
        )
    )
RETURN
    FILTER (
        SELECTCOLUMNS (
            t2,
            "Project ID", [Project ID],
            "Project Phase", [Project Phase],
            "Phase Start", [Gate date],
            "Phase End", [Phase End]
        ),
        [Project Phase] <> BLANK ()
    )

phase2.PNG

Para obtener más información, compruebe el archivo PBIX adjunto.

Saludos

Icey

Si este post ayuda,entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

edhans
Community Champion
Community Champion

Hola

En Power Query, cree una consulta BLANK y, a continuación, en el editor avanzado, quite todo y péguelo en:

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("Xc1BCsAwCETRu7gO6IwJTc8Scv9rtDYNLS7cPOHPGEKHFHnOlErDKbNsZzi0Zvdwas9elzu+hzfbA6vTfxx9VzB79NuN2aN/KPH6vAA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [#"Project ID" = _t, Gate = _t, #"Gate Date" = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Project ID", Int64.Type}, {"Gate", Int64.Type}, {"Gate Date", type date}}),
    #"Added Phase" = Table.AddColumn(#"Changed Type", "Phase", each if [Gate] = 1 then "Preperation" else
if [Gate] = 2 then "Execution" else
if [Gate] = 3 then "Follow-up" else null, type text),
    #"Renamed Columns" = Table.RenameColumns(#"Added Phase",{{"Gate Date", "Phase Start"}}),
    #"Added Index" = Table.AddIndexColumn(#"Renamed Columns", "Index", 0, 1),
    #"Added Index Increment" = Table.AddColumn(#"Added Index", "Index Increment", each [Index] - 1, Int64.Type),
    #"Merged to Itself" = Table.NestedJoin(#"Added Index Increment", {"Index", "Project ID"}, #"Added Index Increment", {"Index Increment", "Project ID"}, "Added Index Increment", JoinKind.LeftOuter),
    #"Expanded Added Index Increment" = Table.ExpandTableColumn(#"Merged to Itself", "Added Index Increment", {"Phase Start"}, {"Phase End"}),
    #"Removed Other Columns" = Table.SelectColumns(#"Expanded Added Index Increment",{"Project ID", "Phase", "Phase Start", "Phase End"}),
    #"Sorted Rows" = Table.Sort(#"Removed Other Columns",{{"Project ID", Order.Ascending}, {"Phase Start", Order.Ascending}}),
    #"Filtered Rows" = Table.SelectRows(#"Sorted Rows", each ([Phase End] <> null))
in
    #"Filtered Rows"

Producirá los resultados que desee. Simplemente cargue eso en el lado de Power BI DAX y comience a crear los objetos visuales que desee.

Hice esto creando dos índices, uno a partir de 0, y el otro es el índice anterior -1, luego fusioné la tabla con ese índice de desplazamiento, expandí las columnas que necesitaba, eliminé las que no tenía y ordenada para que pareciera que la tenías.



Did I answer your question? Mark my post as a solution!
Did my answers help arrive at a solution? Give it a kudos by clicking the Thumbs Up!

DAX is for Analysis. Power Query is for Data Modeling


Proud to be a Super User!

MCSA: BI Reporting
Greg_Deckler
Community Champion
Community Champion

Vea mi artículo sobre el tiempo medio entre el error (MTBF) que utiliza EARLIER: http://community.powerbi.com/t5/Community-Blog/Mean-Time-Between-Failure-MTBF-and-Power-BI/ba-p/3395...



Follow on LinkedIn
@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
DAX For Humans

DAX is easy, CALCULATE makes DAX hard...

Helpful resources

Announcements
Power BI DataViz World Championships

Power BI Dataviz World Championships

The Power BI Data Visualization World Championships is back! It's time to submit your entry.

January Power BI Update Carousel

Power BI Monthly Update - January 2026

Check out the January 2026 Power BI update to learn about new features.

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.