Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
6 years ago
Solved

DAX comparison operations do not support comparing values of type True/False with values of type Int

Hello.
 
May anyone help me to sort out "DAX comparison operations do not support comparing values of type True/False with values of type Integer. Consider using the VALUE or FORMAT function to convert one of the values." error?
 
I created the following column to show the current month and the last month on blank:
 
current_last_month_blank = IF(OR(
VALUE(CONCATENATE(YEAR(MAX(Calendario_pedido[Order_day]));
                                       FORMAT(MONTH(MAX(Calendario_pedido[Order_day])); "00")));
VALUE(MAXX( Calendario_pedido;CONCATENATE(YEAR(DATEADD(Calendario_pedido[Order_day];-1;MONTH));
                                       FORMAT(MONTH(DATEADD(Calendario_pedido[Order_day];-1;MONTH));"00")))))
                                            = Calendario_pedido[year_month_order];
                                           BLANK();
                                          Calendario_pedido[year_month_order])
 
 
 
Thanks
  • Hi there. The thin is you have to ask twice in the OR statement and not at the end. It need from you to return a true false on each argument of the function. Check this correction out:

    IF(
    	OR(
    		VALUE(CONCATENATE(YEAR(MAX(Calendario_pedido[Order_day]));
    			FORMAT(MONTH(MAX(Calendario_pedido[Order_day])); "00"))) = Calendario_pedido[year_month_order];
    		VALUE(MAXX( Calendario_pedido;CONCATENATE(YEAR(DATEADD(Calendario_pedido[Order_day];-1;MONTH));
    			FORMAT(MONTH(DATEADD(Calendario_pedido[Order_day];-1;MONTH));"00"))))= Calendario_pedido[year_month_order]
    	)
    	; BLANK()
    	; Calendario_pedido[year_month_order]
    )

    There you have two times the condition.

     

    Hope this works

    Regards

2 Replies

  • Hi there. The thin is you have to ask twice in the OR statement and not at the end. It need from you to return a true false on each argument of the function. Check this correction out:

    IF(
    	OR(
    		VALUE(CONCATENATE(YEAR(MAX(Calendario_pedido[Order_day]));
    			FORMAT(MONTH(MAX(Calendario_pedido[Order_day])); "00"))) = Calendario_pedido[year_month_order];
    		VALUE(MAXX( Calendario_pedido;CONCATENATE(YEAR(DATEADD(Calendario_pedido[Order_day];-1;MONTH));
    			FORMAT(MONTH(DATEADD(Calendario_pedido[Order_day];-1;MONTH));"00"))))= Calendario_pedido[year_month_order]
    	)
    	; BLANK()
    	; Calendario_pedido[year_month_order]
    )

    There you have two times the condition.

     

    Hope this works

    Regards

    • Anonymous's avatar
      Anonymous
      Not applicable

      Thanks buddy, you are right!