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,17 +298,18 @@ 298 298 299 299 Let’s assume a DSD with the following Components: 300 300 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 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 312 312 313 313 On the above, let’s assume the following use cases with their constraining requirements: 314 314 ... ... @@ -320,8 +320,9 @@ 320 320 321 321 This is expressed with the following CubeRegion: 322 322 323 -|FREQ|M, Q 324 -|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 325 325 326 326 **Use Case 2: A Constraint on allowed combinations for some Dimensions** 327 327 ... ... @@ -331,10 +331,11 @@ 331 331 332 332 This is expressed with the following DataKeySet: 333 333 334 -|Key1|FREQ|M 335 -| |VIS_CTY|DE 336 -|(% rowspan="2" %)Key2|FREQ|Q 337 -|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 338 338 339 339 **Use Case 3: A Constraint on allowed values for some Dimensions combined with allowed values for some Attributes** R1: Allow monthly and quarterly data 340 340 ... ... @@ -344,9 +344,10 @@ 344 344 345 345 This may be expressed with the following CubeRegion: 346 346 347 -|FREQ|M, Q 348 -|VIS_CTY|MX 349 -|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 350 350 351 351 **Use Case 4: A Constraint on allowed combinations for some Dimensions combined with specific Attribute values** 352 352 ... ... @@ -356,12 +356,13 @@ 356 356 357 357 This may be expressed with the following DataKeySet: 358 358 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 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 365 365 366 366 **Use Case 5: A Constraint on allowed values for some Dimensions together with some combination of Dimension values** 367 367 ... ... @@ -371,12 +371,13 @@ 371 371 372 372 Considering the above examples, the following CubeRegions would be created: 373 373 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 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 380 380 381 381 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). 382 382 ... ... @@ -384,21 +384,24 @@ 384 384 385 385 DSD CubeRegion: 386 386 387 -|FREQ|M, Q, A 388 -|VIS_CTY|MX, DE 389 -|OBS_STATUS|A, F 393 +(% style="width:280.294px" %) 394 +|(% style="width:156px" %)FREQ|(% style="width:121px" %)M, Q, A 395 +|(% style="width:156px" %)VIS_CTY|(% style="width:121px" %)MX, DE 396 +|(% style="width:156px" %)OBS_STATUS|(% style="width:121px" %)A, F 390 390 391 391 Dataflow1 CubeRegion: 392 392 393 -|FREQ|Q, A 394 -|VIS_CTY|MX, DE 395 -|OBS_STATUS|F 400 +(% style="width:285.294px" %) 401 +|(% style="width:157px" %)FREQ|(% style="width:125px" %)Q, A 402 +|(% style="width:157px" %)VIS_CTY|(% style="width:125px" %)MX, DE 403 +|(% style="width:157px" %)OBS_STATUS|(% style="width:125px" %)F 396 396 397 397 Dataflow2 CubeRegion: 398 398 399 -|FREQ|M 400 -|VIS_CTY|MX, DE 401 -|OBS_STATUS|A 407 +(% style="width:288.294px" %) 408 +|(% style="width:159px" %)FREQ|(% style="width:126px" %)M 409 +|(% style="width:159px" %)VIS_CTY|(% style="width:126px" %)MX, DE 410 +|(% style="width:159px" %)OBS_STATUS|(% style="width:126px" %)A 402 402 403 403 **Use case 6: A Constraint on allowed values for some Dimensions combined with allowed values for Measures** 404 404