Changes for page 10 Constraints
Last modified by Artur on 2025/09/10 11:19
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -298,18 +298,17 @@ 298 298 299 299 Let’s assume a DSD with the following Components: 300 300 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 301 +|Dimension|FREQ 302 +|Dimension|JD_TYPE 303 +|Dimension|JD_CATEGORY 304 +|Dimension|VIS_CTY 305 +|TimeDimension|TIME_PERIOD 306 +|Attribute|OBS_STATUS 307 +|Attribute|UNIT 308 +|Attribute|COMMENT 309 +|MetadataAttribute|CONTACT 310 +|Measure|MULTISELECT 311 +|Measure|CHOICE 313 313 314 314 On the above, let’s assume the following use cases with their constraining requirements: 315 315 ... ... @@ -321,9 +321,8 @@ 321 321 322 322 This is expressed with the following CubeRegion: 323 323 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 323 +|FREQ|M, Q 324 +|VIS_CTY|MX 327 327 328 328 **Use Case 2: A Constraint on allowed combinations for some Dimensions** 329 329 ... ... @@ -333,11 +333,10 @@ 333 333 334 334 This is expressed with the following DataKeySet: 335 335 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 334 +|Key1|FREQ|M 335 +| |VIS_CTY|DE 336 +|(% rowspan="2" %)Key2|FREQ|Q 337 +|VIS_CTY|MX 341 341 342 342 **Use Case 3: A Constraint on allowed values for some Dimensions combined with allowed values for some Attributes** R1: Allow monthly and quarterly data 343 343 ... ... @@ -347,10 +347,9 @@ 347 347 348 348 This may be expressed with the following CubeRegion: 349 349 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 347 +|FREQ|M, Q 348 +|VIS_CTY|MX 349 +|OBS_STATUS|A 354 354 355 355 **Use Case 4: A Constraint on allowed combinations for some Dimensions combined with specific Attribute values** 356 356 ... ... @@ -360,13 +360,12 @@ 360 360 361 361 This may be expressed with the following DataKeySet: 362 362 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 359 +|(% rowspan="3" %)Key1|FREQ|M 360 +|VIS_CTY|DE 361 +|UNIT|EUR 362 +|(% rowspan="3" %)Key2|FREQ|Q 363 +|VIS_CTY|MX 364 +|UNIT|USD 370 370 371 371 **Use Case 5: A Constraint on allowed values for some Dimensions together with some combination of Dimension values** 372 372 ... ... @@ -376,13 +376,12 @@ 376 376 377 377 Considering the above examples, the following CubeRegions would be created: 378 378 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 374 +|(% rowspan="3" %)CubeRegion1|FREQ|Q, A 375 +|VIS_CTY|MX, DE 376 +|OBS_STATUS|A 377 +|(% rowspan="3" %)CubeRegion2|FREQ|M 378 +|VIS_CTY|MX, DE 379 +|OBS_STATUS|F 386 386 387 387 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). 388 388 ... ... @@ -390,24 +390,21 @@ 390 390 391 391 DSD CubeRegion: 392 392 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 387 +|FREQ|M, Q, A 388 +|VIS_CTY|MX, DE 389 +|OBS_STATUS|A, F 397 397 398 398 Dataflow1 CubeRegion: 399 399 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 393 +|FREQ|Q, A 394 +|VIS_CTY|MX, DE 395 +|OBS_STATUS|F 404 404 405 405 Dataflow2 CubeRegion: 406 406 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 399 +|FREQ|M 400 +|VIS_CTY|MX, DE 401 +|OBS_STATUS|A 411 411 412 412 **Use case 6: A Constraint on allowed values for some Dimensions combined with allowed values for Measures** 413 413