Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
bcbuckley13
Helper III
Helper III

¿Cómo convertir la fórmula de Excel a M (o Dax)?

¿Alguien sabe cómo escribiría esto en M (o dax)?

IF(AND([Course Complete Date] <>"",[Fecha completa del curso]>[Fecha de vencimiento],"No",
IF(AND([Course Complete Date]<>"",[Fecha completa del curso]<[Fecha de vencimiento],"Sí",
IF(AND(ISBLANK([Course Complete Date],[Fecha de vencimiento]<TODAY()),"Overdue","Pending")))

bcbuckley13_0-1593613794160.png

13 REPLIES 13
edhans
Super User
Super User

Prueba esto:

if [Course Complete Date] <>"" and [Course Complete Date]>[Due Date] then "No"
else if [Course Complete Date]<>"" and [Course Complete Date]<[Due Date] then "Yes"
else if [Course Complete Date] = null and [Due Date]<DateTime.LocalNow() then "Overdue"
else "Pending"


Did I answer your question? Mark my post as a solution!
Did my answers help arrive at a solution? Give it a kudos by clicking the Thumbs Up!

DAX is for Analysis. Power Query is for Data Modeling


Proud to be a Super User!

MCSA: BI Reporting

@edhans Ahora estoy de vuelta para obtener un error.

bcbuckley13_0-1593623681371.png

CLick en el espacio en blanco al lado de la palabra "error" y díganos cuál es el error. Aparecerá en amarillo en la parte inferior.

Si pudiera proporcionar datos de muestra que realmente ayudarían, ya que todos estamos adivinando. Las capturas de pantalla están bien para los resultados esperados, pero bastante inútiles para examinar y probar datos.

Cómo obtener una buena ayuda rápidamente. Ayúdanos a ayudarte.
Cómo obtener respuestas a su pregunta rápidamente
Cómo proporcionar datos de ejemplo en el foro de Power BI



Did I answer your question? Mark my post as a solution!
Did my answers help arrive at a solution? Give it a kudos by clicking the Thumbs Up!

DAX is for Analysis. Power Query is for Data Modeling


Proud to be a Super User!

MCSA: BI Reporting

Ok, prueba esto, pero esto todavía no está bien.

                if [Course Complete Date] <> null then
                    if [Course Complete Date] > [Reg Date] then "No"
                    else if [Course Complete Date] < [Reg Date] then "Yes" else null
                else if [Course Complete Date] = null then
                    if [Reg Date] < DateTime.Date(DateTime.LocalNow()) then "Overdue" else null
                else "Pending"

El problema es que tiene algunas fechas en las que la fecha de registro y la fecha completada son las mismas. ¿Quieres que todos estén pendientes? Si es así, cambie a:

                if [Course Complete Date] <> null then
                    if [Course Complete Date] > [Reg Date] then "No"
                    else if [Course Complete Date] < [Reg Date] then "Yes" else "Pending"
                else if [Course Complete Date] = null then
                    if [Reg Date] < DateTime.Date(DateTime.LocalNow()) then "Overdue" else "Pending"
                else "Pending"

El problema con el error parece ser que no se puede probar null y otra condición con un operador y, por lo que necesitaba dividir la lógica en instrucciones if aún más anidadas.



Did I answer your question? Mark my post as a solution!
Did my answers help arrive at a solution? Give it a kudos by clicking the Thumbs Up!

DAX is for Analysis. Power Query is for Data Modeling


Proud to be a Super User!

MCSA: BI Reporting

Gracias a todos los que ayudan a resolver esto!!! Tal una increíble comunidad!

@edhans @aj1973 @Greg_Deckler @BA_Pete

encantado de haber ayudado con su proyecto @bcbuckley13 !



Did I answer your question? Mark my post as a solution!
Did my answers help arrive at a solution? Give it a kudos by clicking the Thumbs Up!

DAX is for Analysis. Power Query is for Data Modeling


Proud to be a Super User!

MCSA: BI Reporting

Greg_Deckler
Super User
Super User

Ese código debería funcionar en DAX con cambios mínimos, aunque recomendaría usar SWITCH(TRUE()...) en lugar de instrucciones IF anidadas.

El código M va a ser algo así como:

if [Course Complete Date] <>"" and [Course Complete Date]>[Due Date] then "No" else if [Course Complete Date]<>"" and [Course Complete Date]<[Due Date] then "Yes" else if [Course Complete Date] <>"" and [Due Date] < DateTime.LocalNow() then "Overdue" else "Pending"


@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
Mastering Power BI 2nd Edition

DAX is easy, CALCULATE makes DAX hard...

@Greg_Deckler Gracias. Sin embargo, recibí el error Null dredded de la columna de fecha completada del curso en blanco.

bcbuckley13_0-1593614715866.png

Hola @bcbuckley13 ,

Utilice el código de Greg, pero en lugar de usar <>"" use <> null



Now accepting Kudos! If my post helped you, why not give it a thumbs-up?

Proud to be a Datanaut!




@BA_Pete Gracias. Eso corrigió el error, pero para esa celda que dice Pendiente, esa debe ser Atrasada.

bcbuckley13_0-1593620090782.png

@bcbuckley13

Reemplace "Pending" por "Overdue" y viceversa.

Yes No 1.PNG

Regards
Amine Jerbi

If I answered your question, please mark this thread as accepted
and you can follow me on
My Website, LinkedIn and Facebook

@aj1973 Eso sólo los intercambió, pero no solucionó el problema real.

T30 Issue in PBI.jpg

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors