← Back to team overview

dhis2-users team mailing list archive

Re: looking for some examples on the use of multidimensional dataelements

 

Hi Abyot,

My case is that you may not always have 'age <5' as dimention instance. It
is linked to certain data elements, not to all. From here category cannot
be a dimention by itself. You cannot select 'age <5' and match it with some
other dimentions, like time and period, it will not give you any meaning,
but as part of data element it has some meaning. What you are presenting is
two dimentional presentation of the same dimention. This twodimentionality
within single dimention leads to composite primary key in datavalue table
and violates data warehouse design rules. All dimentions should have valid
value all the time, levels have validity within dimention they are linked
to. In your multidimentionality 'Hospital beds (age <5)' will give wrong
value, even meaning will be obsured.

regards,
murod


On Wed, Nov 9, 2011 at 3:15 PM, Abyot Gizaw <abyota@xxxxxxxxx> wrote:

> I am not sure I understood your case Murod. But I don't agree with your
> analysis that we have "more of levels or categories of the same dimention,
> not a multidimentionality." For me there is multidimensionality.
>
> Thank you Ola for the example - that was the sort of example I was looking
> for !
>
>
>
> On Wed, Nov 9, 2011 at 10:50 AM, Murod Latifov <mlatifov@xxxxxxxxx> wrote:
>
>> Hi Jason,
>>
>> Yes, it is obvious that one may need to have more detailed data rather
>> data element itself. This could be achieved on the way I mentioned it
>> earlier. What is important is to store data in its lowest level, in our
>> case categories (atomicity). Look at the following example:
>>
>> DE1, DE1 (0-5 age) - value 5
>> DE1, DE1 (6-27 age) - value 1223
>> DE1, DE1 (28 above age) - value 998
>>
>> or
>>
>> DE1, DE1 (0-5 age, Male) - value 5
>> DE1, DE1 (6-27 age, Male) - value 1223
>> DE1, DE1 (28 above age, Male) - value 998
>> DE1, DE1 (0-5 age, Female) - value 5
>> DE1, DE1 (6-27 age, Female) - value 1223
>> DE1, DE1 (28 above age, Female) - value 998
>>
>> now if we want a general dataelement value we may call select *,
>> sum(value) from fact where dataelement='DE1'
>>
>> or if we wnt groupwise we do select *, sum(value) from fact where
>> dataelement='DE1' group by dataelementcategory
>>
>> Having composite key to represent the same dimention in fact table is
>> violation of data warehouse rules. This granularity or hierarchy of
>> relartions within single dimention should be managed within dimention
>> itself, as levels.
>>
>> regards,
>> murod
>>
>>
>> On Wed, Nov 9, 2011 at 2:01 PM, Jason Pickering <
>> jason.p.pickering@xxxxxxxxx> wrote:
>>
>>> Hi Murod,
>>>
>>> I think your analysis is not entirely correct, or perhaps I am
>>> misunderstanding you.
>>>
>>> The categoryoptioncombo (i.e. Male, <1 ) is in effect a degenerate
>>> dimension which is always bound to the data element and the combination of
>>> dataelementid and categoryoptioncomboid is essentially a composite key for
>>> this dimension.
>>>
>>>  One could also analyze the fact table on this dimension as well, to
>>> pull out all disease instances of Males under 1 year of age, and not only
>>> the data elements/periods/orgunits. In fact, analyzing the data element
>>> dimension alone usually makes little sense, except in the context of
>>> totals.
>>>
>>>
>>> Regards,
>>> Jason
>>>
>>>
>>> On Wed, Nov 9, 2011 at 10:54 AM, Murod Latifov <mlatifov@xxxxxxxxx>wrote:
>>>
>>>> Hi Abyot,
>>>>
>>>> Very interesting, but it seems to me more of levels or categories of
>>>> the same dimention, not a multidimentionality. Combination of data elements
>>>> and categories are instances of the same dimention or levels of hierarchy
>>>> as it comes in data warehouse cube definition. Moreover its representation
>>>> in datavalue table (fact table) with two keys is ambigious. DHIS2 has the
>>>> following dimentions: data elements, periods and organisation units and
>>>> data could be analysed from different angles of these dimentions.
>>>>
>>>> regards,
>>>> murod
>>>>
>>>>
>>>> On Wed, Nov 9, 2011 at 1:12 PM, Abyot Gizaw <abyota@xxxxxxxxx> wrote:
>>>>
>>>>>
>>>>> On Tue, Nov 8, 2011 at 7:00 PM, Jason Pickering <
>>>>> jason.p.pickering@xxxxxxxxx> wrote:
>>>>>
>>>>>> As far as I can see there is no difference other than a visual
>>>>>> element of presentation.
>>>>>>
>>>>>
>>>>> Yes with the example we mentioned there might not be a difference if
>>>>> we are only interested in the value. But I thought the two are different in
>>>>> the sense that those in the row are dataelements and those in the column
>>>>> are optioncombinations. I thought what we choose to be a dataelement and a
>>>>> dimension affects our subsequent data analysis including indicator
>>>>> definition. I remember encountering a case previously, but I couldn't
>>>>> remember it.
>>>>>
>>>>> The current model has no sense of hierarchy, but is merely the
>>>>>> Cartesian product of possible category options.
>>>>>>
>>>>>
>>>>> That is true. Currently we are using only the final product (or the
>>>>> last level in the hierarchy) which is the option combination. But the whole
>>>>> idea with the multidimensional is to kind of slice the aggregate figure
>>>>> from different perspectives and corresponding units. Given a total figure
>>>>> of 100, say for example those who have TB, how many of them are male, how
>>>>> many are female. Out of those who are male, how many of them fall under a
>>>>> particular age category, similarly for those who are female.....
>>>>>
>>>>> But we are not utilizing the full potential of *dimension *and *unit *conceptualization
>>>>> of the multidimensional. We only use the final optioncombination. I always
>>>>> think the possibility of allowing data collection and analysis at any
>>>>> category or option level - not only optioncombination. But a problem I have
>>>>> is, if we allow that it will really be a mess with lots of overlaps !
>>>>>
>>>>>
>>>>>> What you present here seems to me to be completely equivalent in
>>>>>> DHIS2 unless I am misinterpreting the model, which is very possible.
>>>>>>
>>>>>
>>>>>
>>>>>> On Nov 8, 2011 7:17 PM, "Abyot Gizaw" <abyota@xxxxxxxxx> wrote:
>>>>>>
>>>>> Thank you Jason and Kamugunga!
>>>>>>>
>>>>>>> I just wanted to see how the multidimensional is used. Because there
>>>>>>> are some tricky cases where one can design a particular data collection
>>>>>>> form as
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> *D*
>>>>>>>
>>>>>>> *E*
>>>>>>>
>>>>>>> *A*
>>>>>>>
>>>>>>> value
>>>>>>>
>>>>>>> value
>>>>>>>
>>>>>>> *B*
>>>>>>>
>>>>>>> value
>>>>>>>
>>>>>>> value
>>>>>>>
>>>>>>> *C*
>>>>>>>
>>>>>>> Value
>>>>>>>
>>>>>>> value
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> and others as
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> *A*
>>>>>>>
>>>>>>> *B*
>>>>>>>
>>>>>>> *C*
>>>>>>>
>>>>>>> *D*
>>>>>>>
>>>>>>> value
>>>>>>>
>>>>>>> value
>>>>>>>
>>>>>>> value
>>>>>>>
>>>>>>> *E*
>>>>>>>
>>>>>>> value
>>>>>>>
>>>>>>> value
>>>>>>>
>>>>>>> value
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> so what I am interested to know is what are the merits and demerits
>>>>>>> between the two? Is this because the model (I mean the multidimensional
>>>>>>> design) is flexible or confusing one that that kept everything open?
>>>>>>>
>>>>>>> Thank you
>>>>>>> Abyot.
>>>>>>>
>>>>>>>
>>>>>>> On Tue, Nov 8, 2011 at 3:01 PM, Kamugunga Adolphe <kaadol@xxxxxxxxx>wrote:
>>>>>>>
>>>>>>>> Hi
>>>>>>>> Can this help?
>>>>>>>>
>>>>>>>> *Diagnosis*
>>>>>>>>
>>>>>>>> *Under 5 years*
>>>>>>>>
>>>>>>>> *5 yrs and above*
>>>>>>>>
>>>>>>>> M
>>>>>>>>
>>>>>>>> F
>>>>>>>>
>>>>>>>> M
>>>>>>>>
>>>>>>>> F
>>>>>>>>
>>>>>>>>  Diarrhoea with Dehydration
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>  Diarrhoea bloody
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Diarrhoea Chronic
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>  Intestinal parasites
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>  Malaria confirmed simple
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>  Malaria confirmed simple, in pregnancy
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Regards,
>>>>>>>> Adolphe
>>>>>>>>
>>>>>>>>
>>>>>>>> On 8 November 2011 14:38, Jason Pickering <
>>>>>>>> jason.p.pickering@xxxxxxxxx> wrote:
>>>>>>>>
>>>>>>>>> Hi Abyot,
>>>>>>>>> Not sure if I understand your question, but this is a very typical
>>>>>>>>> one for many HIV related data elements.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> *Male*
>>>>>>>>>
>>>>>>>>> *Female*
>>>>>>>>>
>>>>>>>>> *<1*
>>>>>>>>>
>>>>>>>>> value
>>>>>>>>>
>>>>>>>>> value
>>>>>>>>>
>>>>>>>>> *1-15*
>>>>>>>>>
>>>>>>>>> value
>>>>>>>>>
>>>>>>>>> value
>>>>>>>>>
>>>>>>>>> *15+*
>>>>>>>>>
>>>>>>>>> Value
>>>>>>>>>
>>>>>>>>> value
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> However, I am not sure what the difference between this is?
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> *<1*
>>>>>>>>>
>>>>>>>>> *1-15*
>>>>>>>>>
>>>>>>>>> *15+*
>>>>>>>>>
>>>>>>>>> *Male*
>>>>>>>>>
>>>>>>>>> value
>>>>>>>>>
>>>>>>>>> value
>>>>>>>>>
>>>>>>>>> value
>>>>>>>>>
>>>>>>>>> *Female*
>>>>>>>>>
>>>>>>>>> value
>>>>>>>>>
>>>>>>>>> value
>>>>>>>>>
>>>>>>>>> value
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Regards,
>>>>>>>>> Jason
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Tue, Nov 8, 2011 at 11:41 AM, Abyot Gizaw <abyota@xxxxxxxxx>wrote:
>>>>>>>>>
>>>>>>>>>> Hi all,
>>>>>>>>>>
>>>>>>>>>> Can any one provide me an example, possibly from your
>>>>>>>>>> implementation experience, on the use of multidimensional dataelement where
>>>>>>>>>> there exists a possibility of using a "dataelement" as dataelement or
>>>>>>>>>> dimension (option-combination) for example as shown below?
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> *D*
>>>>>>>>>>
>>>>>>>>>> *E*
>>>>>>>>>>
>>>>>>>>>> *A*
>>>>>>>>>>
>>>>>>>>>> value
>>>>>>>>>>
>>>>>>>>>> value
>>>>>>>>>>
>>>>>>>>>> *B*
>>>>>>>>>>
>>>>>>>>>> value
>>>>>>>>>>
>>>>>>>>>> value
>>>>>>>>>>
>>>>>>>>>> *C*
>>>>>>>>>>
>>>>>>>>>> Value
>>>>>>>>>>
>>>>>>>>>> value
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> or
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> *A*
>>>>>>>>>>
>>>>>>>>>> *B*
>>>>>>>>>>
>>>>>>>>>> *C*
>>>>>>>>>>
>>>>>>>>>> *D*
>>>>>>>>>>
>>>>>>>>>> value
>>>>>>>>>>
>>>>>>>>>> value
>>>>>>>>>>
>>>>>>>>>> value
>>>>>>>>>>
>>>>>>>>>> *E*
>>>>>>>>>>
>>>>>>>>>> value
>>>>>>>>>>
>>>>>>>>>> value
>>>>>>>>>>
>>>>>>>>>> value
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Thank you
>>>>>>>>>> Abyot.
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Mailing list: https://launchpad.net/~dhis2-users
>>>>>>>>>> Post to     : dhis2-users@xxxxxxxxxxxxxxxxxxx
>>>>>>>>>> Unsubscribe : https://launchpad.net/~dhis2-users
>>>>>>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Mailing list: https://launchpad.net/~dhis2-users
>>>>>>>>> Post to     : dhis2-users@xxxxxxxxxxxxxxxxxxx
>>>>>>>>> Unsubscribe : https://launchpad.net/~dhis2-users
>>>>>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Mailing list: https://launchpad.net/~dhis2-users
>>>>> Post to     : dhis2-users@xxxxxxxxxxxxxxxxxxx
>>>>> Unsubscribe : https://launchpad.net/~dhis2-users
>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>>
>>>>>
>>>>
>>>
>>
>

References