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

Count if "Date is null" and Value=string/number

Hi

So basically I have this data

meter_iderror_codedeactivation_date

123456

2
654654204-05-2017
656565
2131231Hardware_error
2333333
4444444Componet_error04-05-2017

What I need to Count is an error_code=number

count(distinct(if(error_code=2, deactivation_date=BLANK)))

I only want to Count the Distinct meter_id, if the error_code=2, and the Distinct meter_id, has no deactivation_date

What I need to Count is an error_code=string

count(distinct(if(error_code='*Hardw*', deactivation_date=BLANK)))

1 Solution

Accepted Solutions
Anonymous
Not applicable

Hi,

Try this one

If(error_code=2 and  len(trim(deactivation_date))= 0,Count( distinct meter_id) ,if(wildmatch(error_code,'*error') and  len(trim(deactivation_date))=0, Count( distinct meter_id),0))

Capture 9.PNG

View solution in original post

7 Replies
Gysbert_Wassenaar

Try count( {< error_code = {"*"}, deactivation_date -= {"*"} >} distinct meter_id)


talk is cheap, supply exceeds demand
varmekontrol
Creator
Creator
Author

I get the same result as if I remove the deactivation_date, and only get - count(if(error_code=2,distinct meter_id))

sasiparupudi1
Master III
Master III

count(distinct if(error_code=2 and len(Trim(deactivation_date))=0,meter_id))


count(distinct if(wildmatch(error_code,’*hardware*’)and len(Trim(deactivation_date))=0,meter_id))

baarathi
Creator III
Creator III

Hi Daniel,

Try this one out

= count ({<error_code={'2'},deactivation_date={"IsNull(deactivation_date)<0"}>}meter_id)

sasiparupudi1
Master III
Master III

count(distinct if(wildmatch(error_code,’*hardware*’,2)and len(Trim(deactivation_date))=0,meter_id))

Anonymous
Not applicable

Hi,

Try this one

If(error_code=2 and  len(trim(deactivation_date))= 0,Count( distinct meter_id) ,if(wildmatch(error_code,'*error') and  len(trim(deactivation_date))=0, Count( distinct meter_id),0))

Capture 9.PNG

sunny_talwar

May be create a flag in the script

If(Len(Trim(error_code)) > 0 and Len(Trim(deactivation_date)) = 0, 1, 0) as Flag1,

If(error_code = 2 and Len(Trim(deactivation_date)) = 0, 1, 0) as Flag2,

Count(DISTINCT {<Flag1 = {1}>} meter_id) -> This will equal 2 (123456 and 2131231)

Count(DISTINCT {<Flag2 = {1}>} meter_id) -> This will equal 1 (123456)