saleha1994
Necesito ayuda, tengo que actualizar Target col con 0 si la fila actual Fecha e ID es la misma
como fila anterior
Requerido | ||
FECHA | IDENTIFICACIÓN | OBJETIVO |
1/1/2021 | A | 1 |
1/1/2021 | A | 0 |
1/1/2021 | A | 0 |
1/1/2021 | B | 1 |
1/1/2021 | B | 1 |
1/2/2021 | B | 1 |
1/3/2021 | C | 1 |
1/3/2021 | C | 0 |
V-pazhen-msft
@ saleha1994
Entonces quieres lograrlo mediante power query o power bi.
También puede crear una columna de cálculo usando dax, después de agregar una columna de índice en Power query.
Paul Zheng _ Equipo de apoyo comunitario
Si esta publicación ayuda, acéptela como la solución para ayudar a los demás miembros a encontrarla más rápidamente.
V-pazhen-msft
@ saleha1994
Entonces quieres lograrlo mediante power query o power bi.
También puede crear una columna de cálculo usando dax, después de agregar una columna de índice en Power query.
Paul Zheng _ Equipo de apoyo comunitario
Si esta publicación ayuda, acéptela como la solución para ayudar a los demás miembros a encontrarla más rápidamente.
Fowmy
@ saleha1994
Primero puede agregar una columna de índice y luego la siguiente columna personalizada. Verifique el archivo adjunto.
let p = Table.Last( Table.SelectRows(#"Added Index", (t2)=> t2[Index] < t[Index] )) in
Number.From((if p=null then 0 else p[ID] = t[ID] and p[DATE] = t[DATE])=false)
Jakinta
Puede haber formas más ordenadas de hacerlo, pero de todos modos puedes probar con cualquiera de las siguientes …
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMtQ31DcyMDJU0lFyVIrVIVHACZeAEbqAMUzAGYtALAA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [DATE = _t, ID = _t]),
TargetCol = let l=List.Transform(Table.ToRows(Source), each Text.Combine(_,", ")), n=List.Count(l)-1 in List.Transform({0..n}, each try Number.From(l{_}<>l{_-1}) otherwise 1),
FINAL = Table.FromColumns( Table.ToColumns(Source)&{TargetCol}, Table.ColumnNames(Source)&{"TARGET"} )
in
FINAL
o
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMtQ31DcyMDJU0lFyVIrVIVHACZeAEbqAMUzAGYtALAA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [DATE = _t, ID = _t]),
Grouped = let cols = Table.ColumnNames(Source) in Table.Group(Source, cols , {{"Gr", each Table.FromColumns( Table.ToColumns(_)&{{1}&List.Repeat({0}, Table.RowCount(_)-1)}, cols & {"TARGET"} ), type table }}),
Custom1 = Table.SelectColumns(Grouped, {"Gr"} ),
FINAL = Table.ExpandTableColumn(Custom1, "Gr", Table.ColumnNames(Custom1[Gr]{0}))
in
FINAL
o
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMtQ31DcyMDJU0lFyVIrVIVHACZeAEbqAMUzAGYtALAA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [DATE = _t, ID = _t]),
MergedCols = Table.CombineColumns(Source,Table.ColumnNames(Source),Combiner.CombineTextByDelimiter(", ", QuoteStyle.None),"Merged"),
Index = Table.AddIndexColumn(MergedCols, "Index", 0, 1, Int64.Type),
AddedTARGET = Table.AddColumn(Index, "TARGET", each try Number.From( MergedCols[Merged]{[Index]-1} <> MergedCols[Merged]{[Index]}) otherwise 1),
RemovedIndex = Table.RemoveColumns(AddedTARGET,{"Index"}),
FINAL = Table.SplitColumn(RemovedIndex, "Merged", Splitter.SplitTextByDelimiter(", ", QuoteStyle.Csv), Table.ColumnNames(Source))
in
FINAL