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

IBIS-Q System Documentation - Creating Configuration File Proxy Variables

Proxy Variables

A proxy variable is used to group similar variables together. By grouping the variables together the group of variables will be listed only once on the dimension (group by) step. This makes it so that the same variable used for filtering is also used for display. For example when you have several different age groups in the age step (4 age groups, 7 age groups, etc.) and you want to show age group only once in the display by step you can use a proxy variable for age. Proxy variables need to be defined in the ( configuration file with a type2 of 10.

Syntax

File name: module.xml (module file for query-builder page)
<SELECTIONS>
  <NAME>Proxy variable</NAME>
  <TITLE>Text for step</TITLE>
  <DESCRIPTION>Mouseover Description</DESCRIPTION>
  <SELECTION_TYPE>
    <SINGLE/> or <MULTIPLE/> or <LIST><SIZE>#</SIZE><MULTIPLE/></LIST>
  </SELECTION_TYPE>
  <SELECTION>
    <TITLE>Variable title</TITLE>
    <VALUE>Variable name</VALUE>
    <SELECTIONS>
      <SELECTION><TITLE>Optional All selection</TITLE></SELECTION>
      <DIMENSION_NAME>Dimension name (= variable name)</DIMENSION_NAME>
      <SELECTION_TYPE>
        <LIST>
          <SIZE>6</SIZE>
          <MULTIPLE/>
        </LIST>
      </SELECTION_TYPE>
    </SELECTIONS>
  </SELECTION>
  <SELECTION>
    <TITLE>Variable title</TITLE>
    <VALUE>Variable name</VALUE>
    ... 

File name: data_set.cfg (configuration file, type2 always equals 10 for proxy variables)
value name_sas name_html name_saspop variable&label type1 type2 note

Example

File name: Mort.xml (excerpt)
1	<SECTION xmlns:ibis="http://www.ibisph.org">
2	  <NAME>AgeGrp</NAME>
3	  <TITLE>Select age of decedent</TITLE>

4	  <SELECTED_DIMENSIONS>
5	    <SELECTED_DIMENSION>
6	      <NAME>AgeGrpProxy</NAME>
7	      <VALUES><VALUE>AgeGrp11</VALUE></VALUES>
8	    </SELECTED_DIMENSION>
9	  </SELECTED_DIMENSIONS>

10	  <SELECTIONS>
11	    <NAME>AgeGrpProxy</NAME>
12	    <TITLE> First choose a coding scheme to use for age groups.  
	Default is age adjustment age groups, all ages.</TITLE>
13	    <DESCRIPTION>Filter by sub population group</DESCRIPTION>
14	    <SELECTION_TYPE>
15	      <SINGLE/>
16	    </SELECTION_TYPE>
17	    <SELECTION>
18	      <TITLE>Age adjustment age groups  (less than 1, 1-4, 5-14, 
	15-24, 25-34, 35-44, 45-54, 55-64, 65-74, 75-84, 85+)</TITLE>
19	      <VALUE>AgeGrp11</VALUE>
20	      <SELECTIONS>
21	        <SELECTION><TITLE>All age groups</TITLE></SELECTION>
22	        <DIMENSION_NAME>AgeGrp11</DIMENSION_NAME>
23	        <SELECTION_TYPE>
24	          <LIST>
25	            <SIZE>6</SIZE>
26	            <MULTIPLE/>
27	          </LIST>
28	        </SELECTION_TYPE>
29	      </SELECTIONS>
30	    </SELECTION>
31	    <SELECTION>
32	      <TITLE>Four age groups (0-14,15-44,45-64,65+)</TITLE>
33	      <VALUE>AgeGrp4</VALUE>
34	      <SELECTIONS>
35	        <SELECTION><TITLE>All age groups</TITLE></SELECTION>
36	        <DIMENSION_NAME>AgeGrp4</DIMENSION_NAME>
37	        <SELECTION_TYPE>
38	          <LIST>
39	            <SIZE>5</SIZE>
40	            <MULTIPLE/>
41	          </LIST>
42	        </SELECTION_TYPE>
43	      </SELECTIONS>
44	    </SELECTION>
. . .
45	  </SECTIONS>
46	</CRITERIA>

47	<DIMENSIONS>
48		<ibis:include href="dimension/AgeGrpProxy.xml"/>
49		<ibis:include href="dimension/_range/AgeGrp11.xml"/>
50		<ibis:include href="dimension/_range/AgeGrp4.xml"/>
51		<ibis:include href="dimension/_range/AgeGrp7.xml"/>
52		<ibis:include href="dimension/_range/AgeGrp8.xml"/>
53		<ibis:include href="dimension/_range/AgeGrp18.xml"/>
54		<ibis:include href="dimension/AgeGrp9.xml"/>
. . .
55	</DIMENSIONS>

File name: dimension/AgeGrpProxy.xml (xincluded file, see line 48 above)
<DIMENSION name="AgeGrpProxy">
	<NAME>AgeGrpProxy</NAME>
	<TITLE>Age Group</TITLE>
</DIMENSION>

File name: dimension/_range/AgeGrp4.xml (xincluded file, see line 50 above)
Note: This file needs to reference the proxy variable it is linked to in the <PROXY_DIMENSION_NAME> tag. See line 4 below.
1	<DIMENSION>
2	  <NAME>AgeGrp4</NAME>
3	  <TITLE>4 Age Groups</TITLE>
4	  <PROXY_DIMENSION_NAME>AgeGrpProxy</PROXY_DIMENSION_NAME>
5	  <VALUES>
6	    <VALUE>1<TITLE>0-14 years</TITLE></VALUE>
7	    <VALUE>2<TITLE>15-44 years</TITLE></VALUE>
8	    <VALUE>3<TITLE>45-64 years</TITLE></VALUE>
9	    <VALUE>4<TITLE>65+ years</TITLE></VALUE>
10	    <VALUE>Other<TITLE>Unknown</TITLE>
	<NOT_ASSOCIATED_FLAG/></VALUE>
11	    <VALUE>.<TITLE>Total</TITLE><NOT_ASSOCIATED_FLAG/></VALUE>
12	  </VALUES>
13	</DIMENSION>		

File name: Mortality.cfg (excerpt)
1 age AgeGrpProxy age Age&Group num 10 4     (Proxy Variable)

2 age AgeGrp4 age Age&of&Death num 3 4     (Dynamic Variable)  
3 age AgeGrp7 age Age&of&Death num 3 4     (Dynamic Variable)

In this example Dynamic Variables are used for the age group variables. Regular variables can also be used with Proxy Variables. The regular variables would have a type2 of 0 instead of 3 and the Proxy Variable would still have a type2 of 10. Refer to the Configuration File page for more information about type2.