Changes for page 10 Constraints
Last modified by Artur on 2025/09/10 11:19
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 5 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -237,9 +237,11 @@ 237 237 238 238 In the DSD, common code lists are used and the requirement is to restrict these at various levels to specify the actual code that are valid for the object to which the Constraint is attached. 239 239 240 +[[image:1750065279010-260.png]] 240 240 241 241 **Figure 20: Example Scenario for Constraints **Constraints are declared as follows: 242 242 244 +[[image:1750065319060-899.png]] 243 243 244 244 **Figure 21: Example Constraints** 245 245 ... ... @@ -280,10 +280,16 @@ 280 280 281 281 DSD Constraint 282 282 285 +[[image:1750065367824-357.png]] 286 + 283 283 Dataflow Constraints 284 284 289 +[[image:1750065392163-400.png]] 290 + 285 285 Provision Agreement Constraint 286 286 293 +[[image:1750065461589-995.png]] 294 + 287 287 **10.4.7.2 Combination of Constraints** 288 288 289 289 The possible combination of constraining terms are explained in this section, following a few examples. ... ... @@ -290,17 +290,18 @@ 290 290 291 291 Let’s assume a DSD with the following Components: 292 292 293 -|Dimension|FREQ 294 -|Dimension|JD_TYPE 295 -|Dimension|JD_CATEGORY 296 -|Dimension|VIS_CTY 297 -|TimeDimension|TIME_PERIOD 298 -|Attribute|OBS_STATUS 299 -|Attribute|UNIT 300 -|Attribute|COMMENT 301 -|MetadataAttribute|CONTACT 302 -|Measure|MULTISELECT 303 -|Measure|CHOICE 301 +(% style="width:459.294px" %) 302 +|(% style="width:204px" %)(% style="color:#3498db" %)Dimension|(% style="width:252px" %)(% style="color:#3498db" %)FREQ 303 +|(% style="width:204px" %)(% style="color:#3498db" %)Dimension|(% style="width:252px" %)(% style="color:#3498db" %)JD_TYPE 304 +|(% style="width:204px" %)(% style="color:#3498db" %)Dimension|(% style="width:252px" %)(% style="color:#3498db" %)JD_CATEGORY 305 +|(% style="width:204px" %)(% style="color:#3498db" %)Dimension|(% style="width:252px" %)(% style="color:#3498db" %)VIS_CTY 306 +|(% style="width:204px" %)(% style="color:#2980b9" %)TimeDimension|(% style="width:252px" %)(% style="color:#2980b9" %)TIME_PERIOD 307 +|(% style="width:204px" %)(% style="color:#16a085" %)Attribute|(% style="width:252px" %)(% style="color:#16a085" %)OBS_STATUS 308 +|(% style="width:204px" %)(% style="color:#16a085" %)Attribute|(% style="width:252px" %)(% style="color:#16a085" %)UNIT 309 +|(% style="width:204px" %)(% style="color:#16a085" %)Attribute|(% style="width:252px" %)(% style="color:#16a085" %)COMMENT 310 +|(% style="width:204px" %)(% style="color:#f39c12" %)MetadataAttribute|(% style="width:252px" %)(% style="color:#f39c12" %)CONTACT 311 +|(% style="width:204px" %)(% style="color:#e74c3c" %)Measure|(% style="width:252px" %)(% style="color:#e74c3c" %)MULTISELECT 312 +|(% style="width:204px" %)(% style="color:#e74c3c" %)Measure|(% style="width:252px" %)(% style="color:#e74c3c" %)CHOICE 304 304 305 305 On the above, let’s assume the following use cases with their constraining requirements: 306 306 ... ... @@ -312,8 +312,9 @@ 312 312 313 313 This is expressed with the following CubeRegion: 314 314 315 -|FREQ|M, Q 316 -|VIS_CTY|MX 324 +(% style="width:287.294px" %) 325 +|(% style="width:131px" %)(% style="color:#3498db" %)FREQ|(% style="width:153px" %)(% style="color:#3498db" %)M, Q 326 +|(% style="width:131px" %)(% style="color:#3498db" %)VIS_CTY|(% style="width:153px" %)(% style="color:#3498db" %)MX 317 317 318 318 **Use Case 2: A Constraint on allowed combinations for some Dimensions** 319 319 ... ... @@ -323,10 +323,11 @@ 323 323 324 324 This is expressed with the following DataKeySet: 325 325 326 -|Key1|FREQ|M 327 -| |VIS_CTY|DE 328 -|(% rowspan="2" %)Key2|FREQ|Q 329 -|VIS_CTY|MX 336 +(% style="width:388.294px" %) 337 +|(% style="width:105px" %)(% style="color:#2980b9" %)Key1|(% style="width:137px" %)(% style="color:#2980b9" %)FREQ|(% style="width:143px" %)(% style="color:#2980b9" %)M 338 +|(% style="width:105px" %) |(% style="width:137px" %)(% style="color:#2980b9" %)VIS_CTY|(% style="width:143px" %)(% style="color:#2980b9" %)DE 339 +|(% rowspan="2" style="width:105px" %)(% style="color:#2980b9" %)Key2|(% style="width:137px" %)(% style="color:#2980b9" %)FREQ|(% style="width:143px" %)(% style="color:#2980b9" %)Q 340 +|(% style="width:137px" %)(% style="color:#2980b9" %)VIS_CTY|(% style="width:143px" %)(% style="color:#2980b9" %)MX 330 330 331 331 **Use Case 3: A Constraint on allowed values for some Dimensions combined with allowed values for some Attributes** R1: Allow monthly and quarterly data 332 332 ... ... @@ -336,9 +336,10 @@ 336 336 337 337 This may be expressed with the following CubeRegion: 338 338 339 -|FREQ|M, Q 340 -|VIS_CTY|MX 341 -|OBS_STATUS|A 350 +(% style="width:285.294px" %) 351 +|(% style="width:143px" %)(% style="color:#2980b9" %)FREQ|(% style="width:139px" %)(% style="color:#2980b9" %)M, Q 352 +|(% style="width:143px" %)(% style="color:#2980b9" %)VIS_CTY|(% style="width:139px" %)(% style="color:#2980b9" %)MX 353 +|(% style="width:143px" %)(% style="color:#27ae60" %)OBS_STATUS|(% style="width:139px" %)(% style="color:#27ae60" %)A 342 342 343 343 **Use Case 4: A Constraint on allowed combinations for some Dimensions combined with specific Attribute values** 344 344 ... ... @@ -348,12 +348,13 @@ 348 348 349 349 This may be expressed with the following DataKeySet: 350 350 351 -|(% rowspan="3" %)Key1|FREQ|M 352 -|VIS_CTY|DE 353 -|UNIT|EUR 354 -|(% rowspan="3" %)Key2|FREQ|Q 355 -|VIS_CTY|MX 356 -|UNIT|USD 363 +(% style="width:389.294px" %) 364 +|(% rowspan="3" style="width:89px" %)(% style="color:#2980b9" %)Key1|(% style="width:153px" %)(% style="color:#2980b9" %)FREQ|(% style="width:142px" %)(% style="color:#2980b9" %)M 365 +|(% style="width:153px" %)(% style="color:#2980b9" %)VIS_CTY|(% style="width:142px" %)(% style="color:#2980b9" %)DE 366 +|(% style="width:153px" %)(% style="color:#27ae60" %)UNIT|(% style="width:142px" %)(% style="color:#27ae60" %)EUR 367 +|(% rowspan="3" style="width:89px" %)(% style="color:#2980b9" %)Key2|(% style="width:153px" %)(% style="color:#2980b9" %)FREQ|(% style="width:142px" %)(% style="color:#2980b9" %)Q 368 +|(% style="width:153px" %)(% style="color:#2980b9" %)VIS_CTY|(% style="width:142px" %)(% style="color:#2980b9" %)MX 369 +|(% style="width:153px" %)(% style="color:#27ae60" %)UNIT|(% style="width:142px" %)(% style="color:#27ae60" %)USD 357 357 358 358 **Use Case 5: A Constraint on allowed values for some Dimensions together with some combination of Dimension values** 359 359 ... ... @@ -363,12 +363,13 @@ 363 363 364 364 Considering the above examples, the following CubeRegions would be created: 365 365 366 -|(% rowspan="3" %)CubeRegion1|FREQ|Q, A 367 -|VIS_CTY|MX, DE 368 -|OBS_STATUS|A 369 -|(% rowspan="3" %)CubeRegion2|FREQ|M 370 -|VIS_CTY|MX, DE 371 -|OBS_STATUS|F 379 +(% style="width:449.294px" %) 380 +|(% rowspan="3" style="width:126px" %)(% style="color:#2980b9" %)CubeRegion1|(% style="width:137px" %)(% style="color:#2980b9" %)FREQ|(% style="width:183px" %)(% style="color:#2980b9" %)Q, A 381 +|(% style="width:137px" %)(% style="color:#2980b9" %)VIS_CTY|(% style="width:183px" %)(% style="color:#2980b9" %)MX, DE 382 +|(% style="width:137px" %)(% style="color:#27ae60" %)OBS_STATUS|(% style="width:183px" %)(% style="color:#27ae60" %)A 383 +|(% rowspan="3" style="width:126px" %)(% style="color:#2980b9" %)CubeRegion2|(% style="width:137px" %)(% style="color:#2980b9" %)FREQ|(% style="width:183px" %)(% style="color:#2980b9" %)M 384 +|(% style="width:137px" %)(% style="color:#2980b9" %)VIS_CTY|(% style="width:183px" %)(% style="color:#2980b9" %)MX, DE 385 +|(% style="width:137px" %)(% style="color:#27ae60" %)OBS_STATUS|(% style="width:183px" %)(% style="color:#27ae60" %)F 372 372 373 373 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). 374 374 ... ... @@ -376,21 +376,24 @@ 376 376 377 377 DSD CubeRegion: 378 378 379 -|FREQ|M, Q, A 380 -|VIS_CTY|MX, DE 381 -|OBS_STATUS|A, F 393 +(% style="width:280.294px" %) 394 +|(% style="width:156px" %)(% style="color:#2980b9" %)FREQ|(% style="width:121px" %)(% style="color:#2980b9" %)M, Q, A 395 +|(% style="width:156px" %)(% style="color:#2980b9" %)VIS_CTY|(% style="width:121px" %)(% style="color:#2980b9" %)MX, DE 396 +|(% style="width:156px" %)(% style="color:#27ae60" %)OBS_STATUS|(% style="width:121px" %)(% style="color:#27ae60" %)A, F 382 382 383 383 Dataflow1 CubeRegion: 384 384 385 -|FREQ|Q, A 386 -|VIS_CTY|MX, DE 387 -|OBS_STATUS|F 400 +(% style="width:285.294px" %) 401 +|(% style="width:157px" %)(% style="color:#2980b9" %)FREQ|(% style="width:125px" %)(% style="color:#2980b9" %)Q, A 402 +|(% style="width:157px" %)(% style="color:#2980b9" %)VIS_CTY|(% style="width:125px" %)(% style="color:#2980b9" %)MX, DE 403 +|(% style="width:157px" %)(% style="color:#27ae60" %)OBS_STATUS|(% style="width:125px" %)(% style="color:#27ae60" %)F 388 388 389 389 Dataflow2 CubeRegion: 390 390 391 -|FREQ|M 392 -|VIS_CTY|MX, DE 393 -|OBS_STATUS|A 407 +(% style="width:288.294px" %) 408 +|(% style="width:159px" %)(% style="color:#2980b9" %)FREQ|(% style="width:126px" %)(% style="color:#2980b9" %)M 409 +|(% style="width:159px" %)(% style="color:#2980b9" %)VIS_CTY|(% style="width:126px" %)(% style="color:#2980b9" %)MX, DE 410 +|(% style="width:159px" %)(% style="color:#27ae60" %)OBS_STATUS|(% style="width:126px" %)(% style="color:#27ae60" %)A 394 394 395 395 **Use case 6: A Constraint on allowed values for some Dimensions combined with allowed values for Measures** 396 396 ... ... @@ -398,14 +398,15 @@ 398 398 399 399 This may be expressed with the following DataKeySet: 400 400 401 -|(% rowspan="4" %)Key1|FREQ|M 402 -|VIS_CTY|DE 403 -|UNIT|EUR 404 -|CHOICE|A 405 -|(% rowspan="4" %)Key2|FREQ|Q 406 -|VIS_CTY|MX 407 -|UNIT|USD 408 -|CHOICE|B 418 +(% style="width:404.294px" %) 419 +|(% rowspan="4" style="width:99px" %)(% style="color:#2980b9" %)Key1|(% style="width:153px" %)(% style="color:#2980b9" %)FREQ|(% style="width:149px" %)(% style="color:#2980b9" %)M 420 +|(% style="width:153px" %)(% style="color:#2980b9" %)VIS_CTY|(% style="width:149px" %)(% style="color:#2980b9" %)DE 421 +|(% style="width:153px" %)(% style="color:#27ae60" %)UNIT|(% style="width:149px" %)(% style="color:#27ae60" %)EUR 422 +|(% style="width:153px" %)(% style="color:#e74c3c" %)CHOICE|(% style="width:149px" %)(% style="color:#e74c3c" %)A 423 +|(% rowspan="4" style="width:99px" %)(% style="color:#2980b9" %)Key2|(% style="width:153px" %)(% style="color:#2980b9" %)FREQ|(% style="width:149px" %)(% style="color:#2980b9" %)Q 424 +|(% style="width:153px" %)(% style="color:#2980b9" %)VIS_CTY|(% style="width:149px" %)(% style="color:#2980b9" %)MX 425 +|(% style="width:153px" %)(% style="color:#27ae60" %)UNIT|(% style="width:149px" %)(% style="color:#27ae60" %)USD 426 +|(% style="width:153px" %)(% style="color:#e74c3c" %)CHOICE|(% style="width:149px" %)(% style="color:#e74c3c" %)B 409 409 410 410 **Use Case 7: A Constraint with wildcards for Codes and removePrefix property** 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. 411 411
- 1750065279010-260.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +xwiki:XWiki.helena - Size
-
... ... @@ -1,0 +1,1 @@ 1 +60.3 KB - Content
- 1750065319060-899.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +xwiki:XWiki.helena - Size
-
... ... @@ -1,0 +1,1 @@ 1 +91.0 KB - Content
- 1750065367824-357.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +xwiki:XWiki.helena - Size
-
... ... @@ -1,0 +1,1 @@ 1 +51.4 KB - Content
- 1750065392163-400.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +xwiki:XWiki.helena - Size
-
... ... @@ -1,0 +1,1 @@ 1 +104.8 KB - Content
- 1750065461589-995.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +xwiki:XWiki.helena - Size
-
... ... @@ -1,0 +1,1 @@ 1 +43.9 KB - Content