Valores duplicados positivos y negativos

Un usuario Pregunto ✅

Kent_Heng

Hola a todos,

Acabo de comenzar a usar Power BI y tropecé con este problema de contabilidad con los datos.

Tengo una columna «Costo» y puede tener valores negativos, que no quiero mostrar, ya que afecta mis gráficos y todo.

Para cada valor negativo, habrá un valor positivo correspondiente del mismo número exacto (ejemplo a continuación). Esto se debe a que a mi empresa se le cobró un monto y luego recibió un reembolso del monto total. Pero esto se registrará como 2 filas en mi base de datos.

image.png

Intenté usar el «valor duplicado» de Excel, pero terminó eliminando todos los demás (valores positivos) con los mismos números, reduciendo así mis datos.

¿No está seguro de si hay alguna forma de resolver esto en el Editor de Power Query? ¿O por otro método?

¡Salud!

Saludos,

Kent

Anónimo

En respuesta a Kent_Heng

Hay dos tipos de conversiones en mi código.

Uno es cambiar el tipo de costo de texto a moneda, ya que cuando ingresa datos manualmente, de manera predeterminada, se escribe texto. Esto es para permitir que las funciones numéricas se apliquen más tarde, como la suma promedio, etc.

Las segundas transformaciones están dentro de la función personalizada.

Number.Abs () requiere que ingrese un tipo numérico para que funcione, por lo que para asegurarme de que sea un tipo numérico, he envuelto la columna en Number.From () que se convierte en un tipo numérico.

No creo que ninguno de estos pasos deba causar un error, sin embargo, debe asegurarse de que la columna de costo esté en moneda o en tipo decimal solo para estar seguro.

Anónimo

Si solo desea eliminar los elementos duplicados positivos y negativos, puede agregar una columna que tome los valores absolutos del costo y luego eliminar los duplicados.

Para hacerlo, debe abrir el editor de consultas, luego hacer clic en agregar una columna y luego escribir Number.Abs (Number.From (Cost))

Esto creará una columna que es el valor absoluto de la columna de costo. Si luego hace clic derecho en esta columna y elimina los duplicados y luego elimina la columna de costo absoluto, obtendrá lo que desea.

Una advertencia, esta solución eliminará todos los elementos que cuesten lo mismo, ya que aparecerán como duplicados; para evitar esto, puede intentar seleccionar más columnas, como la fecha en la que elimina los duplicados. Sin embargo, si el pago y el reembolso se realizan en meses diferentes, no se eliminarán.

Este código demostrará los pasos descritos anteriormente.

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjQzMzYy0DMwUNJRMtQ30je0UIrViVYyMjY3M8AU1sWhXBeHemMDA0sjMws9M0uwuDFcPVaJWAA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Cost = _t, Date = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Cost", Currency.Type}, {"Date", type date}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type", "ABSCost", each Number.Abs(Number.From([Cost])),Currency.Type),
    #"Removed Duplicates" = Table.Distinct(#"Added Custom", {"ABSCost", "Date"}),
    #"Removed Columns" = Table.RemoveColumns(#"Removed Duplicates",{"ABSCost"})
in
    #"Removed Columns"

Kent_Heng

En respuesta a Anónimo

Hola Thomas, gracias por tu respuesta. Probé su paso agregando la columna personalizada en el editor de consultas. Sin embargo, cuando hice clic en Aceptar, se genera la nueva columna y todos los números son «Error», con el siguiente mensaje de error: Expresión.Error: No podemos aplicar el acceso de campo al tipo Función. Detalles: Valor = Tecla de función = Costo ¿Me estoy perdiendo otro paso antes de agregar la fórmula de ABS?

Anónimo

En respuesta a Kent_Heng

¿Está intentando con el código que publiqué anteriormente o está intentando aplicarlo a sus propios datos?

Kent_Heng

En respuesta a Anónimo

Hola Thomas, Siguiendo tus pasos en mi propio conjunto de datos. Me di cuenta en la siguiente tabla, ¿dónde convierte el costo al tipo de moneda? ¿O algo?

Anónimo

En respuesta a Kent_Heng

Hay dos tipos de conversiones en mi código.

Uno es cambiar el tipo de costo de texto a moneda, ya que cuando ingresa datos manualmente, de manera predeterminada, se escribe texto. Esto es para permitir que las funciones numéricas se apliquen más tarde, como la suma promedio, etc.

Las segundas transformaciones están dentro de la función personalizada.

Number.Abs () requiere que ingrese un tipo numérico para que funcione, por lo que para asegurarme de que sea un tipo numérico, he envuelto la columna en Number.From () que se convierte en un tipo numérico.

No creo que ninguno de estos pasos deba causar un error, sin embargo, debe asegurarse de que la columna de costo esté en moneda o en tipo decimal solo para estar seguro.

vanessafvg

@Kent_Heng, ¿quieres eliminar todos los valores negativos?

en el editor de consultas, despliegue la flecha en la columna y debajo de los filtros numéricos seleccione mayor que y = 0, esto devolverá valores mayores que y = 0

Kent_Heng

En respuesta a vanessafvg

Hola Vanessa, quería eliminar los valores negativos y sus correspondientes valores positivos. Probaré la sugerencia de Thomas como se muestra a continuación, ¡y veré si funciona! Gracias por tu ayuda 🙂

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *