Si declaración con doble condición

Un usuario Pregunto ✅

CleliaComes

Hola

Estoy aprendiendo Power Query y Power BI y tengo algunos problemas al usar una función if con una condición doble.

Una muestra de los datos a continuación.

En la columna «Rekening de tipo» hay una etiqueta «klant / leverancier» (otras etiquetas son «klant» y «leverancier»). Quiero obtener «Klant» en una nueva columna cuando «efectivo en efectivo»> ​​0 y «Leverancier» cuando «efectivo en efectivo» <0.

consulta de energía.JPG

Usé una función if con ‘y’ pero no me da ningún resultado.

if function.JPG

Gracias de antemano por tu ayuda.

saludos

Clélia

PhilipTreacy

En respuesta a CNENFRNL

Hola @CleliaComes

Esta consulta hace lo que está pidiendo. Copie y pegue en el editor de consultas avanzadas de PBI. Contiene una instantánea de sus datos como se muestra en su imagen.

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WyivNyVHSgVGeeSWpRXmpCpllSToKBYlF2alFqXk6CkmJednZ+cUlOgqpJcl6QHUGSrE60UreOYl5JQjNMK6hobmesQVChYK+gk9qWWpRYl5yZmoRmnoMSV0zCz1TQ7BurLrQVBsbGFroWRiSa5uJqZ6ZpVJsLAA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Type rekening" = _t, Categorie = _t, #"Type rekening + categorie" = _t, #"Cash in - cash out" = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Type rekening", type text}, {"Categorie", type text}, {"Type rekening + categorie", type text}, {"Cash in - cash out", type number}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each if [Type rekening] = "Klant / Leverancier" and [#"Cash in - cash out"] > 0 then "Klant" else if [Type rekening] = "Klant / Leverancier" and [#"Cash in - cash out"] < 0 then "Leverancier" else null)
in
    #"Added Custom"

Si solo desea agregar una sola línea de código a su archivo para crear la columna personalizada, esta es la línea para ingresar en el cuadro de diálogo Crear columna personalizada

if [Type rekening] = "Klant / Leverancier" and [#"Cash in - cash out"] > 0 then "Klant" else if [Type rekening] = "Klant / Leverancier" and [#"Cash in - cash out"] < 0 then "Leverancier" else null

NOTA Tus datos muestran la cadena de texto «Klant / Leverancier» pero el código que intentó ingresar para la declaración if mostró «Klant / Leverancier» – observe la falta de espacios entre las palabras. Asegúrese de verificar el texto correcto. Mi consulta busca el texto que se muestra en sus datos.

Phil


Si respondí a su pregunta, marque mi publicación como la solución.
Si mi respuesta ayudó a resolver su problema, felicítelo haciendo clic en el pulgar hacia arriba.

AnkitKukreja

Hola @CleliaComes

Su fórmula es correcta, creo que puede haber algunos espacios iniciales o finales en su columna de texto que podrían haber causado problemas.

Utilice la fórmula siguiente como su fórmula personalizada:

si[Type rekening] = «Klant / Leverancier» y [#»Cash in – Cash Out»] > 0 luego «Klant» si no [Type rekening] = «Klant / Leverancier» y [#»Cash in – Cash Out»] <0 luego "Leverancier" si no nulo

Gracias,

Ankit

Alba

Hola @CleliaComes

¿Por qué estás usando [#»Type rekening»] insted de [Type rekening] y

[#»Cash in – cash out»] en lugar de [Cash in – cash out] ?

Están Rekening de tipo y Efectivo – retiro de efectivo no los nombres de las columnas. Si es así, utilícelos como están.

Marque la pregunta resuelta cuando haya terminado y considere dando un pulgar hacia arriba si las publicaciones son útiles.

Contácteme en forma privada para obtener ayuda con cualquier necesidad de BI a gran escala, tutoría, etc.

Salud

SU18_powerbi_badge

Anónimo

En respuesta a Alba

Hola @AlB

Corrígeme si estoy equivocado. Creo que la consulta de energía agregará automáticamente «https://community.powerbi.com/t5/Power-Query/If-statement-with-double-condition/mp/#» antes de los nombres de las columnas donde los caracteres especiales están en el nombre de columna, como «», «-«, etc.

Alba

En respuesta a Anónimo

@Anónimo

Si, usted esta absolutamente en lo correcto

CleliaComes

En respuesta a Alba

¡Gracias por su pronta respuesta!

Me di cuenta [#    ] esto también. Acabo de seleccionar la columna y el # se colocó automáticamente.

Sin embargo, me arriesgué a los nombres de las columnas y ahora puedo agregar los nombres de las columnas sin #.

cashin.JPGcashin4.JPG

El resultado es correcto para el «klant» pero para el «Leverancier». ¿Da un error?

result3.JPG

Jimmy801

En respuesta a CleliaComes

Hola @CleliaComes

usted hace referencia a otra columna, no a la que está marcando en la captura de pantalla. La fórmula está perfectamente bien, pero supongo que el retiro de efectivo en su caso para la línea con error no muestra un número sino algo más.

BR

Palanqueta

CNENFRNL

En respuesta a CleliaComes

Hoi, @CleliaComes, plak maar jouw M code of voeg jouw pbix bestaand bij zodat het veel makkeljiker is om de probleme op te lossen.

PhilipTreacy

En respuesta a CNENFRNL

Hola @CleliaComes

Esta consulta hace lo que está pidiendo. Copie y pegue en el editor de consultas avanzadas de PBI. Contiene una instantánea de sus datos como se muestra en su imagen.

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WyivNyVHSgVGeeSWpRXmpCpllSToKBYlF2alFqXk6CkmJednZ+cUlOgqpJcl6QHUGSrE60UreOYl5JQjNMK6hobmesQVChYK+gk9qWWpRYl5yZmoRmnoMSV0zCz1TQ7BurLrQVBsbGFroWRiSa5uJqZ6ZpVJsLAA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Type rekening" = _t, Categorie = _t, #"Type rekening + categorie" = _t, #"Cash in - cash out" = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Type rekening", type text}, {"Categorie", type text}, {"Type rekening + categorie", type text}, {"Cash in - cash out", type number}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each if [Type rekening] = "Klant / Leverancier" and [#"Cash in - cash out"] > 0 then "Klant" else if [Type rekening] = "Klant / Leverancier" and [#"Cash in - cash out"] < 0 then "Leverancier" else null)
in
    #"Added Custom"

Si solo desea agregar una sola línea de código a su archivo para crear la columna personalizada, esta es la línea para ingresar en el cuadro de diálogo Crear columna personalizada

if [Type rekening] = "Klant / Leverancier" and [#"Cash in - cash out"] > 0 then "Klant" else if [Type rekening] = "Klant / Leverancier" and [#"Cash in - cash out"] < 0 then "Leverancier" else null

NOTA Tus datos muestran la cadena de texto «Klant / Leverancier» pero el código que intentó ingresar para la declaración if mostró «Klant / Leverancier» – observe la falta de espacios entre las palabras. Asegúrese de verificar el texto correcto. Mi consulta busca el texto que se muestra en sus datos.

Phil


Si respondí a su pregunta, marque mi publicación como la solución.
Si mi respuesta ayudó a resolver su problema, felicítelo haciendo clic en el pulgar hacia arriba.

CleliaComes

En respuesta a PhilipTreacy

PhilipTreacy Muchas gracias por su ayuda. Pensé que la fórmula estaba mal, pero de hecho era solo la falta de espacios entre las palabras. En el futuro, primero comprobaré el espacio antes de publicar. 😉

Alba

En respuesta a CleliaComes

@CleliaComes

¿Qué dice el mensaje de error? Haga clic en cualquiera de ellos y debería aparecer, probablemente en la parte inferior, debajo de la tabla.

Marque la pregunta resuelta cuando haya terminado y considere dando un pulgar hacia arriba si las publicaciones son útiles.

Contácteme en forma privada para obtener ayuda con cualquier necesidad de BI a gran escala, tutoría, etc.

Salud

SU18_powerbi_badge

Deja un comentario

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