Hi all,
When I create a filter where field != value, the results do not show field = EMPTY issues.
A workaround is to do (field != value OR field = EMPTY) but I was told that this was not the way it used to be so I was wondering if there is a setting for that.
Thanks!
Robert
No, it hasn't changed.
"Does not equal" is not quite the same as "empty" because != says you're looking for a specific value to not be there. If there's no values to look for, you can't say that your selection isn't there because there's nothing to look for.
Well, not since JIRA 3, which didn't have JQL, so you didn't have != or empty.
Thanks, that was what I thought. I will tell them to use the workaround I listed above.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
It's a little bit confusing for humans, because of our fuzzy thinking. Even a "yes or no" question really has three "answers" - yes, no, and not answered.
My friend explained it by saying "show me a picture of your black cat", then "show me a picture of all your cats who are not black", then "show me a picture of your dog who is not black". I don't have a dog, so I have to look for "empty" rather than "not black", because there's no dog there to not be black. (I love English negatives. Not)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Dang humans. Makes perfect sense to me, but my customer is still not happy. His concern is that in the future he will forget to use the "OR field = EMPTY" and miss records in his reports. I told him I could change the field to required and create a dummy value (called it "no value") and set that as default. Then go through with bulk change and find all issues with EMPTY values and change them to "no value", but I really do not like that solution as it adds even more clutter in my instance. Any thoughts on that solution?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Yeah, I know, we need to think more logically
I think your cluttered solution is about the only option you have without coding. Or just beating "empty != != " into him. The problem is that there are genuine uses for having them work differently!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Does this work around actually work. The Or function returns the values as if they were a separate query? So you end up with the results you excluded by using != in the = EMPTY results ie.
Pet type
(Pet Type != dog OR field = EMPTY)
Which translates to. Show me everything that is not a dog, and show me everything (including dog) that is not empty
This returns
Dog, Empty, Cat
Not the expected
Empty, Cat
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Yes, using the right JQL does "work". There's an important thing to understand here - JQL is not SQL and it has nothing to say about the results are returned. When you "run" some JQL, all that the calling process gets back is a list of issues that matched the query.
Also, empty really does mean empty - there is nothing there in the database for an empty field, nothing at all. So in fact you can't say:
Pet type
Because all you have is
Pet type
(And that's why != does not return the results, it's got nothing to compare with at all)
Your query translation is not quite right by the way
You said: "Pet type != dog or field is empty", which means "Show me all issues with a Pet type where it is not dog, and all issues that do not have a value in "field"". I'm guessing the issues being returned that have "Dog" on them have nothing in "field"
I think you might mean "Pet type != dog or Pet type is empty", which would give you issues with no Pet type and issues with Cat
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi
I'm facing the same issue. I need all results that are not 'Dog' , but i want to include all 'None'/Empty results as well.
Can someone help me with the syntax?
labels != Dog OR labels = None
Doesn't do the trick and adding brackets doesn't help either.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
labels != Dog OR labels is EMPTY
is the correct syntax. There is no "None"
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks for the syntax help everyone! This worked for me:
status not in (Done, Rejected) AND 'Customer(S) Reporting' is EMPTY
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello Everyone - thanks for the syntax references. This worked for me:
status not in (Done, Rejected) AND 'Customer(S) Reporting' is EMPTY
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
One would think the != Dog would bring back every value, including a non-value as that is not Dog. To exclude empty you should have to state != Dog and is not EMPTY. That's the logical solution to any query!!!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.