cancel
Showing results for 
Search instead for 
Did you mean: 

Fabric is Generally Available. Browse Fabric Presentations. Work towards your Fabric certification with the Cloud Skills Challenge.

Reply
Syndicate_Admin
Administrator
Administrator

Cómo aumentar los últimos datos de fila de la columna con la columna anterior

Hola a todos, espero que todos estén bien. Es difícil describir mi problema, así que lo muestro en la tabla. Tengo la columna izquierda y quiero obtener la columna derecha. La lógica en Excel se muestra en las imágenes. Gracias por su gran apoyo de antemano.

Screenshot 2022-12-09 145759.png

ContarResultado
00
11
12
13
00
11
12
00
11
12
00
11
12
13
14
15
6 REPLIES 6
Syndicate_Admin
Administrator
Administrator

Power BI no tiene ningún concepto de "última fila" o "columna anterior". Debe proporcionar orientación usted mismo, por ejemplo, a través de columnas de índice.

Esta es una implementación de Power Query que usa GroupKind.Local (crédito a @ImkeF )

let
    SM = (tb) => let 
       #"Added Index" = Table.AddIndexColumn(tb, "Index", 0, 1, Int64.Type),
       #"Added Custom" = Table.AddColumn(#"Added Index", "Result", each List.Sum(List.FirstN(#"Added Index"[Count],[Index]+1)),Int64.Type)
    in #"Added Custom",
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlCK1YlWMsQgMcWJEUEjYwE=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Count = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Count", Int64.Type}}),
    #"Grouped Rows" = Table.Group(#"Changed Type", {"Count"}, {{"Count.1", each _, type table [Count=nullable number]}},GroupKind.Local,(x,y)=>Number.From(x=y)),
    #"Added Custom" = Table.AddColumn(#"Grouped Rows", "Custom", each SM([Count.1])),
    #"Removed Other Columns" = Table.SelectColumns(#"Added Custom",{"Custom"}),
    #"Expanded Custom" = Table.ExpandTableColumn(#"Removed Other Columns", "Custom", {"Count", "Result"}, {"Count", "Result"})
in
    #"Expanded Custom"

Cómo usar este código: Crear una nueva consulta en blanco. Haga clic en "Editor avanzado". Reemplace el código en la ventana con el código proporcionado aquí. Haga clic en "Listo".

Estimado Ibendlin, en primer lugar, realmente aprecio su rápida respuesta. Ejecuto su código en Power Query y funciona. Pero en realidad, obtuve la columna izquierda en DAX pero no en Power Query, así que me pregunto si hay una solución DAX para obtener la columna correcta. Gracias.

@SherryZhao ,

Además de la columna calculada [Contar], ¿hay algún otro campo en su tabla? ¿Podría proporcionar algunos datos sin procesar (excluir datos confidenciales) en su tabla, luego verificaremos si podemos lograrlo mediante DAX? Gracias.

Saludos

Querida Rena,

Está bien compartir con usted los datos sin procesar. De hecho, quiero contar entre cada "e_Clean".

EventoFecha de finalizaciónContarResultado
e_Clean1/5/2019 8:5300
e_In Uso1/7/2019 17:0811
e_In Uso1/8/2019 13:3512
e_In Uso1/11/2019 7:0813
e_Clean1/11/2019 15:5800
e_In Uso1/12/2019 10:5511
e_In Uso1/12/2019 23:5412
e_Clean1/13/2019 6:5800

Siéntase libre de comunicarse conmigo si necesita más información. Gracias por su esfuerzo.

Saludos

Jerez

@SherryZhao ,

Puede crear una columna calculada como se muestra a continuación para obtenerla, encuentre los detalles en el archivo adjunto.

Result = 
VAR _preclean =
    CALCULATE (
        MAX ( 'Table'[CompletedDate] ),
        FILTER (
            'Table',
            'Table'[Event] = "e_Clean"
                && 'Table'[CompletedDate] < EARLIER ( 'Table'[CompletedDate] )
        )
    )
VAR _nextclean =
    CALCULATE (
        MIN ( 'Table'[CompletedDate] ),
        FILTER (
            'Table',
            'Table'[Event] = "e_Clean"
                && 'Table'[CompletedDate] > EARLIER ( 'Table'[CompletedDate] )
        )
    )
RETURN
    IF (
        'Table'[Event] = "e_Clean",
        0,
        CALCULATE (
            SUM ( 'Table'[Count] ),
            FILTER (
                'Table',
                'Table'[Event] = EARLIER ( 'Table'[Event] )
                    && 'Table'[CompletedDate] <= EARLIER ( 'Table'[CompletedDate] )
                    && 'Table'[CompletedDate] > _preclean
                    && 'Table'[CompletedDate] < _nextclean
            )
        )
    )

yingyinr_0-1670835356781.png

O también puede crear una medida como se muestra a continuación con una lógica similar para obtenerla:

Measure = 
VAR _selevent =
    SELECTEDVALUE ( 'Table'[Event] )
VAR _selcmdate =
    SELECTEDVALUE ( 'Table'[CompletedDate] )
VAR _preclean =
    CALCULATE (
        MAX ( 'Table'[CompletedDate] ),
        FILTER (
            ALLSELECTED ( 'Table' ),
            'Table'[Event] = "e_Clean"
                && 'Table'[CompletedDate] < _selcmdate
        )
    )
VAR _nextclean =
    CALCULATE (
        MIN ( 'Table'[CompletedDate] ),
        FILTER (
            ALLSELECTED ( 'Table' ),
            'Table'[Event] = "e_Clean"
                && 'Table'[CompletedDate] > _selcmdate
        )
    )
RETURN
    IF (
        _selevent = "e_Clean",
        0,
        CALCULATE (
            SUM ( 'Table'[Count] ),
            FILTER (
                ALLSELECTED ( 'Table' ),
                'Table'[Event] = _selevent
                    && 'Table'[CompletedDate] <= _selcmdate
                    && 'Table'[CompletedDate] > _preclean
                    && 'Table'[CompletedDate] < _nextclean
            )
        )
    )

Saludos

Querida Rena,

Funciona!!! Gracias por su apoyo y trataré de entender la lógica y la codificación.

Gracias a todos de nuevo.

Saludos

Jerez.

Helpful resources

Announcements
PBI November 2023 Update Carousel

Power BI Monthly Update - November 2023

Check out the November 2023 Power BI update to learn about new features.

Community News

Fabric Community News unified experience

Read the latest Fabric Community announcements, including updates on Power BI, Synapse, Data Factory and Data Activator.

Power BI Fabric Summit Carousel

The largest Power BI and Fabric virtual conference

130+ sessions, 130+ speakers, Product managers, MVPs, and experts. All about Power BI and Fabric. Attend online or watch the recordings.

Top Solution Authors
Top Kudoed Authors