Skip directly to searchSkip directly to the site navigationSkip directly to the page's main content

IBIS-Q System Documentation - Troubleshooting

General Troubleshooting Steps

For a query to run there are two applications involved each with multiple points of failure. Assuming that both applications have been properly installed, the two areas for content managers to troubleshoot are:
To troubleshoot a query module problem , run query and from the result page click on "Show XML" and find <QUERY_APPLICATION_URL>. Copy and paste this URL to your browser window. To check reported problems, start with the following procedure:

If you can NOT run your query module without getting a general error, you can modify the URL to show the current module XML. This is done by simply replacing the "builder" or "result" portion of the URL to "confirugation" and then changing the ".html" to ".xml"

  1. Check for malformed XML code - use an XML aware editor (like XMLSpy, Notepad++, Aioob)
    1. Make sure all element tags are properly nested and "opened/closed"
    2. Validate the XML structure using the "query_module.xsd" file with an XML editor - may not produce an error in display (just a good idea)
  2. Check spelling, sense and grammar of all text displayed
  3. Make sure cfg, func, map, head, tail, and grp files are in the same folder and that the module file has the correct path to the cfg file.
  4. Matching
    1. "ibis:include" (xinclude) statements match the path and file name
    2. Selection file
      1. <NAME> = name used by left nav
      2. <LOCAL_URL> = query/builder/(directory)/(Name of module file)/ (<CONFIGURATION><NAME> in module file).html
    3. Module file
      1. <PARAMETER><NAME>config</NAME><VALUE> (path and name of configuration file) </VALUE></PARAMETER>
      2. XMLResponse.head and XMLResponse.tail = file names in same location as configuration file
      3. <MEASURE><NAME> = first word on all lines in XML Element Output Value Mapping file
      4. <MEASURE>data tags (numerator, etc) = names in XML Element Output Value Mapping file.
      5. <DIMENSION_NAME> = name_html in configuration file = <DIMENSION><NAME>
      6. <DIMENSION><VALUE> = value in data
      7. <PARAMETER><NAME>func</NAME><VALUE>(Name) = Name of function file
    4. Function files
      1. Order of output from function file = order in XML Element Output Value Mapping file.
      2. xml_out_map_file statement (in function file) = name of XML Element Output Value Mapping file
  5. Make sure the data format is correct (<XSLT_FORMAT_PATTERN> tag in module file can be used)
  6. Check sas code to make sure it outputs data correctly with no errors. Set sas=2 in the <QUERY_APPLICATION_URL> (accessed through the result page).
  7. Check configuration file to make sure the right variable type is listed
  8. Tag values cannot contain >, < or &, use &gt; &lt; and &amp; instead. Also, some tags will not allow " or ' in them.

Troubleshooting Chart

If you encounter problems running IBIS-Q, the following troubleshooting chart may help you isolate and correct problems.

ProblemSolution
Solutions start from the result page, click on "Show XML" and find <QUERY_APPLICATION_URL>. Set sas=2 to see SAS log (if needed).
Module page does not displayCheck that the xml is well-formed. Aioob or other xml editors have tools that will check your xml. In the measure selection file make sure <LOCAL_URL> = query/builder/(directory)/(Name of module file)/(<CONFIGURATION><NAME> in module file).html
Navigation path or measure name does not appear on confirmation screenIn the measure selection file make sure <LOCAL_URL> = query/builder/(directory)/(Name of module file)/(<CONFIGURATION><NAME> in module file).html. If they do not match, then all steps and options in that module.xml file will be displayed.
Data do not appear on results page, or only default data appear.See page from <QUERY_APPLICATION_URL>
  1. At the bottom of the page if you see:
  2. If you see XML code, no errors, then check to see if the data (at the bottom) is correct. If xml has correct data, make sure <MEASURE><NAME> = first word on all lines in XML Element Output Value Mapping file, remember it is case sensitive. Make sure the function file is pointing to the correct XML Element Output Value Mapping file and that the XML Element Output Value Mapping file is in the same location as the configuration file.
  3. If XML code is good, then set sas=2 to see SAS log (sas=1 for SAS code, Sas=3 for SAS output).
    This will result in a screen that shows xml code at the top followed by the SAS log that was run. (You may have to use "View Source" to see if formatted.) Search sas code for errors. You can use "Edit/Find on this page" to find errors. Correct the error.
  4. Make sure the variable is in the configuration file and the variable type is correct.
  5. For dynamic variables, make sure the group file is in the same location as the configuration file and that its name matches <DIMENSION_NAME> in the module file exactly.
  6. If you can't see results or the SAS log file it may be that there is a missing dash from the BoNdArY line in the function file. (See Function File Count.def example, line 6.)
  7. If only some of data appears, for example, you can't see main measure, but still see the Confidence Intervals or Numerator/Denominator, check the spelling of the measure name in the function file.
Incorrect filter label on Confirmation page or results pageMake sure <DIMENSION_NAME> = name_html in configuration file = <DIMENSION><NAME>, must be exactly the same, case sensitive.
No Title Found. Value: ***Make sure:
  1. <DIMENSION><VALUE> = value in data (the *** is the value from the data) including spaces
  2. <DIMENSION_NAME> = name_html in configuration file = <DIMENSION><NAME>
  3. If it is a dynamic variable, make sure the group file matches the <DIMENSION><NAME> and has the correct values in the <DIMENSION><VALUE> tags.
Table is labeled, but blankIf xml has correct data, make sure <MEASURE><NAME> = first word on all lines in XML Element Output Value Mapping file, case sensitive.
Column labels are reversed on results pageMake sure order of output from function file = order in XML Element Output Value Mapping file.
Variable is not visible to JavascriptReferencing items from JavaScript: Anything that is to be referenced by any JavaScript MUST have a valid HTML name with a unique value for that name within that group of same named items. This means that the SELECTIONS (or SELECTION) needs to have a NAME element and the SELECTION elements need to have a VALUE element for anything that is to be referenced/used by the JavaScript. It is good practice to document the input/selection names and values at the top of the JavaScript code. This name/value pairs map can really help you see (and it documents things better) what the selections are so that you know what the code is supposed to work with. When testing the code you can use "view source" to verify the name and values of the input selections are what you think they're supposed to be. It is also recommended that you use either Netscape or Firefox to debug JavaScript. It gives more information and it is more helpful that IE.
Data totals or rates are inaccurateRestrict years in data to those used in the query. Use 'data_where' or 'pop_where' in function file or module.xml file, or restrict dataset if all measures use the same data restriction.
All data are inaccurate.Check SAS coding and that correct variables are used.
SAS log gives an error 45When you run multiple large queries (like ED) the system can run out of allocated disk space and give an error 45. Set sas=2 to see SAS log. SAS log would say something like: ERROR: Write to WORK.TMP.DATA failed. File is full and may be damaged.
Results page says:
QueryModule. getResultGroupBy DimensionName - Could not find a matching result DIMENSION for the ROW_DIMENSION_NAME element. Dimension name value: Year
Check that 'Year' is the correct variable and spelling in the xml file and the configuration file.
If 'Year' is working correctly for other measures in the same xml file, check the SAS variable used in the function file to make sure it is spelled correctly.
Results page says:
QueryModule. getResultGroupBy DimensionName - Could not find a matching result DIMENSION for the OTHER_DIMENSION_NAME element. Dimension name value: Gun
Check to make sure the the dimension 'Gun' is in the configuration file and that is it spelled correctly.
Lines in the data list are all * or rows in the data list for values that were not listed on the query builder page. It may be that there is no data for this particular value. If the value was not on the query builder page then it needs to be excluded from the function file so that it will not show up on the results table. For example, if you are running a survey item and on the query builder page it has 2003, 2005 and 2007, but on the results page it shows line for 2003, 2004, 2005, 2006 and 2007 with the lines for 2004 and 2006 showing all *. If the survey question is only asked in odd years the even years need to be excluded from the query builder page and from the function file for that measure. The line in the function file would be in the top section and would look like this:
f data_where year&in&(2003,2005,2007)
Duplicate filter rows on results page.If the same name is used for two different selections then the system can pick it up twice and it will show twice in the filters listed at the top of the resulst page. For example, in the code below on line 4 the SELECTIONS tag is named MomRace and on line 15 the DIMENSION_NAME is also named MomRace. If anything for MomRace is selected this duplicate name results in a duplicate SELECTED_DIMENSION tag and a duplicate filter row on the results page. Deleting line 4, or renaming line 4 if it is needed, will resolve the problem.
1	<SELECTION>
2	  <TITLE>Race</TITLE>
3	  <SELECTIONS>
4	    <NAME>MomRace</NAME>
5	    <DESCRIPTION>Filter by 
	    mother's race</DESCRIPTION>
6	    <SELECTION_TYPE>
7	      <LIST>
8	        <SIZE>6</SIZE>
9	        <MULTIPLE/>
10	      </LIST>
11	    </SELECTION_TYPE>
12	    <SELECTION>
13	      <TITLE>All races</TITLE>
14	    </SELECTION>
15	    <DIMENSION_NAME>MomRace</DIMENSION_NAME>
16	  </SELECTIONS>
17	</SELECTION>

Note: Try to document problems as you encounter them, including your solutions.