IF Y declaraciones en consulta de energía

Un usuario Pregunto ✅

Booz

Estoy usando Power query y me gustaría usar la declaración IF & AND para la siguiente fórmula que tenía en Excel.

= SI (Y ([@ShipByDate] =[@ShipDateByLine], «Enviado: a tiempo», SI (Y ([@ShipByDate]> = HOY (),[@ShipDateByLine]= «»), «Pendiente: a tiempo», «Enviado: tarde»)))

Interkoubess

En respuesta a Booz

Hola @Booz,

Utilice la siguiente fórmula en una columna calculada y avíseme si no funciona …

if List.AllTrue({[ShipByDate]<DateTime.Date(DateTime.LocalNow()),[ShipByDate]=null}) then "Pending - late" else if List.AllTrue({[ShipByDate]>=[ShipDateByLine]}) then "Shipped - On Time" else if List.AllTrue({[ShipByDate]>=DateTime.Date(DateTime.LocalNow()),[ShipByDate]=null}) then "Pending - On Time" else "Shipped - Late"

Ninter

Booz

En respuesta a Interkoubess

Gracias por la solución Interkoubess.

Hay un pequeño detalle con la fórmula Corregí los nombres en las columnas (ShipDateByline) en la fórmula y ahora solo hay una última cosa: «Pendiente de tiempo» no aparece en los resultados. Verifiqué la fórmula varias veces pero no solución todavía para esa parte, ¿algún comentario sobre este? El resto de la fórmula funciona bien.

if List.AllTrue ({[ShipByDate] =[ShipDateByLine]}) luego «Enviado: a tiempo» si no if List.AllTrue ({[ShipByDate]> = DateTime.Date (DateTime.LocalNow ()),[ShipDateByLine]= nulo}) luego «Pendiente – A tiempo» más «Enviado – Tarde»

Muchas gracias

Interkoubess

Hola @Boozm

¿Podría compartir una muestra de datos y luego lo intentaré?

De todos modos puedes usar List.AllTrue para recuperar su resultado de Excel.

Ninter

Booz

En respuesta a Interkoubess

Interkoubess,

Gracias por la respuesta, intentaré List.AllTrue

Acerca de los datos de muestra, consulte a continuación, básicamente quiero llamar a la entrega a tiempo para 2 columnas de fecha específicas, una columna ShipByDate (2033) y ShipDateByLine (2016). Gracias por la ayuda

ENTONCES # Línea CANTIDAD ShipByDate ShipDateByLine OTDStatus
10 1 1 3/3/2033 16/11/2016

= SI (Y ([@ShipByDate] =[@ShipDateByLine], «Enviado: a tiempo», SI (Y ([@ShipByDate]> = HOY (),[@ShipDateByLine]= «»), «Pendiente: a tiempo», «Enviado: tarde»)))

En respuesta a Booz

@Booz,

¿Persiste en usar Power Query? En Power BI Desktop, puede crear una columna de cálculo utilizando la fórmula siguiente.

Column=IF(AND(Table[ShipByDate]<TODAY(),Table[ShipDateByLine]=""),"Pending - late",IF(Table[ShipByDate]>=Table[ShipDateByLine],"Shipped - On Time",IF(AND(Table[ShipByDate]>=TODAY(),Table[ShipDateByLine]=""),"Pending - On Time","Shipped - Late")))

Saludos,
Lydia

Anónimo

En respuesta a v-yuezhe-msft

Estoy tratando de verificar si el valor en una columna es mayor que 8 my menor que 8:15 am. ¿Podrías ayudarme con una fórmula para eso?

jmoskovich

En respuesta a Anónimo

¡Buenas tardes!

Parece que ustedes están teniendo más éxito que yo con un problema similar … con muy poco conocimiento de PowerQuery, me estoy perdiendo en la sintaxis. ¡Cualquier ayuda que pueda ofrecer para convertir esta fórmula de Excel a continuación a la sintaxis correcta será muy apreciada!

= SI (Y ([@InvoiceDate]<= MESES (HOY (), - 1),[@InvoiceDate]> = MESES (HOY (), – 4) +1),[@ExtensionAmt], 0)

Gracias,

Ashish_Mathur

En respuesta a jmoskovich

Hola,

¿Estaría bien con una solución de fórmula de columna calculada (DAX)?

jmoskovich

En respuesta a Ashish_Mathur

¡Buenas noches!

Sí, estoy dispuesto a probar cualquier solución en este momento.

¡Gracias!

Ashish_Mathur

En respuesta a jmoskovich

Hola,

Prueba esta fórmula de columna calculada

=SI Y([InvoiceDate]<= MESES (HOY (), - 1),[InvoiceDate]> = MESES (HOY (), – 4) +1),[ExtensionAmt], 0)

Espero que esto ayude.

jmoskovich

En respuesta a Ashish_Mathur

Hola Ashish,

¿No hay un «lenguaje» de fórmulas diferente para PowerQuery? La fórmula a continuación es lo que se usa dentro de Excel, pero estoy tratando de extraer los datos de los últimos 3 meses antes de que los datos ingresen en mi hoja de Excel.

=SI Y([InvoiceDate]<= MESES (HOY (), - 1),[InvoiceDate]> = MESES (HOY (), – 4) +1),[ExtensionAmt], 0)

Gracias,

Ashish_Mathur

En respuesta a jmoskovich

Hola,

Hay 2 lenguajes de fórmulas / codificación en el escritorio de PBI: Mashup o «M» simple que se usa en el Editor de consultas y DAX que se usa en PowerPivot (para escribir medidas). Mi fórmula sugerida es una fórmula de columna calculada por DAX.

Booz

En respuesta a v-yuezhe-msft

Lydia,

También usé PowerBI, pero para este proyecto particular queríamos una consulta de energía. Gracias.

Interkoubess

En respuesta a Booz

Hola @Booz,

Utilice la siguiente fórmula en una columna calculada y avíseme si no funciona …

if List.AllTrue({[ShipByDate]<DateTime.Date(DateTime.LocalNow()),[ShipByDate]=null}) then "Pending - late" else if List.AllTrue({[ShipByDate]>=[ShipDateByLine]}) then "Shipped - On Time" else if List.AllTrue({[ShipByDate]>=DateTime.Date(DateTime.LocalNow()),[ShipByDate]=null}) then "Pending - On Time" else "Shipped - Late"

Ninter

Booz

En respuesta a Interkoubess

Gracias por la solución Interkoubess.

Hay un pequeño detalle con la fórmula Corregí los nombres en las columnas (ShipDateByline) en la fórmula y ahora solo hay una última cosa: «Pendiente de tiempo» no aparece en los resultados. Verifiqué la fórmula varias veces pero no solución todavía para esa parte, ¿algún comentario sobre este? El resto de la fórmula funciona bien.

if List.AllTrue ({[ShipByDate] =[ShipDateByLine]}) luego «Enviado: a tiempo» si no if List.AllTrue ({[ShipByDate]> = DateTime.Date (DateTime.LocalNow ()),[ShipDateByLine]= nulo}) luego «Pendiente – A tiempo» más «Enviado – Tarde»

Muchas gracias

Deja un comentario

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