Discussions
Categories
Groups
Community Home
Categories
INTERNAL ENABLEMENT
POPULAR
PUBLIC CLOUD
PRIVATE CLOUD
Quick Links
MY LINKS
HELPFUL TIPS
Back to website
Home
Intelligence (Analytics)
Sql querry
padytom
<p>Need help with this query to parse passed and failed from longdescription text</p>
<p> </p>
<p><b>select</b> </p>
<p>MAXIMO.WOACTIVITY.WOGROUP,</p>
<p>MAXIMO.WOACTIVITY.WORKORDERID,</p>
<p>MAXIMO.WOACTIVITY.DESCRIPTION,</p>
<p>MAXIMO.WORKORDER.ACTFINISH,</p>
<p>MAXIMO.WORKORDER.STATUS,</p>
<p>MAXIMO.WORKORDER.WONUM,</p>
<p>MAXIMO.WORKORDER.JPNUM,</p>
<p>MAXIMO.WORKORDER.ISTASK,</p>
<p>MAXIMO.WORKORDER.LOCATION,</p>
<p>MAXIMO.WORKORDER.WORKTYPE,</p>
<p>MAXIMO.WORKORDER.SUBWTYPE,</p>
<p>MAXIMO.WORKORDER.BRANCHID,</p>
<p>MAXIMO.LONGDESCRIPTION.LDTEXT,</p>
<p> </p>
<p>MAXIMO.WORKORDER.CREWID,</p>
<p>MAXIMO.LOCATIONS.SPACECLASS</p>
<p><b>from</b> </p>
<p>MAXIMO.WOACTIVITY</p>
<p><b>INNER</b> <b>JOIN</b> MAXIMO.WORKORDER <b>ON</b> MAXIMO.WOACTIVITY.WOGROUP <b>=</b> MAXIMO.WORKORDER.WONUM</p>
<p><b>INNER</b> <b>JOIN</b> MAXIMO.LONGDESCRIPTION <b>ON</b> MAXIMO.WOACTIVITY.WORKORDERID <b>=</b> MAXIMO.LONGDESCRIPTION.LDKEY</p>
<p><b>INNER</b> <b>JOIN</b> MAXIMO.LOCATIONS <b>ON</b> MAXIMO.WORKORDER.LOCATION <b>=</b> MAXIMO.LOCATIONS.LOCATION</p>
<p><b>where</b></p>
<p>MAXIMO.WORKORDER.WORKTYPE <b>=</b> 'TOURS'</p>
<p><b>and</b></p>
<p>MAXIMO.WORKORDER.SUBWTYPE <b>=</b> 'T:INSP'</p>
<p><b>and</b></p>
<p>MAXIMO.WORKORDER.BRANCHID <b>=</b> 'PBMO'</p>
<p><b>and</b></p>
<p>MAXIMO.WORKORDER.CREWID <b>=</b> 'PCQA'</p>
<p> </p>
<p><b>and</b></p>
<p>MAXIMO.WORKORDER.ISTASK <b>=</b> '0.00'</p>
<p><b>and</b></p>
<p>MAXIMO.LOCATIONS.SPACECLASS <b>in</b> ('Corridor',' Public Restroom', 'Ramp')</p>
<p><b>and</b></p>
<p>MAXIMO.WORKORDER.JPNUM <b>like</b> '%QA%'</p>
<p><b>and</b> </p>
<p>MAXIMO.LONGDESCRIPTION.LDTEXT <b>=</b> </p>
<p>(<b>CASE</b></p>
<p><b>WHEN</b> MAXIMO.LONGDESCRIPTION.LDTEXT <b>like</b> '%PASS' <b>THEN</b> 'Passed' </p>
<p><b>WHEN</b> MAXIMO.LONGDESCRIPTION.LDTEXT <b>like</b> '%FAIL' <b>THEN</b> 'Failed'</p>
<p> </p>
<p>End)</p>
<p> </p>
<p><b>ORDER</b> <b>BY</b> MAXIMO.WORKORDER.LOCATION</p>
Find more posts tagged with
Comments
wwilliams
<p>Have you tried</p>
<p><b>WHEN</b> MAXIMO.LONGDESCRIPTION.LDTEXT <b>like</b> '%PASS%' <b>THEN</b> 'Passed'</p>
<p>Oracle</p>
<p><b>WHEN</b> UPPER(MAXIMO.LONGDESCRIPTION.LDTEXT) <b>like</b> '%PASS%' <b>THEN</b> 'Passed'</p>
<p> </p>
<p> </p>
<p>So someone is typing in the longdescription PASS or FAIL? I would recommend a different method\column for that information.</p>
rdpeterson
<div>There are a couple of problems with the following line in your WHERE clause for long description:</div>
<div> </div>
<div style="margin-left:40px;">
<p style="color:rgb(40,40,40);font-family:'Source Sans Pro', sans-serif;">MAXIMO.LONGDESCRIPTION.LDTEXT <b>=</b></p>
<p style="color:rgb(40,40,40);font-family:'Source Sans Pro', sans-serif;">(<b>CASE</b></p>
<p style="color:rgb(40,40,40);font-family:'Source Sans Pro', sans-serif;"><b>WHEN</b> MAXIMO.LONGDESCRIPTION.LDTEXT <b>like</b> '%PASS' <b>THEN</b> 'Passed'</p>
<p style="color:rgb(40,40,40);font-family:'Source Sans Pro', sans-serif;"><b>WHEN</b> MAXIMO.LONGDESCRIPTION.LDTEXT <b>like</b> '%FAIL' <b>THEN</b> 'Failed'</p>
<p style="color:rgb(40,40,40);font-family:'Source Sans Pro', sans-serif;">End)</p>
</div>
<div> </div>
<div>First, LONGDESCRIPTION.LDTEXT field in Maximo 7.5 is data type CLOB (character large object), not a standard text field (data type VARCHAR2). IBM changed the field to this data type from earlier versions of Maximo because CLOB can hold much more data. Multi-page documents are frequently copied and pasted into the Work Order long description field in our organization. You can use the Oracle SQL TO_CHAR({text field name}) to convert the CLOB to text. You can also use the UPPER() or LOWER() functions to convert the search text to upper or lower case to eliminate case sensitivity in your search. Note TO_CHAR, LOWER, and UPPER will only work when converting long description CLOB field to text for search in your WHERE clause for any length of CLOB field. Oracle will not allow conversion of a CLOB field to text in the SELECT clause for display if the CLOB length exceeds 4,000 characters. I use an expression like this to display these longer CLOB fields:</div>
<div> </div>
<div style="margin-left:40px;">dbms_lob.substr(ldtext,{number of characters to display <= 4,000} , {starting position in string})</div>
<div> </div>
<div>The solution in my reports is to break up the long description into blocks not exceeding 4,000 characters each. Each block is a separate field in my query. I then concatenate these "pieces" of the complete long description together in the BIRT display object.</div>
<div> </div>
<div>Second, and perhaps more importantly, when will you run into a work order with long description containing ONLY the word "Passed" or "Failed" as generated by your CASE expression on the right side of the equals sign? Did you intend to simply impose the condition where the long description must contain the word "pass" or "fail"? If so, the WHERE statement would simply be</div>
<div> </div>
<div style="margin-left:40px;">....</div>
<div style="margin-left:40px;">AND ( UPPER(LONGDESCRIPTION.LDTEXT) LIKE '%PASS%' OR UPPER(LONGDESCRIPTION.LDTEXT) LIKE '%FAIL%' )</div>
<div style="margin-left:40px;"> </div>
<div>You can then use a CASE statement in your SELECT clause to display the word "passed" or "failed" depending on what the query returns in the long description field.</div>
<div> </div>
<div>I hope this helps.</div>
padytom
<p>Thank you for your response. Yes the long description contains only "pass" and "fail" The problem is to be able to filter status of pass and failed from the long description if possible into a computed column so I can do a count on them</p>