business.xsd 47 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- edited with XMLSpy v2016 sp1 (x64) (http://www.altova.com) by IBM SWG CANADA (IBM SWG Canada) -->
  3. <!--
  4. Licensed Materials - Property of IBM
  5. IBM Cognos Products: moser
  6. (C) Copyright IBM Corp. 2015, 2017
  7. US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  8. -->
  9. <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="4.0">
  10. <xsd:include schemaLocation="metadata.xsd"/>
  11. <xsd:element name="querySubject">
  12. <xsd:annotation>
  13. <xsd:documentation>Represents a query.</xsd:documentation>
  14. </xsd:annotation>
  15. <xsd:complexType>
  16. <xsd:complexContent>
  17. <xsd:extension base="objectType">
  18. <xsd:sequence>
  19. <xsd:element name="ref" type="xsd:string" minOccurs="0" maxOccurs="unbounded">
  20. <xsd:annotation>
  21. <xsd:documentation>Defines references to query subject or table that can be in the same or different module. used to resolve one part name in query item.</xsd:documentation>
  22. </xsd:annotation>
  23. </xsd:element>
  24. <xsd:element name="originalRef" type="xsd:string" minOccurs="0" maxOccurs="unbounded">
  25. <xsd:annotation>
  26. <xsd:documentation>The original ref used before resolving the query subject. It's used in the metadata and allows for restoring the ref when saving a module from metadata.</xsd:documentation>
  27. </xsd:annotation>
  28. </xsd:element>
  29. <xsd:element name="instanceType" type="instanceType" minOccurs="0">
  30. <xsd:annotation>
  31. <xsd:documentation>Defines whether the object is a copy or a reference.</xsd:documentation>
  32. </xsd:annotation>
  33. </xsd:element>
  34. <xsd:element name="generateSQL" type="generateSQL" default="asView">
  35. <xsd:annotation>
  36. <xsd:documentation>Causes a query to generate the SQL commands used. If set to minimized, only the required query items appear in the generated SQL. If set to asView, all query items appear.</xsd:documentation>
  37. </xsd:annotation>
  38. </xsd:element>
  39. <xsd:element name="useInJoinPath" type="xsd:boolean" default="false" minOccurs="0">
  40. <xsd:annotation>
  41. <xsd:documentation>
  42. <para>Related with the contextSensitiveJoinSelection governor, when the setting is explicit</para>
  43. <para>If set to true, the querySubject will be used in the joinPath</para>
  44. </xsd:documentation>
  45. </xsd:annotation>
  46. </xsd:element>
  47. <xsd:element name="numberOfRows" type="xsd:string" minOccurs="0">
  48. <xsd:annotation>
  49. <xsd:documentation>
  50. <para>number of rows of the query subject in text format, e.g. 1K, 2M.</para>
  51. </xsd:documentation>
  52. </xsd:annotation>
  53. </xsd:element>
  54. <xsd:element name="querySubjectUsage" type="querySubjectUsage" default="automatic" minOccurs="0">
  55. <xsd:annotation>
  56. <xsd:documentation>Defines the intended usage of the query subject. </xsd:documentation>
  57. </xsd:annotation>
  58. </xsd:element>
  59. <xsd:element name="useLocalCache" type="xsd:boolean" default="false" minOccurs="0">
  60. <xsd:annotation>
  61. <xsd:documentation>
  62. <para>Property that is processed in relational query planning when the query subject usage is specified as summaryQuery.</para>
  63. </xsd:documentation>
  64. </xsd:annotation>
  65. </xsd:element>
  66. <xsd:element name="columnDependency" minOccurs="0" maxOccurs="unbounded">
  67. <xsd:complexType>
  68. <xsd:sequence>
  69. <xsd:element name="ref" type="xsd:string"/>
  70. <xsd:element name="keyRef" type="xsd:string" maxOccurs="unbounded"/>
  71. </xsd:sequence>
  72. </xsd:complexType>
  73. </xsd:element>
  74. <xsd:element ref="queryItem" minOccurs="0" maxOccurs="unbounded">
  75. <xsd:annotation>
  76. <xsd:documentation>A query item from a query subject. Obsolete location (after 3.2). The new location is querySubject/item[n]/queryItem</xsd:documentation>
  77. </xsd:annotation>
  78. </xsd:element>
  79. <xsd:element ref="filter" minOccurs="0" maxOccurs="unbounded"/>
  80. <xsd:choice>
  81. <xsd:element name="dbQuery" minOccurs="0">
  82. <xsd:annotation>
  83. <xsd:documentation>Defines a query against the specified database.</xsd:documentation>
  84. </xsd:annotation>
  85. <xsd:complexType>
  86. <xsd:sequence>
  87. <xsd:element name="ref" type="xsd:string" maxOccurs="unbounded">
  88. <xsd:annotation>
  89. <xsd:documentation>reference to database.</xsd:documentation>
  90. </xsd:annotation>
  91. </xsd:element>
  92. <xsd:element name="sql" type="sqlType" minOccurs="0"/>
  93. </xsd:sequence>
  94. </xsd:complexType>
  95. </xsd:element>
  96. <xsd:element name="queryOperation" minOccurs="0">
  97. <xsd:annotation>
  98. <xsd:documentation>A query that represents the union, intersection or except of query subjects or tables. union can have more than two query subjects or tables.</xsd:documentation>
  99. </xsd:annotation>
  100. <xsd:complexType>
  101. <xsd:sequence>
  102. <xsd:element name="ref" type="xsd:string" minOccurs="2" maxOccurs="unbounded">
  103. <xsd:annotation>
  104. <xsd:documentation>reference to other query subjects or tables.</xsd:documentation>
  105. </xsd:annotation>
  106. </xsd:element>
  107. <xsd:element name="setOperation" type="setOperation" default="UNION"/>
  108. <xsd:element name="duplicates" type="setOperationDuplicates" default="remove"/>
  109. </xsd:sequence>
  110. </xsd:complexType>
  111. </xsd:element>
  112. <xsd:element ref="relationship" minOccurs="0">
  113. <xsd:annotation>
  114. <xsd:documentation>A query that represents the join of two query subjects or tables.</xsd:documentation>
  115. </xsd:annotation>
  116. </xsd:element>
  117. </xsd:choice>
  118. <xsd:element name="sourceCategory" type="sourceCategoryType" minOccurs="0"/>
  119. <xsd:element name="sortList" type="sortListType" minOccurs="0">
  120. <xsd:annotation>
  121. <xsd:documentation>The available sort list when projecting the entire query subject.</xsd:documentation>
  122. </xsd:annotation>
  123. </xsd:element>
  124. <xsd:element name="item" type="itemType" minOccurs="0" maxOccurs="unbounded">
  125. <xsd:annotation>
  126. <xsd:documentation>This is the location of selectable items for query formulation as of version 3.4. This also support folders of selectable items.</xsd:documentation>
  127. </xsd:annotation>
  128. </xsd:element>
  129. </xsd:sequence>
  130. </xsd:extension>
  131. </xsd:complexContent>
  132. </xsd:complexType>
  133. </xsd:element>
  134. <xsd:complexType name="facetType">
  135. <xsd:sequence>
  136. <xsd:element name="enabled" type="facetTypeEnabled" default="automatic"/>
  137. <xsd:element name="sortList" type="sortListType" minOccurs="0">
  138. <xsd:annotation>
  139. <xsd:documentation>if sortList is absent, sort on the query item/calculation ASC NULLS LAST.</xsd:documentation>
  140. </xsd:annotation>
  141. </xsd:element>
  142. <xsd:element name="context" minOccurs="0">
  143. <xsd:annotation>
  144. <xsd:documentation>The facet value will be combined with the context values.
  145. Example: Week without context gives 53 values. Week with Year as context gives 53 values for each year that is in the data.
  146. For cases where the context is not sufficiently spelled out, the reference can be to an expression that combines a number of columns. Example: day of week name gives 7 values without context, with Week as context there would be 366 values. Day of Week combined with an expression 100*year + week number will give 366 values per year.</xsd:documentation>
  147. </xsd:annotation>
  148. <xsd:complexType>
  149. <xsd:sequence>
  150. <xsd:element name="ref" type="xsd:string">
  151. <xsd:annotation>
  152. <xsd:documentation>reference to context query item/calculation.</xsd:documentation>
  153. </xsd:annotation>
  154. </xsd:element>
  155. <xsd:element name="mode" type="contextMode" minOccurs="0">
  156. <xsd:annotation>
  157. <xsd:documentation>define the behavior if context is missing in the query.</xsd:documentation>
  158. </xsd:annotation>
  159. </xsd:element>
  160. </xsd:sequence>
  161. </xsd:complexType>
  162. </xsd:element>
  163. </xsd:sequence>
  164. </xsd:complexType>
  165. <xsd:element name="queryItem">
  166. <xsd:annotation>
  167. <xsd:documentation>A query item from a query subject</xsd:documentation>
  168. </xsd:annotation>
  169. <xsd:complexType>
  170. <xsd:complexContent>
  171. <xsd:extension base="baseQueryItemType">
  172. <xsd:sequence>
  173. <xsd:element name="concepts" type="xsd:string" minOccurs="0" maxOccurs="unbounded">
  174. <xsd:annotation>
  175. <xsd:documentation>Concepts from SMD.</xsd:documentation>
  176. </xsd:annotation>
  177. </xsd:element>
  178. <xsd:element name="minimumValue" type="xsd:string" minOccurs="0">
  179. <xsd:annotation>
  180. <xsd:documentation>minimum value retrieved during SMD. The text format is: sign + decimal + abbreviation for thousand, million, billion.
  181. Example: -100, -1.3K, -2.1M, -0.4G</xsd:documentation>
  182. </xsd:annotation>
  183. </xsd:element>
  184. <xsd:element name="maximumValue" type="xsd:string" minOccurs="0">
  185. <xsd:annotation>
  186. <xsd:documentation>maximum value retrieved during SMD. The text format is: sign + decimal + abbreviation for thousand, million, billion.
  187. Example: 50, 3K, 5M</xsd:documentation>
  188. </xsd:annotation>
  189. </xsd:element>
  190. <xsd:element name="numberOfDistinctValues" type="xsd:string" minOccurs="0">
  191. <xsd:annotation>
  192. <xsd:documentation>number of distinct values retrieved during SMD. The text is at most 3 digits: decimal + abbreviation for thousand, million, billion.
  193. Example: 5, 4.5K, 1G</xsd:documentation>
  194. </xsd:annotation>
  195. </xsd:element>
  196. <xsd:element name="numberOfNullValues" type="xsd:string" minOccurs="0">
  197. <xsd:annotation>
  198. <xsd:documentation>number of null values retrieved during SMD. The text is at most 3 digits: decimal + abbreviation for thousand, million, billion.
  199. Example: 5, 4.5K, 1G</xsd:documentation>
  200. </xsd:annotation>
  201. </xsd:element>
  202. <xsd:element name="orderedValues" type="xsd:boolean" minOccurs="0">
  203. <xsd:annotation>
  204. <xsd:documentation>Whether values are naturally ordered (year, month number, ect) or not (identifier). When true their value adds meaning for prediction.</xsd:documentation>
  205. </xsd:annotation>
  206. </xsd:element>
  207. <xsd:element name="hierarchyHasMultipleRoots" type="xsd:boolean" minOccurs="0">
  208. <xsd:annotation>
  209. <xsd:documentation>When sourceCategory=hierarchy/* then this property defines if the hiearchy has a single root or if it has multiple roots.
  210. Some hierarchies have the artificial all-member and thus get 'forced' into a single root hierarchy, but that is often not interesting for the user, who is likely more interested in the members one level down from a single root hierarchy. For a multi-root hierarchy it would likely be more interesting to show all the roots to start with.</xsd:documentation>
  211. </xsd:annotation>
  212. </xsd:element>
  213. <xsd:element name="calculatedMember" type="calculatedMemberType" minOccurs="0" maxOccurs="unbounded">
  214. <xsd:annotation>
  215. <xsd:documentation>The label is used as the caption.
  216. In relational terms it defines a new row, base on other rows. In Olap terms it defines a new member, based on other members. E.g. kitchen_furniture = [table] + [chair], YOY_difference = [2016] - [2015].</xsd:documentation>
  217. </xsd:annotation>
  218. </xsd:element>
  219. <xsd:element name="rootMember" type="xsd:string" minOccurs="0">
  220. <xsd:annotation>
  221. <xsd:documentation>Only supported when
  222. 1) sourceCategory=hierarchy/*
  223. 2) the hierarchy has a single root
  224. 3) the underlying source returns it as part of the metadata
  225. </xsd:documentation>
  226. </xsd:annotation>
  227. </xsd:element>
  228. </xsd:sequence>
  229. </xsd:extension>
  230. </xsd:complexContent>
  231. </xsd:complexType>
  232. </xsd:element>
  233. <xsd:simpleType name="aggregateMode">
  234. <xsd:restriction base="xsd:string">
  235. <xsd:enumeration value="dynamic"/>
  236. <xsd:enumeration value="static"/>
  237. </xsd:restriction>
  238. </xsd:simpleType>
  239. <xsd:simpleType name="highLevelDataType">
  240. <xsd:restriction base="xsd:NMTOKEN">
  241. <xsd:enumeration value="boolean"/>
  242. <xsd:enumeration value="string"/>
  243. <xsd:enumeration value="integer"/>
  244. <xsd:enumeration value="decimal"/>
  245. <xsd:enumeration value="datetime"/>
  246. <xsd:enumeration value="time"/>
  247. <xsd:enumeration value="date"/>
  248. <xsd:enumeration value="interval"/>
  249. <xsd:enumeration value="array"/>
  250. <xsd:enumeration value="object"/>
  251. <xsd:enumeration value="period"/>
  252. </xsd:restriction>
  253. </xsd:simpleType>
  254. <xsd:simpleType name="sqlLanguageType">
  255. <xsd:restriction base="xsd:NMTOKEN">
  256. <xsd:enumeration value="cognos">
  257. <xsd:annotation>
  258. <xsd:documentation>Cognos SQL can be optimized by the system and combined with other SQL before being sent to the data source.</xsd:documentation>
  259. </xsd:annotation>
  260. </xsd:enumeration>
  261. <xsd:enumeration value="native">
  262. <xsd:annotation>
  263. <xsd:documentation>Native SQL cannot be modified except by macro substitution, but can be combined with other SQL into a single SQL query to send to the data source.</xsd:documentation>
  264. </xsd:annotation>
  265. </xsd:enumeration>
  266. <xsd:enumeration value="passThrough">
  267. <xsd:annotation>
  268. <xsd:documentation>Pass-through SQL cannot be modified except by macro substitution, and cannot be combined with other SQL. It must be sent to the data source as a stand-alone query. However, results can be combined with results of other queries.</xsd:documentation>
  269. </xsd:annotation>
  270. </xsd:enumeration>
  271. </xsd:restriction>
  272. </xsd:simpleType>
  273. <xsd:simpleType name="splitDisplay">
  274. <xsd:restriction base="xsd:string">
  275. <xsd:enumeration value="inline"/>
  276. <xsd:enumeration value="folder"/>
  277. </xsd:restriction>
  278. </xsd:simpleType>
  279. <xsd:simpleType name="splitColumnTreatment">
  280. <xsd:restriction base="xsd:string">
  281. <xsd:enumeration value="show"/>
  282. <xsd:enumeration value="hide"/>
  283. </xsd:restriction>
  284. </xsd:simpleType>
  285. <xsd:simpleType name="joinFilterType">
  286. <xsd:restriction base="xsd:NMTOKEN">
  287. <xsd:enumeration value="none">
  288. <xsd:annotation>
  289. <xsd:documentation>No predicate is generated.</xsd:documentation>
  290. </xsd:annotation>
  291. </xsd:enumeration>
  292. <xsd:enumeration value="in">
  293. <xsd:annotation>
  294. <xsd:documentation>Generates an IN predicate of constant values.</xsd:documentation>
  295. </xsd:annotation>
  296. </xsd:enumeration>
  297. <xsd:enumeration value="between">
  298. <xsd:annotation>
  299. <xsd:documentation>Generates a BETWEEN predicate comprised of MIN and MAX values of the join keys.</xsd:documentation>
  300. </xsd:annotation>
  301. </xsd:enumeration>
  302. <xsd:enumeration value="table">
  303. <xsd:annotation>
  304. <xsd:documentation>Generates a table row constructor form of the IN predicate.</xsd:documentation>
  305. </xsd:annotation>
  306. </xsd:enumeration>
  307. </xsd:restriction>
  308. </xsd:simpleType>
  309. <xsd:simpleType name="contextMode">
  310. <xsd:restriction base="xsd:NMTOKEN">
  311. <xsd:enumeration value="warnWhenMissing">
  312. <xsd:annotation>
  313. <xsd:documentation>issue a warning.</xsd:documentation>
  314. </xsd:annotation>
  315. </xsd:enumeration>
  316. <xsd:enumeration value="includeInQuery">
  317. <xsd:annotation>
  318. <xsd:documentation>context is required in query (project or in filter).</xsd:documentation>
  319. </xsd:annotation>
  320. </xsd:enumeration>
  321. <xsd:enumeration value="infoWhenMissing">
  322. <xsd:annotation>
  323. <xsd:documentation>provide detail information if context is missing in the query.</xsd:documentation>
  324. </xsd:annotation>
  325. </xsd:enumeration>
  326. </xsd:restriction>
  327. </xsd:simpleType>
  328. <xsd:simpleType name="sortOrderNullPlacement">
  329. <xsd:restriction base="xsd:NMTOKEN">
  330. <xsd:enumeration value="first"/>
  331. <xsd:enumeration value="last"/>
  332. </xsd:restriction>
  333. </xsd:simpleType>
  334. <xsd:simpleType name="sortOrder">
  335. <xsd:restriction base="xsd:NMTOKEN">
  336. <xsd:enumeration value="ascending"/>
  337. <xsd:enumeration value="descending"/>
  338. </xsd:restriction>
  339. </xsd:simpleType>
  340. <xsd:simpleType name="facetTypeEnabled">
  341. <xsd:restriction base="xsd:NMTOKEN">
  342. <xsd:enumeration value="automatic">
  343. <xsd:annotation>
  344. <xsd:documentation>automatic is resolved to true or false. Rule: true if the usage of the query item/calculation is attribute, and the data type supports precise value comparison (e.g. false for float/double because they are approximate number)
  345. </xsd:documentation>
  346. </xsd:annotation>
  347. </xsd:enumeration>
  348. <xsd:enumeration value="true"/>
  349. <xsd:enumeration value="false"/>
  350. </xsd:restriction>
  351. </xsd:simpleType>
  352. <xsd:simpleType name="querySubjectUsage">
  353. <xsd:restriction base="xsd:NMTOKEN">
  354. <xsd:enumeration value="automatic">
  355. <xsd:annotation>
  356. <xsd:documentation>Specifies that the querySubject usage is automatic and therefore it will be computed by the planning code.</xsd:documentation>
  357. </xsd:annotation>
  358. </xsd:enumeration>
  359. <xsd:enumeration value="bridge">
  360. <xsd:annotation>
  361. <xsd:documentation>Specifies that the querySubject refers to a bridge table.</xsd:documentation>
  362. </xsd:annotation>
  363. </xsd:enumeration>
  364. <xsd:enumeration value="summaryQuery">
  365. <xsd:annotation>
  366. <xsd:documentation>Specifies that the querySubject will be treated as a summaryQuery.</xsd:documentation>
  367. </xsd:annotation>
  368. </xsd:enumeration>
  369. </xsd:restriction>
  370. </xsd:simpleType>
  371. <xsd:simpleType name="setOperation">
  372. <xsd:restriction base="xsd:NMTOKEN">
  373. <xsd:enumeration value="UNION"/>
  374. <xsd:enumeration value="INTERSECT"/>
  375. <xsd:enumeration value="EXCEPT"/>
  376. </xsd:restriction>
  377. </xsd:simpleType>
  378. <xsd:simpleType name="setOperationDuplicates">
  379. <xsd:restriction base="xsd:NMTOKEN">
  380. <xsd:enumeration value="remove"/>
  381. <xsd:enumeration value="preserve"/>
  382. </xsd:restriction>
  383. </xsd:simpleType>
  384. <xsd:simpleType name="generateSQL">
  385. <xsd:restriction base="xsd:NMTOKEN">
  386. <xsd:enumeration value="asView">
  387. <xsd:annotation>
  388. <xsd:documentation>Specifies that all query items appear in the generated SQL.</xsd:documentation>
  389. </xsd:annotation>
  390. </xsd:enumeration>
  391. <xsd:enumeration value="minimized">
  392. <xsd:annotation>
  393. <xsd:documentation>Specifies that only the required query items appear in the generated SQL.</xsd:documentation>
  394. </xsd:annotation>
  395. </xsd:enumeration>
  396. </xsd:restriction>
  397. </xsd:simpleType>
  398. <xsd:simpleType name="usageType">
  399. <xsd:restriction base="xsd:NMTOKEN">
  400. <xsd:enumeration value="automatic">
  401. <xsd:annotation>
  402. <xsd:documentation>Specifies that the usage is not known.</xsd:documentation>
  403. </xsd:annotation>
  404. </xsd:enumeration>
  405. <xsd:enumeration value="identifier">
  406. <xsd:annotation>
  407. <xsd:documentation>Specifies that the object is to be treated as an identifier.</xsd:documentation>
  408. </xsd:annotation>
  409. </xsd:enumeration>
  410. <xsd:enumeration value="fact">
  411. <xsd:annotation>
  412. <xsd:documentation>Specifies that the object is to be treated as a fact.</xsd:documentation>
  413. </xsd:annotation>
  414. </xsd:enumeration>
  415. <xsd:enumeration value="attribute">
  416. <xsd:annotation>
  417. <xsd:documentation>Specifies that the object is to be treated as an attribute.</xsd:documentation>
  418. </xsd:annotation>
  419. </xsd:enumeration>
  420. </xsd:restriction>
  421. </xsd:simpleType>
  422. <xsd:simpleType name="regularAggregateType">
  423. <xsd:annotation>
  424. <xsd:documentation>The aggregation rule. same as V5 aggregate name. </xsd:documentation>
  425. </xsd:annotation>
  426. <xsd:restriction base="xsd:NMTOKEN">
  427. <xsd:enumeration value="none">
  428. <xsd:annotation>
  429. <xsd:documentation>This item should be used as a grouping item.</xsd:documentation>
  430. </xsd:annotation>
  431. </xsd:enumeration>
  432. <xsd:enumeration value="average">
  433. <xsd:annotation>
  434. <xsd:documentation>Compute the average value for the values of the group.</xsd:documentation>
  435. </xsd:annotation>
  436. </xsd:enumeration>
  437. <xsd:enumeration value="automatic">
  438. <xsd:annotation>
  439. <xsd:documentation>The aggregation rule is determined automatically at run time.</xsd:documentation>
  440. </xsd:annotation>
  441. </xsd:enumeration>
  442. <xsd:enumeration value="calculated">
  443. <xsd:annotation>
  444. <xsd:documentation>Aggregation is performed on the elements before the rest of the expression is executed. For example, if the aggregate rule for Q1_a is set to total, and the rule for q1_b is set to average, then if this query item is based on the expression (QI_a / QI_b) * 100, the aggregate is computed as: ( total(QI_a) / average( QI_b ) ) * 100.
  445. </xsd:documentation>
  446. </xsd:annotation>
  447. </xsd:enumeration>
  448. <xsd:enumeration value="count">
  449. <xsd:annotation>
  450. <xsd:documentation>Compute the number of the values of the group.</xsd:documentation>
  451. </xsd:annotation>
  452. </xsd:enumeration>
  453. <xsd:enumeration value="countDistinct">
  454. <xsd:annotation>
  455. <xsd:documentation>Compute the number of distinct values in the group.</xsd:documentation>
  456. </xsd:annotation>
  457. </xsd:enumeration>
  458. <xsd:enumeration value="countNonZero">
  459. <xsd:annotation>
  460. <xsd:documentation>Compute the number of the values of the group, excluding zero and NULL values.</xsd:documentation>
  461. </xsd:annotation>
  462. </xsd:enumeration>
  463. <xsd:enumeration value="maximum">
  464. <xsd:annotation>
  465. <xsd:documentation>Compute the maximum value of the values of the group.</xsd:documentation>
  466. </xsd:annotation>
  467. </xsd:enumeration>
  468. <xsd:enumeration value="median">
  469. <xsd:annotation>
  470. <xsd:documentation>Compute the median value of the values of the group.</xsd:documentation>
  471. </xsd:annotation>
  472. </xsd:enumeration>
  473. <xsd:enumeration value="minimum">
  474. <xsd:annotation>
  475. <xsd:documentation>Compute the minimum value of the values of the group.</xsd:documentation>
  476. </xsd:annotation>
  477. </xsd:enumeration>
  478. <xsd:enumeration value="standardDeviation">
  479. <xsd:annotation>
  480. <xsd:documentation>Compute the standard deviation value of the values of the group.</xsd:documentation>
  481. </xsd:annotation>
  482. </xsd:enumeration>
  483. <xsd:enumeration value="total">
  484. <xsd:annotation>
  485. <xsd:documentation>Compute the sum of the values of the group.</xsd:documentation>
  486. </xsd:annotation>
  487. </xsd:enumeration>
  488. <xsd:enumeration value="variance">
  489. <xsd:annotation>
  490. <xsd:documentation>Compute the variance value of the values of the group.</xsd:documentation>
  491. </xsd:annotation>
  492. </xsd:enumeration>
  493. <xsd:enumeration value="doNotUse">
  494. <xsd:annotation>
  495. <xsd:documentation>The related item must not be used as a grouping item and must not be aggregated. This value is used for the item that represents the property of a level of a dimension.</xsd:documentation>
  496. </xsd:annotation>
  497. </xsd:enumeration>
  498. </xsd:restriction>
  499. </xsd:simpleType>
  500. <xsd:simpleType name="cardinalityEnum">
  501. <xsd:restriction base="xsd:NMTOKEN">
  502. <xsd:enumeration value="zero">
  503. <xsd:annotation>
  504. <xsd:documentation>Specifies that this object has no rows.</xsd:documentation>
  505. </xsd:annotation>
  506. </xsd:enumeration>
  507. <xsd:enumeration value="one">
  508. <xsd:annotation>
  509. <xsd:documentation>Specifies that this object has one row only.</xsd:documentation>
  510. </xsd:annotation>
  511. </xsd:enumeration>
  512. <xsd:enumeration value="many">
  513. <xsd:annotation>
  514. <xsd:documentation>Specifies that this object can have many rows.</xsd:documentation>
  515. </xsd:annotation>
  516. </xsd:enumeration>
  517. </xsd:restriction>
  518. </xsd:simpleType>
  519. <xsd:complexType name="cardinalityType">
  520. <xsd:sequence>
  521. <xsd:element name="ref" type="xsd:string" minOccurs="0">
  522. <xsd:annotation>
  523. <xsd:documentation>References a query subject or table.</xsd:documentation>
  524. </xsd:annotation>
  525. </xsd:element>
  526. <xsd:element name="mincard" type="cardinalityEnum" minOccurs="0">
  527. <xsd:annotation>
  528. <xsd:documentation>
  529. <para>The minimum number (cardinality) of rows that will match this end of the relationship. Normally zero or one.</para>
  530. </xsd:documentation>
  531. </xsd:annotation>
  532. </xsd:element>
  533. <xsd:element name="maxcard" type="cardinalityEnum" minOccurs="0">
  534. <xsd:annotation>
  535. <xsd:documentation>
  536. <para>The maximum number (cardinality) of rows that will match this end of the relationship. The value is normally one or many.</para>
  537. </xsd:documentation>
  538. </xsd:annotation>
  539. </xsd:element>
  540. </xsd:sequence>
  541. </xsd:complexType>
  542. <xsd:element name="namedSet">
  543. <xsd:annotation>
  544. <xsd:documentation>A collection of ordered facet/member values that can be projected or that can be used as a filter.
  545. Example: set ( year->[2015], year->[2016] )
  546. usage=attribute
  547. format = "null"
  548. datatype = nvarchar(200)
  549. highlevelDatatype = string</xsd:documentation>
  550. </xsd:annotation>
  551. <xsd:complexType>
  552. <xsd:complexContent>
  553. <xsd:extension base="baseQueryItemType">
  554. <xsd:sequence>
  555. <xsd:element name="numberOfDistinctValues" type="xsd:string" minOccurs="0">
  556. <xsd:annotation>
  557. <xsd:documentation>number of distinct values. The text format is: at most 3 digits + abbreviation for thousand, million, billion. Example: 5, 4.5K, 1G</xsd:documentation>
  558. </xsd:annotation>
  559. </xsd:element>
  560. <xsd:element name="refToHierarchy" type="xsd:string" minOccurs="0">
  561. <xsd:annotation>
  562. <xsd:documentation>The reference(idForExpression) to the hierarchy that the members of the this set belong to.</xsd:documentation>
  563. </xsd:annotation>
  564. </xsd:element>
  565. </xsd:sequence>
  566. </xsd:extension>
  567. </xsd:complexContent>
  568. </xsd:complexType>
  569. </xsd:element>
  570. <xsd:element name="relationship">
  571. <xsd:annotation>
  572. <xsd:documentation>
  573. join two query subjects / tables.
  574. </xsd:documentation>
  575. </xsd:annotation>
  576. <xsd:complexType>
  577. <xsd:complexContent>
  578. <xsd:extension base="objectType">
  579. <xsd:sequence>
  580. <xsd:element name="ref" type="xsd:string" minOccurs="0">
  581. <xsd:annotation>
  582. <xsd:documentation>Defines a reference to a relationship in a referenced module.</xsd:documentation>
  583. </xsd:annotation>
  584. </xsd:element>
  585. <xsd:element name="instanceType" type="instanceType" minOccurs="0">
  586. <xsd:annotation>
  587. <xsd:documentation>Defines whether the object is a copy or a reference.</xsd:documentation>
  588. </xsd:annotation>
  589. </xsd:element>
  590. <xsd:element name="left" type="cardinalityType">
  591. <xsd:annotation>
  592. <xsd:documentation>References the left query subject or table in a relationship.</xsd:documentation>
  593. </xsd:annotation>
  594. </xsd:element>
  595. <xsd:element name="right" type="cardinalityType">
  596. <xsd:annotation>
  597. <xsd:documentation>References the right query subject or table in a relationship.</xsd:documentation>
  598. </xsd:annotation>
  599. </xsd:element>
  600. <xsd:choice>
  601. <xsd:element name="expression" type="xsd:string" minOccurs="0"/>
  602. <xsd:element name="link" minOccurs="0" maxOccurs="unbounded">
  603. <xsd:complexType>
  604. <xsd:sequence>
  605. <xsd:element name="leftRef" type="xsd:string"/>
  606. <xsd:element name="rightRef" type="xsd:string"/>
  607. </xsd:sequence>
  608. </xsd:complexType>
  609. </xsd:element>
  610. </xsd:choice>
  611. <xsd:element name="joinFilterType" type="joinFilterType" default="none" minOccurs="0">
  612. <xsd:annotation>
  613. <xsd:documentation>Presence of this element triggers filter join optimization in which is generated in order to optimize local join processing. The filter will be applied to the many side of the relationship. If there is no many side or if both are many, then the filter will be applied to the right side.</xsd:documentation>
  614. </xsd:annotation>
  615. </xsd:element>
  616. </xsd:sequence>
  617. </xsd:extension>
  618. </xsd:complexContent>
  619. </xsd:complexType>
  620. </xsd:element>
  621. <xsd:element name="parameterMap">
  622. <xsd:annotation>
  623. <xsd:documentation>A lookup table for controlling query generation. As a minimum, the _env and _governor maps are required.</xsd:documentation>
  624. </xsd:annotation>
  625. <xsd:complexType>
  626. <xsd:complexContent>
  627. <xsd:extension base="objectType">
  628. <xsd:sequence>
  629. <xsd:element name="defaultValue" type="xsd:string" minOccurs="0">
  630. <xsd:annotation>
  631. <xsd:documentation>Specifies the value to use if no key match is found. If not set, external sources for parameterMaps of this name may be searched.</xsd:documentation>
  632. </xsd:annotation>
  633. </xsd:element>
  634. <xsd:element name="freshness" type="xsd:string" default="-1" minOccurs="0">
  635. <xsd:annotation>
  636. <xsd:documentation>During macro evaluation, the parameter map will be reloaded if it was loaded more than the specified number of seconds ago. The default is -1, which means that the data will be loaded only once.</xsd:documentation>
  637. </xsd:annotation>
  638. </xsd:element>
  639. <xsd:element name="loadAsNeeded" type="xsd:boolean" default="false" minOccurs="0">
  640. <xsd:annotation>
  641. <xsd:documentation>When set to true, then the map will be loaded one key-value at a time, when a key-ed accesses is made. When a getAllEntries access is made, then this flag is ignored.</xsd:documentation>
  642. </xsd:annotation>
  643. </xsd:element>
  644. <xsd:choice minOccurs="0">
  645. <xsd:element name="parameterMapEntry" minOccurs="0" maxOccurs="unbounded">
  646. <xsd:annotation>
  647. <xsd:documentation>Specifies that the object is an entry in a parameter map.</xsd:documentation>
  648. </xsd:annotation>
  649. <xsd:complexType>
  650. <xsd:sequence>
  651. <xsd:element name="key" type="xsd:string">
  652. <xsd:annotation>
  653. <xsd:documentation>Defines the unique identifier for the object.</xsd:documentation>
  654. </xsd:annotation>
  655. </xsd:element>
  656. <xsd:element name="value" type="xsd:string">
  657. <xsd:annotation>
  658. <xsd:documentation>The value that gets returned when the parameter map locates the key value.</xsd:documentation>
  659. </xsd:annotation>
  660. </xsd:element>
  661. </xsd:sequence>
  662. </xsd:complexType>
  663. </xsd:element>
  664. <xsd:element name="queryItemMap" minOccurs="0">
  665. <xsd:annotation>
  666. <xsd:documentation>Specifies that the set of entries in the parameterMap is based on two queryItem references: one represents the set of keys, and the second represents the set of values.</xsd:documentation>
  667. </xsd:annotation>
  668. <xsd:complexType>
  669. <xsd:sequence>
  670. <xsd:annotation>
  671. <xsd:documentation>The queryItems being referenced must belong to the same querySubject.</xsd:documentation>
  672. </xsd:annotation>
  673. <xsd:element name="keyRef" type="xsd:string">
  674. <xsd:annotation>
  675. <xsd:documentation>When a parameterMap has been defined, the query looks for this unique identifier when it executes and returns the value in the valueRef element.</xsd:documentation>
  676. </xsd:annotation>
  677. </xsd:element>
  678. <xsd:element name="valueRef" type="xsd:string">
  679. <xsd:annotation>
  680. <xsd:documentation>When a parameterMap has been defined, and the unique identifier (keyRef) has been found by the query, this value gets returned when the query executes.</xsd:documentation>
  681. </xsd:annotation>
  682. </xsd:element>
  683. </xsd:sequence>
  684. </xsd:complexType>
  685. </xsd:element>
  686. </xsd:choice>
  687. </xsd:sequence>
  688. </xsd:extension>
  689. </xsd:complexContent>
  690. </xsd:complexType>
  691. </xsd:element>
  692. <xsd:element name="calculation">
  693. <xsd:annotation>
  694. <xsd:documentation>Defines an expression aggregate that returns a value.</xsd:documentation>
  695. </xsd:annotation>
  696. <xsd:complexType>
  697. <xsd:complexContent>
  698. <xsd:extension base="baseQueryItemType"/>
  699. </xsd:complexContent>
  700. </xsd:complexType>
  701. </xsd:element>
  702. <xsd:element name="filter">
  703. <xsd:annotation>
  704. <xsd:documentation>Specifies an expression used to query the data in the specified database.</xsd:documentation>
  705. </xsd:annotation>
  706. <xsd:complexType>
  707. <xsd:complexContent>
  708. <xsd:extension base="objectType">
  709. <xsd:sequence>
  710. <xsd:element name="expression" type="xsd:string"/>
  711. <xsd:element name="postAutoAggregation" type="xsd:boolean" default="false" minOccurs="0"/>
  712. </xsd:sequence>
  713. </xsd:extension>
  714. </xsd:complexContent>
  715. </xsd:complexType>
  716. </xsd:element>
  717. <xsd:element name="drillGroup">
  718. <xsd:annotation>
  719. <xsd:documentation>Represents a set of items related to each other as “coarse to fine". It is used as a Navigation Path. The items are allowed to come from multiple query subjects.</xsd:documentation>
  720. </xsd:annotation>
  721. <xsd:complexType>
  722. <xsd:complexContent>
  723. <xsd:extension base="objectType">
  724. <xsd:sequence>
  725. <xsd:element name="segment" maxOccurs="unbounded">
  726. <xsd:annotation>
  727. <xsd:documentation>represents an item in drillGroup.</xsd:documentation>
  728. </xsd:annotation>
  729. <xsd:complexType>
  730. <xsd:complexContent>
  731. <xsd:extension base="objectType">
  732. <xsd:sequence>
  733. <xsd:element name="ref" type="xsd:string">
  734. <xsd:annotation>
  735. <xsd:documentation>reference to a query item in the same module.</xsd:documentation>
  736. </xsd:annotation>
  737. </xsd:element>
  738. </xsd:sequence>
  739. </xsd:extension>
  740. </xsd:complexContent>
  741. </xsd:complexType>
  742. </xsd:element>
  743. </xsd:sequence>
  744. </xsd:extension>
  745. </xsd:complexContent>
  746. </xsd:complexType>
  747. </xsd:element>
  748. <xsd:element name="itemHierarchy">
  749. <xsd:annotation>
  750. <xsd:documentation>Represents a set of items related to each other as “coarse to fine". The items must be from the current query subject.</xsd:documentation>
  751. </xsd:annotation>
  752. <xsd:complexType>
  753. <xsd:complexContent>
  754. <xsd:extension base="objectType">
  755. <xsd:sequence>
  756. <xsd:element name="ref" type="xsd:string" minOccurs="0" maxOccurs="unbounded">
  757. <xsd:annotation>
  758. <xsd:documentation>OBSOLETE, planned removal 2017-06-01,
  759. Replaced by localRef. reference to a query item in the same query subject.</xsd:documentation>
  760. </xsd:annotation>
  761. </xsd:element>
  762. <xsd:element name="calculatedMember" type="calculatedMemberType" minOccurs="0" maxOccurs="unbounded">
  763. <xsd:annotation>
  764. <xsd:documentation>The label is used as the caption.
  765. In relational terms it defines a new row, based on other rows. In Olap terms it defines a new member, based on other members. E.g. kitchen_furniture = [table] + [chair], YOY_difference = [2016] - [2015].</xsd:documentation>
  766. </xsd:annotation>
  767. </xsd:element>
  768. <xsd:element name="localRef" type="localRefType" minOccurs="0" maxOccurs="unbounded">
  769. <xsd:annotation>
  770. <xsd:documentation>local references to query items within the same query subject</xsd:documentation>
  771. </xsd:annotation>
  772. </xsd:element>
  773. </xsd:sequence>
  774. </xsd:extension>
  775. </xsd:complexContent>
  776. </xsd:complexType>
  777. </xsd:element>
  778. <xsd:complexType name="splitType">
  779. <xsd:sequence>
  780. <xsd:element name="columnTreatment" type="splitColumnTreatment"/>
  781. <xsd:element name="display" type="splitDisplay"/>
  782. <xsd:element name="folderLabel" type="xsd:string" minOccurs="0"/>
  783. <xsd:element name="ref" type="xsd:string">
  784. <xsd:annotation>
  785. <xsd:documentation>Reference to table that defines the columns to be split into</xsd:documentation>
  786. </xsd:annotation>
  787. </xsd:element>
  788. <xsd:element name="relationshipRef" type="xsd:string" minOccurs="0"/>
  789. <xsd:element name="item" type="itemType" minOccurs="0" maxOccurs="unbounded">
  790. <xsd:annotation>
  791. <xsd:documentation>A selectable item can be a child of another selectable item. This occurs for OLAP based levels and the properties that belong to that level. It also happens for structures, where the structure name itself may be selectable, giving a summarized/calculated response of the structure.</xsd:documentation>
  792. </xsd:annotation>
  793. </xsd:element>
  794. </xsd:sequence>
  795. </xsd:complexType>
  796. <xsd:complexType name="splitRule">
  797. <xsd:annotation>
  798. <xsd:documentation>A rule that decide if a column can be split.</xsd:documentation>
  799. </xsd:annotation>
  800. <xsd:sequence>
  801. <xsd:element name="datatype" type="xsd:string" minOccurs="0"/>
  802. <xsd:element name="columnNamePattern" type="xsd:string" minOccurs="0"/>
  803. <xsd:element name="lookupModule" type="xsd:string"/>
  804. <xsd:element name="lookupTableId" type="xsd:string"/>
  805. <xsd:element name="lookupColumnId" type="xsd:string"/>
  806. <xsd:element name="joinRelationship" type="xsd:string" minOccurs="0"/>
  807. </xsd:sequence>
  808. </xsd:complexType>
  809. <xsd:complexType name="splitConfig">
  810. <xsd:annotation>
  811. <xsd:documentation>Column Split configuration, saved in the ModelingService configuration file.</xsd:documentation>
  812. </xsd:annotation>
  813. <xsd:sequence>
  814. <xsd:element name="splitRules" type="splitRule" minOccurs="0" maxOccurs="unbounded"/>
  815. </xsd:sequence>
  816. </xsd:complexType>
  817. <xsd:complexType name="taxonomyType">
  818. <xsd:annotation>
  819. <xsd:documentation>Specifies the item data classification and whether it represents a geographic or time related concept.</xsd:documentation>
  820. </xsd:annotation>
  821. <xsd:sequence>
  822. <xsd:element name="domain">
  823. <xsd:simpleType>
  824. <xsd:restriction base="xsd:string">
  825. <xsd:enumeration value="cognos"/>
  826. </xsd:restriction>
  827. </xsd:simpleType>
  828. </xsd:element>
  829. <xsd:element name="class">
  830. <xsd:simpleType>
  831. <xsd:restriction base="xsd:string">
  832. <xsd:enumeration value="cNone"/>
  833. <xsd:enumeration value="cTime"/>
  834. <xsd:enumeration value="cGeoLocation"/>
  835. </xsd:restriction>
  836. </xsd:simpleType>
  837. </xsd:element>
  838. <xsd:element name="family">
  839. <xsd:simpleType>
  840. <xsd:restriction base="xsd:string">
  841. <xsd:enumeration value="cNone"/>
  842. <xsd:enumeration value="cDate"/>
  843. <xsd:enumeration value="cYear"/>
  844. <xsd:enumeration value="cQuarter"/>
  845. <xsd:enumeration value="cSeason"/>
  846. <xsd:enumeration value="cMonth"/>
  847. <xsd:enumeration value="cWeek"/>
  848. <xsd:enumeration value="cDay"/>
  849. <xsd:enumeration value="cHour"/>
  850. <xsd:enumeration value="cMinute"/>
  851. <xsd:enumeration value="cSecond"/>
  852. <xsd:enumeration value="cContinent"/>
  853. <xsd:enumeration value="cSubContinent"/>
  854. <xsd:enumeration value="cCountry"/>
  855. <xsd:enumeration value="cRegion"/>
  856. <xsd:enumeration value="cStateProvince"/>
  857. <xsd:enumeration value="cCounty"/>
  858. <xsd:enumeration value="cCity"/>
  859. <xsd:enumeration value="cPostalCode"/>
  860. <xsd:enumeration value="cStreetAddress"/>
  861. <xsd:enumeration value="cPosition"/>
  862. </xsd:restriction>
  863. </xsd:simpleType>
  864. </xsd:element>
  865. </xsd:sequence>
  866. </xsd:complexType>
  867. <xsd:complexType name="itemType">
  868. <xsd:choice>
  869. <xsd:element ref="queryItem">
  870. <xsd:annotation>
  871. <xsd:documentation>A projectable item referring to an underlying source item (column, level, attribute, named set) or a calculation based on such items.</xsd:documentation>
  872. </xsd:annotation>
  873. </xsd:element>
  874. <xsd:element ref="namedSet"/>
  875. <xsd:element ref="filter">
  876. <xsd:annotation>
  877. <xsd:documentation>Selectable/dragable filters.</xsd:documentation>
  878. </xsd:annotation>
  879. </xsd:element>
  880. <xsd:element name="folder">
  881. <xsd:complexType>
  882. <xsd:complexContent>
  883. <xsd:extension base="objectType">
  884. <xsd:sequence>
  885. <xsd:element name="item" type="itemType" minOccurs="0" maxOccurs="unbounded">
  886. <xsd:annotation>
  887. <xsd:documentation>The folder itself can not be used in a query, but its non-folder contents can.</xsd:documentation>
  888. </xsd:annotation>
  889. </xsd:element>
  890. </xsd:sequence>
  891. </xsd:extension>
  892. </xsd:complexContent>
  893. </xsd:complexType>
  894. </xsd:element>
  895. <xsd:element ref="itemHierarchy"/>
  896. </xsd:choice>
  897. </xsd:complexType>
  898. <xsd:complexType name="sqlType">
  899. <xsd:sequence>
  900. <xsd:element name="type" type="sqlLanguageType" default="cognos" minOccurs="0">
  901. <xsd:annotation>
  902. <xsd:documentation>Specifies the level of flexibility the system is allowed in optimizing the SQL from this element, before presenting it to the data source.</xsd:documentation>
  903. </xsd:annotation>
  904. </xsd:element>
  905. <xsd:element name="sqlText" type="xsd:string" minOccurs="0"/>
  906. </xsd:sequence>
  907. </xsd:complexType>
  908. <xsd:simpleType name="sourceCategoryType">
  909. <xsd:annotation>
  910. <xsd:documentation>A hint to allows the UI to provide a recognizable icon based on the underlying source.</xsd:documentation>
  911. </xsd:annotation>
  912. <xsd:restriction base="xsd:string">
  913. <xsd:enumeration value="calculation"/>
  914. <xsd:enumeration value="column"/>
  915. <xsd:enumeration value="dimension/measure"/>
  916. <xsd:enumeration value="dimension/regular"/>
  917. <xsd:enumeration value="folder"/>
  918. <xsd:enumeration value="hierarchy/level"/>
  919. <xsd:enumeration value="hierarchy/parent-child"/>
  920. <xsd:enumeration value="level"/>
  921. <xsd:enumeration value="measure"/>
  922. <xsd:enumeration value="namedSet"/>
  923. <xsd:enumeration value="property"/>
  924. <xsd:enumeration value="table"/>
  925. <xsd:enumeration value="variable"/>
  926. </xsd:restriction>
  927. </xsd:simpleType>
  928. <xsd:simpleType name="roleType">
  929. <xsd:annotation>
  930. <xsd:documentation>A hint for the Predict code.</xsd:documentation>
  931. </xsd:annotation>
  932. <xsd:restriction base="xsd:string">
  933. <xsd:enumeration value="target"/>
  934. <xsd:enumeration value="input"/>
  935. <xsd:enumeration value="id"/>
  936. <xsd:enumeration value="exclude"/>
  937. </xsd:restriction>
  938. </xsd:simpleType>
  939. <xsd:complexType name="baseQueryItemType" abstract="true">
  940. <xsd:complexContent>
  941. <xsd:extension base="objectType">
  942. <xsd:sequence>
  943. <xsd:annotation>
  944. <xsd:documentation>selectable item</xsd:documentation>
  945. </xsd:annotation>
  946. <xsd:group ref="queryItemGroup"/>
  947. </xsd:sequence>
  948. </xsd:extension>
  949. </xsd:complexContent>
  950. </xsd:complexType>
  951. <xsd:complexType name="sortListType">
  952. <xsd:sequence>
  953. <xsd:element name="sortItem" maxOccurs="unbounded">
  954. <xsd:complexType>
  955. <xsd:sequence>
  956. <xsd:element name="ref" type="xsd:string">
  957. <xsd:annotation>
  958. <xsd:documentation>reference to query item/calculation.</xsd:documentation>
  959. </xsd:annotation>
  960. </xsd:element>
  961. <xsd:element name="order" type="sortOrder" default="ascending"/>
  962. <xsd:element name="nullPlacement" type="sortOrderNullPlacement" default="last"/>
  963. </xsd:sequence>
  964. </xsd:complexType>
  965. </xsd:element>
  966. </xsd:sequence>
  967. </xsd:complexType>
  968. <xsd:group name="queryItemGroup">
  969. <xsd:sequence>
  970. <xsd:element name="expression" type="xsd:string" minOccurs="0"/>
  971. <xsd:element name="ref" type="xsd:string" minOccurs="0">
  972. <xsd:annotation>
  973. <xsd:documentation>Used when this generic query item is based on the definition of another query item, which may reside in the current data module or an imported data module.</xsd:documentation>
  974. </xsd:annotation>
  975. </xsd:element>
  976. <xsd:element name="instanceType" type="instanceType" minOccurs="0">
  977. <xsd:annotation>
  978. <xsd:documentation>Defines whether this object is a copy or a reference.</xsd:documentation>
  979. </xsd:annotation>
  980. </xsd:element>
  981. <xsd:element name="usage" type="usageType" default="automatic" minOccurs="0">
  982. <xsd:annotation>
  983. <xsd:documentation>Defines the intended usage of the query item. </xsd:documentation>
  984. </xsd:annotation>
  985. </xsd:element>
  986. <xsd:element name="format" type="xsd:string" minOccurs="0">
  987. <xsd:annotation>
  988. <xsd:documentation>Specifies the format.</xsd:documentation>
  989. </xsd:annotation>
  990. </xsd:element>
  991. <xsd:element name="datatype" type="xsd:string" minOccurs="0"/>
  992. <xsd:element name="nullable" type="xsd:boolean" default="false" minOccurs="0"/>
  993. <xsd:element name="regularAggregate" type="regularAggregateType" default="automatic" minOccurs="0">
  994. <xsd:annotation>
  995. <xsd:documentation>This operation (e.g. total, minimum) is applied to detail data values to compute a summarized value. One summarized value is computed for each of the combination of grouping items in the query.
  996. This operation is not applied to pre-summarized data sources, e.g. OLAP sources.</xsd:documentation>
  997. </xsd:annotation>
  998. </xsd:element>
  999. <!-- deprecated -->
  1000. <xsd:element name="datatypeCategory" minOccurs="0">
  1001. <xsd:annotation>
  1002. <xsd:documentation>High level datatype. This is obsolete as of 3.0, use highlevelDatatype instead. </xsd:documentation>
  1003. </xsd:annotation>
  1004. <xsd:simpleType>
  1005. <xsd:restriction base="xsd:NMTOKEN">
  1006. <xsd:enumeration value="boolean"/>
  1007. <xsd:enumeration value="string"/>
  1008. <xsd:enumeration value="number"/>
  1009. <xsd:enumeration value="datetime"/>
  1010. <xsd:enumeration value="interval"/>
  1011. <xsd:enumeration value="array"/>
  1012. <xsd:enumeration value="object"/>
  1013. <xsd:enumeration value="period"/>
  1014. </xsd:restriction>
  1015. </xsd:simpleType>
  1016. </xsd:element>
  1017. <xsd:element name="highlevelDatatype" type="highLevelDataType" minOccurs="0">
  1018. <xsd:annotation>
  1019. <xsd:documentation>High level datatype. </xsd:documentation>
  1020. </xsd:annotation>
  1021. </xsd:element>
  1022. <xsd:element name="facetDefinition" type="facetType" minOccurs="0">
  1023. <xsd:annotation>
  1024. <xsd:documentation>If facetDefinition is absent, treat it as automatic (see enabled in facetType).</xsd:documentation>
  1025. </xsd:annotation>
  1026. </xsd:element>
  1027. <xsd:element name="taxonomy" type="taxonomyType" minOccurs="0" maxOccurs="unbounded"/>
  1028. <xsd:element name="splitDefinition" type="splitType" minOccurs="0" maxOccurs="unbounded"/>
  1029. <xsd:element name="sourceCategory" type="sourceCategoryType" minOccurs="0"/>
  1030. <xsd:element name="item" type="itemType" minOccurs="0" maxOccurs="unbounded">
  1031. <xsd:annotation>
  1032. <xsd:documentation>A selectable item can be a child of another selectable item. This occurs for OLAP based levels and the properties that belong to that level. It also happens for structures, where the structure name itself may be selectable, giving a summarized/calculated response of the structure.</xsd:documentation>
  1033. </xsd:annotation>
  1034. </xsd:element>
  1035. <xsd:element name="aggregateMode" type="aggregateMode" default="static" minOccurs="0">
  1036. <xsd:annotation>
  1037. <xsd:documentation>This element value is not persisted, but dynamically generated.
  1038. static: do not use another regularAggregate value than specified
  1039. dynamic: use any of the standard aggregations in place of the regularAggregate
  1040. The value dynamic is returned for all relational columns and DMR measures, for anything else static is returned.</xsd:documentation>
  1041. </xsd:annotation>
  1042. </xsd:element>
  1043. <xsd:element name="role" type="roleType" minOccurs="0">
  1044. <xsd:annotation>
  1045. <xsd:documentation>Role hint for Predict code.</xsd:documentation>
  1046. </xsd:annotation>
  1047. </xsd:element>
  1048. </xsd:sequence>
  1049. </xsd:group>
  1050. <xsd:complexType name="calculatedMemberType">
  1051. <xsd:annotation>
  1052. <xsd:documentation>The label is used as the caption.
  1053. In relational terms it defines a new row, based on other rows. In Olap terms it defines a new member, based on other members. E.g. kitchen_furniture = [table] + [chair], YOY_difference = [2016] - [2015].</xsd:documentation>
  1054. </xsd:annotation>
  1055. <xsd:complexContent>
  1056. <xsd:extension base="objectType">
  1057. <xsd:sequence>
  1058. <xsd:element name="expression" type="xsd:string">
  1059. <xsd:annotation>
  1060. <xsd:documentation>must only reference facet values of the current queryItem or members of the current itemHierarchy</xsd:documentation>
  1061. </xsd:annotation>
  1062. </xsd:element>
  1063. </xsd:sequence>
  1064. </xsd:extension>
  1065. </xsd:complexContent>
  1066. </xsd:complexType>
  1067. <xsd:complexType name="localRefType">
  1068. <xsd:annotation>
  1069. <xsd:documentation>Local reference must only reference to the query items within the same query subject</xsd:documentation>
  1070. </xsd:annotation>
  1071. <xsd:complexContent>
  1072. <xsd:extension base="objectType">
  1073. <xsd:sequence>
  1074. <xsd:element name="ref" type="xsd:string">
  1075. <xsd:annotation>
  1076. <xsd:documentation>reference to a query item in the same query subject.</xsd:documentation>
  1077. </xsd:annotation>
  1078. </xsd:element>
  1079. </xsd:sequence>
  1080. </xsd:extension>
  1081. </xsd:complexContent>
  1082. </xsd:complexType>
  1083. </xsd:schema>