Changes for page 10 Constraints

Last modified by Artur on 2025/09/10 11:19

From version 1.8
edited by Helena
on 2025/06/16 12:17
Change comment: There is no comment for this version
To version 1.15
edited by Helena
on 2025/06/16 12:22
Change comment: There is no comment for this version

Summary

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