This function checks whether a value is a logical value (TRUE or FALSE), and returns TRUE or FALSE.
I just looked a question that asks, what does this DAX expression do?
is logical measure = IF(ISLOGICAL("true"),"Is boolean or Logical","Is different type")
I could just have a guess based on If “true” is logical then “Is Boolean or Logical”. Else “Is different type”.
Well, We have added “True” true within quotation marks which makes it text, not Boolean or logical.

As expected. Lets change the DAX
is logical measure = IF(ISLOGICAL(true),"Is boolean or Logical","Is different type")
True is Boolean because you can only have True or false

is logical measure = IF(ISLOGICAL(false),"Is boolean or Logical","Is different type")
Still Logical because its Boolean so the card stays the same
So why would you use ISLOGICAL?
You would mostly use this to test data so its great for making sure columns of true and false only contain boolean true and false information.
So, you always need to test how good your data is. Add an ISLOGICAL for true /false columns and you can report back on the validity of the data.
Salaried Flag in Adventureworks is a boolean column

Here is where the confusion is. You cant feed Salaried flag into this because we have created a measure and salaried flag is not an aggregation. You cant aggregate true or false
So instead I create a calculated column on the Employee table
Is Salary flag true or false? = IF(ISLOGICAL(DimEmployee[SalariedFlag]),"Is boolean or Logical","Is different type")

Great, Salaried flag has passed the test.
So ISLOGICAL, great for testing within a calculated column
