Changes for page 10 Constraints
Last modified by Helena on 2025/09/10 11:19
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 13 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -146,7 +146,7 @@ 146 146 147 147 The following logic explains how the inheritance mechanism works. Note that this is conceptual logic and actual systems may differ in the way this is implemented. 148 148 149 -* 149 +* 150 150 *1. Determine all possible keys that are valid at the higher level. 151 151 *1. These keys are deemed to be inherited by the lower-level constrained object, subject to the Constraints specified at the lower level. 152 152 *1. Determine all possible keys that are possible using the Constraints specified at the lower level. ... ... @@ -155,7 +155,7 @@ 155 155 156 156 === 10.3.4 Constraints Examples === 157 157 158 -==== 10.3.4.1 Data Constraint and Cascading ====158 +==== 10.3.4.1 Data Constraint and Cascading ==== 159 159 160 160 The following scenario is used. 161 161 ... ... @@ -215,128 +215,18 @@ 215 215 216 216 DSD Constraint 217 217 218 - **<str:DataConstraintagencyID="SDMX" id="DATA_CONSTRAINT" version="1.0.0draft" type="Allowed">**218 +[[image:1747386911707-332.png]] 219 219 220 -**<com:Name xml:lang="en">SDMX 3.0 Data Constraint sample</com:Name>** 221 - 222 -**<str:ConstraintAttachment>** 223 - 224 -**<str:DataStructure>urn:sdmx:org.sdmx.infomodel.datastructure.** 225 - 226 -**DataStructure=CENSUSHUB:CENSUS(1.0.0)</str:DataStructure>** 227 - 228 -**</str:ConstraintAttachment>** 229 - 230 -**<str:CubeRegion include="true">** 231 - 232 -**<!~-~- the ability to exclude values is illustrated – i.e., all values valid except this one ~-~->** 233 - 234 -**<com:KeyValue id="AGE" include="false">** 235 - 236 -**<com:Value>001</com:Value>** 237 - 238 -**</com:KeyValue>** 239 - 240 -**</str:CubeRegion>** 241 - 242 -**</str:DataConstraint>** 243 - 244 244 Dataflow Constraints 245 245 246 - **<str:DataConstraintagencyID="SDMX" id="DATA_CONSTRAINT_2" version="1.0.0draft" type="Allowed">**222 +[[image:1747386933952-158.png]] 247 247 248 - **<com:Name xml:lang="en">SDMX3.0Data Constraint sample</com:Name>**224 +[[image:1747386970127-658.png]] 249 249 250 -**<str:ConstraintAttachment>** 251 - 252 -**<str:Dataflow>urn:sdmx:org.sdmx.infomodel.datastructure.Dataflow=** 253 - 254 -**CENSUSHUB:CENSUS_CUBE1(1.0.0)</str:Dataflow>** 255 - 256 -**</str:ConstraintAttachment>** 257 - 258 -**<str:CubeRegion include="true">** 259 - 260 -**<com:KeyValue id="AGE" include="true">** 261 - 262 -**<com:Value>002</com:Value>** 263 - 264 -**<com:Value>003</com:Value>** 265 - 266 -**</com:KeyValue>** 267 - 268 -**<com:KeyValue id="CAS">** 269 - 270 -**<com:Value>003</com:Value>** 271 - 272 -**<com:Value>004</com:Value>** 273 - 274 -**</com:KeyValue>** 275 - 276 -**</str:CubeRegion>** 277 - 278 -**</str:DataConstraint>** 279 - 280 -**<str:DataConstraint agencyID="SDMX" id="DATA_CONSTRAINT_3" version="1.0.0draft" type="Allowed">** 281 - 282 -**<com:Name xml:lang="en">SDMX 3.0 Data Constraint sample</com:Name>** 283 - 284 -**<str:ConstraintAttachment>** 285 - 286 -**<str:Dataflow>urn:sdmx:org.sdmx.infomodel.datastructure.Dataflow=** 287 - 288 -**CENSUSHUB:CENSUS_CUBE2(1.0.0)</str:Dataflow>** 289 - 290 -**</str:ConstraintAttachment>** 291 - 292 -**<str:CubeRegion include="true">** 293 - 294 -**<com:KeyValue id="CAS" include="true">** 295 - 296 -**<com:Value>TOT</com:Value>** 297 - 298 -**<com:Value>NAP</com:Value>** 299 - 300 -**</com:KeyValue>** 301 - 302 -**</str:CubeRegion>** 303 - 304 -**</str:DataConstraint>** 305 - 306 306 Provision Agreement Constraint 307 307 308 - **<str:DataConstraintagencyID="SDMX" id="DATA_CONSTRAINT_4" version="1.0.0draft" type="Allowed">**228 +[[image:1747386991329-805.png]] 309 309 310 -**<com:Name xml:lang="en">SDMX 3.0 Data Constraint sample</com:Name>** 311 - 312 -**<str:ConstraintAttachment>** 313 - 314 -**<str:ProvisionAgreement>urn:sdmx:org.sdmx.infomodel.registry.** 315 - 316 -**ProvisionAgreement=CENSUSHUB:CENSUS_CUBE1_IT(1.0.0)** 317 - 318 -**</str:ProvisionAgreement>** 319 - 320 -**<str:ProvisionAgreement>urn:sdmx:org.sdmx.infomodel.registry.** 321 - 322 -**ProvisionAgreement=CENSUSHUB:CENSUS_CUBE2_IT(1.0.0)** 323 - 324 -**</str:ProvisionAgreement>** 325 - 326 -**</str:ConstraintAttachment>** 327 - 328 -**<str:CubeRegion include="true">** 329 - 330 -**<com:KeyValue id="GEO" include="true">** 331 - 332 -**<com:Value cascadeValues="true">IT</com:Value>** 333 - 334 -**</com:KeyValue>** 335 - 336 -**</str:CubeRegion>** 337 - 338 -**</str:DataConstraint** 339 - 340 340 ==== 10.3.4.2 Combination of Constraints ==== 341 341 342 342 The possible combination of constraining terms are explained in this section, following a few examples. ... ... @@ -343,57 +343,39 @@ 343 343 344 344 Let’s assume a DSD with the following Components: 345 345 346 -|Dimension|FREQ 347 -|Dimension|JD_TYPE 348 -|Dimension|JD_CATEGORY 349 -|Dimension|VIS_CTY 350 -|TimeDimension|TIME_PERIOD 351 -|Attribute|OBS_STATUS 352 -|Attribute|UNIT 353 -|Attribute|COMMENT 354 -|MetadataAttribute|CONTACT 355 -|Measure|MULTISELECT 356 -|Measure|CHOICE 236 +[[image:1747387057775-838.png]] 357 357 238 +[[image:1747387089210-741.png]] 239 + 358 358 On the above, let’s assume the following use cases with their constraining requirements: 359 359 360 360 ===== 10.3.4.2.1 Use Case 1: A Constraint on allowed values for some Dimensions ===== 361 361 362 362 R1: Allow monthly and quarterly data 363 - 364 364 R2: Allow Mexico for vis-à-vis country 365 365 366 366 This is expressed with the following CubeRegion: 367 367 368 -|FREQ|M, Q 369 -|VIS_CTY|MX 249 +[[image:1747387154981-708.png]] 370 370 371 371 ===== 10.3.4.2.2 Use Case 2: A Constraint on allowed combinations for some Dimensions ===== 372 372 373 373 R1: Allow monthly data for Germany 374 - 375 375 R2: Allow quarterly data for Mexico 376 376 377 377 This is expressed with the following DataKeySet: 378 378 379 -|(% rowspan="2" %)Key1|FREQ|M 380 -|VIS_CTY|DE 381 -|(% rowspan="2" %)Key2|FREQ|Q 382 -|VIS_CTY|MX 258 +[[image:1747387188821-467.png]] 383 383 384 -===== 10.3.4.2.3 Use Case 3: A Constraint on allowed values for some Dimensions combined with allowed values for some Attributes =====260 +===== 0.3.4.2.3 Use Case 3: A Constraint on allowed values for some Dimensions combined with allowed values for some Attributes ===== 385 385 386 386 R1: Allow monthly and quarterly data 387 - 388 388 R2: Allow Mexico for vis-à-vis country 389 - 390 390 R3: Allow present for status 391 391 392 392 This may be expressed with the following CubeRegion: 393 393 394 -|FREQ|M, Q 395 -|VIS_CTY|MX 396 -|OBS_STATUS|A 268 +[[image:1747387231598-634.png]] 397 397 398 398 ===== 10.3.4.2.4 Use Case 4: A Constraint on allowed combinations for some ===== 399 399 ... ... @@ -400,32 +400,22 @@ 400 400 //**Dimensions combined with specific Attribute values**// 401 401 402 402 R1: Allow monthly data, for Germany, with unit euro 403 - 404 404 R2: Allow quarterly data, for Mexico, with unit usd 405 405 406 406 This is may be expressed with the following DataKeySet: 407 407 408 -|(% rowspan="3" style="width:87px" %)Key1|(% style="width:1327px" %)FREQ|M 409 -|(% style="width:1327px" %)VIS_CTY|DE 410 -|(% style="width:1327px" %)UNIT|EUR 411 -|(% rowspan="3" style="width:87px" %)Key2|(% style="width:1327px" %)FREQ|Q 412 -|(% style="width:1327px" %)VIS_CTY|MX 413 -|(% style="width:1327px" %)UNIT|USD 279 +[[image:1747387252077-954.png]] 414 414 281 +[[image:1747387281625-859.png]] 282 + 415 415 ===== 10.3.4.2.5 Use Case 5: A Constraint on allowed values for some Dimensions together with some combination of Dimension values ===== 416 416 417 417 R1: For annually and quarterly data, for Mexico and Germany, only A status is allowed 418 - 419 419 R2: For monthly data, for Mexico and Germany, only F status is allowed 420 420 421 421 Considering the above examples, the following CubeRegions would be created: 422 422 423 -|(% rowspan="3" %)CubeRegion1|FREQ|Q, A 424 -|VIS_CTY|MX, DE 425 -|OBS_STATUS|A 426 -|(% rowspan="3" %)CubeRegion2|FREQ|M 427 -|VIS_CTY|MX, DE 428 -|OBS_STATUS|F 290 +[[image:1747387330751-405.png]] 429 429 430 430 The problem with this approach is that according to the business rule for Constraints, only one should be specified per Component. Thus, if a software would perform some conflict resolution would end up with empty sets for FREQ and OBS_STATUS (as they do not share any values). 431 431 ... ... @@ -433,37 +433,15 @@ 433 433 434 434 DSD CubeRegion: 435 435 436 -|FREQ|M, Q, A 437 -|VIS_CTY|MX, DE 438 -|OBS_STATUS|A, F 439 - 440 440 Dataflow1 CubeRegion: 441 441 442 -|FREQ|Q, A 443 -|VIS_CTY|MX, DE 444 -|OBS_STATUS|F 445 - 446 446 Dataflow2 CubeRegion: 447 447 448 -|FREQ|M 449 -|VIS_CTY|MX, DE 450 -|OBS_STATUS|A 451 - 452 452 ===== 10.3.4.2.6 Use case 6: A Constraint on allowed values for some Dimensions combined with allowed values for Measures ===== 453 453 454 454 R1: Allow monthly data, for Germany, with unit euro, and measure choice is 'A' 455 - 456 456 R2: Allow quarterly data, for Mexico, with unit usd, and measure choice is 'B' This is may be expressed with the following DataKeySet: 457 457 458 -|(% rowspan="4" %)Key1|FREQ|M 459 -|VIS_CTY|DE 460 -|UNIT|EUR 461 -|CHOICE|A 462 -|(% rowspan="4" %)Key2|FREQ|Q 463 -|VIS_CTY|MX 464 -|UNIT|USD 465 -|CHOICE|B 466 - 467 467 ===== 10.3.4.2.7 Use Case 7: A Constraint with wildcards for Codes and removePrefix property ===== 468 468 469 469 For this example, we assume that the VIS_CTY representation has been prefixed with prefix ‘AREA_’. In this Constraint, we need to remove the prefix.
- 1747386911707-332.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.helena - Size
-
... ... @@ -1,0 +1,1 @@ 1 +47.1 KB - Content
- 1747386933952-158.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.helena - Size
-
... ... @@ -1,0 +1,1 @@ 1 +35.3 KB - Content
- 1747386970127-658.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.helena - Size
-
... ... @@ -1,0 +1,1 @@ 1 +59.4 KB - Content
- 1747386991329-805.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.helena - Size
-
... ... @@ -1,0 +1,1 @@ 1 +56.5 KB - Content
- 1747387057775-838.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.helena - Size
-
... ... @@ -1,0 +1,1 @@ 1 +13.1 KB - Content
- 1747387089210-741.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.helena - Size
-
... ... @@ -1,0 +1,1 @@ 1 +8.3 KB - Content
- 1747387135817-339.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.helena - Size
-
... ... @@ -1,0 +1,1 @@ 1 +3.8 KB - Content
- 1747387154981-708.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.helena - Size
-
... ... @@ -1,0 +1,1 @@ 1 +3.8 KB - Content
- 1747387188821-467.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.helena - Size
-
... ... @@ -1,0 +1,1 @@ 1 +8.2 KB - Content
- 1747387231598-634.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.helena - Size
-
... ... @@ -1,0 +1,1 @@ 1 +6.2 KB - Content
- 1747387252077-954.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.helena - Size
-
... ... @@ -1,0 +1,1 @@ 1 +5.1 KB - Content
- 1747387281625-859.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.helena - Size
-
... ... @@ -1,0 +1,1 @@ 1 +6.0 KB - Content
- 1747387330751-405.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.helena - Size
-
... ... @@ -1,0 +1,1 @@ 1 +15.8 KB - Content