← Back to team overview

dhis2-devs team mailing list archive

Re: Providing another source table for reports

 

Hi all,
1st
Thank u guys for the help.


2nd
Murod,

Thanks for the samples you sent, they were helpful.

But still, even with the samples you sent to me, when I try to upload and
view the report in DHIS I get "no report design available" error.

Here's the log:

====================================================

* INFO  09:06:38,359 All startup routines done
(DefaultStartupRoutineExecutor.java [Thread-1])
* INFO  09:38:51,875 Upload file name: sample_params.rptdesign, content
type: application/octet-stream (AddReportAction.java [http-8080-1])
* INFO  09:38:51,875 New file: C:\Program Files\Apache Software
Foundation\Tomcat 6.0\webapps\birt-viewer\sample_params.rptdesign
(AddReportAction.java [http-8080-1])
* INFO  09:38:51,890 Report connection URL:
jdbc:mysql://localhost/dhis2_exp?useUnicode=true&characterEncoding=UTF-8
(AddReportAction.java [http-8080-1])
org.eclipse.birt.report.exception.ViewerException: There is no report design
object available.
    at
org.eclipse.birt.report.context.ViewerAttributeBean.__init(ViewerAttributeBean.java:233)
    at
org.eclipse.birt.report.context.BaseAttributeBean.init(BaseAttributeBean.java:233)
    at
org.eclipse.birt.report.context.ViewerAttributeBean.<init>(ViewerAttributeBean.java:116)
    at
org.eclipse.birt.report.context.BirtContext.__init(BirtContext.java:44)
    at
org.eclipse.birt.report.context.BaseContext.<init>(BaseContext.java:69)
    at
org.eclipse.birt.report.context.BirtContext.<init>(BirtContext.java:30)
    at
org.eclipse.birt.report.servlet.ViewerServlet.__getContext(ViewerServlet.java:150)
    at
org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.doGet(BirtSoapMessageDispatcherServlet.java:151)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    at
org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at
org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.service(BirtSoapMessageDispatcherServlet.java:122)
    at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at
org.eclipse.birt.report.filter.ViewerFilter.doFilter(ViewerFilter.java:68)
    at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
    at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
    at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    at java.lang.Thread.run(Unknown Source)


====================================================


 The error disappears if I upLoad the design without choose in BIRT a data
source. But by doing that i got no data displayed.




On Wed, May 13, 2009 at 10:17 PM, Orvalho Joaquim Augusto <
orvaquim@xxxxxxxxx> wrote:

> Hi,
>
> Ola Hodne Titlestad wrote:
>
>> Hi,
>>
>> The main challenge with designing such a report in BIRT is that you need
>> to know which data element the values belong to as the design is not a
>> straight forward table where you could list the data elements row by row.
>>
>>  Yes you are right but that exercise has been done in order to move data
> from the actual non dhis system.
>
>  Normally I would not recommend BIRT at all for this report, but rather
>> design a custom data entry form for this and then use the dataset report
>> option to view the report. That would also give you the possibility of
>> entering data using the same form. Simply set up a dataset with the data
>> elements you need and then design the form using the built in editor in
>> DHIS2.
>>
> Fine.
>
>
>> If you want to use BIRT the easiest way would be to select exactly the
>> data elements you need and then crosstab them so that the columns names
>> would correspond to data element names. It is not very intuitive for a new
>> report designer to use the codes A1-34 as you do with your query and data
>> element shortnames as columns would be much easier. In report tables you can
>> do this by selecting data elements as one of the cross-tabbed dimensions and
>> then select the data elements you need. Since this is a weekly
>> bulletin/report we need to add a reporting week parameter as well as a new
>> relative period called reporting week. That can be done. For now you could
>> test to do the same report by using a static period (one given week) and
>> orgunit with parameter in repor table and then use this table in BIRT.
>>
>>
> The A1-34 are not an accident invetion. The actual System uses that. So we
> are keeping that way. The actual system is the source for data until the
> migration ends. We want use DHIS. So we will not do another entering
> application.
>
> Yeah, we need week as entering parameter. We gonna test the ideias from
> Murodullo. We will come here to tell what happend on the lab explosion :-)
>
> I do not know other way to say Thanks for your support so I say Thanks a
> lot
> Caveman
>
>
>  best regards,
>> Ola Hodne Titlestad
>> HISP
>> University of Oslo
>>
>>
>> On Wed, May 13, 2009 at 4:39 PM, Cintia Marisa <cintia.banze@xxxxxxxxx<mailto:
>> cintia.banze@xxxxxxxxx>> wrote:
>>
>>    Hi,
>>
>>    In attachment one of the reports I need to build, maybe it will help
>>    you guys to understand what i need.
>>
>>    I used the query below to get the data that i needed.
>>
>>
>>    =============================================================
>>
>>    select a.periodid, a.sourceid, b.week, b.YR , b.startdate,
>>    b.enddate, c.name <http://c.name>,
>>
>>     sum(if(dataelementid=691,a.value,0)) as A1,
>>     sum(if(dataelementid=692,a.value,0)) as A2,
>>     sum(if(dataelementid=693,a.value,0)) as A3,
>>     sum(if(dataelementid=694,a.value,0)) as A4,
>>     sum(if(dataelementid=695,a.value,0)) as A5,
>>     sum(if(dataelementid=696,a.value,0)) as A6,
>>     sum(if(dataelementid=697,a.value,0)) as A7,
>>     sum(if(dataelementid=698,a.value,0)) as A8,
>>     sum(if(dataelementid=699,a.value,0)) as A9,
>>     sum(if(dataelementid=700,a.value,0)) as A10,
>>     sum(if(dataelementid=730,a.value,0)) as A11,
>>     sum(if(dataelementid=727,a.value,0)) as A12,
>>     sum(if(dataelementid=728,a.value,0)) as A13,
>>     sum(if(dataelementid=729,a.value,0)) as A14,
>>     sum(if(dataelementid=705,a.value,0)) as A15,
>>     sum(if(dataelementid=706,a.value,0)) as A16,
>>     sum(if(dataelementid=707,a.value,0)) as A17,
>>     sum(if(dataelementid=708,a.value,0)) as A18,
>>     sum(if(dataelementid=709,a.value,0)) as A19,
>>     sum(if(dataelementid=710,a.value,0)) as A20,
>>     sum(if(dataelementid=711,a.value,0)) as A21,
>>     sum(if(dataelementid=712,a.value,0)) as A22,
>>     sum(if(dataelementid=713,a.value,0)) as A23,
>>     sum(if(dataelementid=714,a.value,0)) as A24,
>>     sum(if(dataelementid=715,a.value,0)) as A25,
>>     sum(if(dataelementid=716,a.value,0)) as A26,
>>     sum(if(dataelementid=717,a.value,0)) as A27,
>>     sum(if(dataelementid=718,a.value,0)) as A28,
>>     sum(if(dataelementid=721,a.value,0)) as A29,
>>     sum(if(dataelementid=722,a.value,0)) as A30,
>>     sum(if(dataelementid=731,a.value,0)) as A31,
>>     sum(if(dataelementid=725,a.value,0)) as A32,
>>     sum(if(dataelementid=726,a.value,0)) as A33,
>>     sum(if(dataelementid=732,a.value,0)) as A34
>>     from dhis2_exp.datavalue a
>>           inner join modbas2dhis.period b on a.periodid = b.periodid
>>        --   inner join dhis2_exp.organisationunit c on a.sourceid =
>>    c.organisationunitid
>>           where periodtypeid=7
>>     group by a.periodid, a.sourceid
>>
>>    =============================================================
>>
>>    regards
>>
>>
>>
>>    On Wed, May 13, 2009 at 12:50 PM, Ola Hodne Titlestad
>>    <olati@xxxxxxxxxx <mailto:olati@xxxxxxxxxx>> wrote:
>>
>>        HI Cintia,
>>
>>        I reply to the list so that we can share this discussion with
>>        the rest of the community.
>>        The report table concept has been developed in an evolutionary
>>        way based on various requirements from different countries. We
>>        are happy to further extend it to meet your needs in Mozambique.
>>        I am not sure I understand your problems of periods, and not
>>        sure what you mean by "doesn't seem to keep the keys to link the
>>        data elements, periods and organization units".
>>
>>        If you like you could provide us more info on this, and if
>>        possible a screenshot of your report, and we could try to modify
>>        report tables functionality to meet your needs.
>>
>>
>>        best regards,
>>        Ola Hodne Titlestad
>>        HISP
>>        University of Oslo
>>
>>
>>        On Wed, May 13, 2009 at 12:40 PM, Cintia Marisa
>>        <cintia.banze@xxxxxxxxx <mailto:cintia.banze@xxxxxxxxx>> wrote:
>>
>>            Hi, thanks for the help.
>>
>>            I've already read the articles you sent to me.
>>
>>            I'll try again, then I'll give you guys a feedback.
>>
>>            I choose not use report table, mostly because of the
>>            periods. The problem Orvalho is having( we are  having)
>>    with periods, make it difficult for us to create report tables.
>>
>>            It, takes a long time for the table to be created, and it
>>            doesn't seem to keep the keys to link the data elements,
>>            periods and organization units as I need.
>>
>>            In the reports I'm making i need to have cross tabulated
>>            data with org units, data elements and periods.
>>
>>            I know report tables are mean to make my work easier, but i
>>            can't get them to provide the data the way I need.
>>
>>            Thanks for the support.
>>
>>
>>
>>
>>
>>            On Wed, May 13, 2009 at 11:21 AM, Ola Hodne Titlestad
>>            <olati@xxxxxxxxxx <mailto:olati@xxxxxxxxxx>> wrote:
>>
>>                Hi,
>>
>>                When using standard reports (BIRT reports in DHIS 2) the
>>                only limitation is that you need to use the DHIS 2
>>                database as your source, but within that database you
>>                can create BIRT datasets based on any table or view as
>>                you like. This is simply because DHIS replaces the
>>                database connection string in the BIRT design file when
>>                you upload the report. This is done to make sure that
>>                the data source is available.
>>
>>                Still, I'm wondering why you do not want to use report
>>                tables? Report tables are generic and very flexible and
>>                can provide routine data sources for your reports that
>>                are automatically updated to e.g. the latest month, the
>>                last quarter, acculmulative values so far this year and
>>                more.You can also specify exactly which data elements or
>>                indicators to use. Furthermore, report tables also allow
>>                for report paremeters where you can specify which
>>                orgunit to show data for, or all children below a
>>                selected orgunit, and also which month to use, so that
>>                you can reuse your design for many purposes. Report
>>                tables are small and automatically generated datamarts
>>                that you can use out of the box while other data sources
>>                most liley will need some kind of manual update like an
>>                export to datamart or similar.
>>
>>                You can read more about report tables here:
>>                https://answers.launchpad.net/dhis2/+question/61455
>>                https://answers.launchpad.net/dhis2/+faq/370
>>
>>
>>                What kind of report are you designing and what made you
>>                choose not to use report tables?
>>
>>                best regards,
>>                Ola Hodne Titlestad
>>                HISP
>>                University of Oslo
>>
>>
>>                On Wed, May 13, 2009 at 10:40 AM, Murodullo Latifov
>>                <murodlatifov@xxxxxxxxx <mailto:murodlatifov@xxxxxxxxx>>
>>                wrote:
>>
>>                    Hi Cintia,
>>
>>
>>  ------------------------------------------------------------------------
>>                    *From:* Cintia Marisa <cintia.banze@xxxxxxxxx
>>                    <mailto:cintia.banze@xxxxxxxxx>>
>>                    *To:* dhis2-devs@xxxxxxxxxxxxxxxxxxx
>>                    <mailto:dhis2-devs@xxxxxxxxxxxxxxxxxxx>
>>                    *Sent:* Wednesday, May 13, 2009 9:22:14 AM
>>                    *Subject:* [Dhis2-devs] Providing another source
>>                    table for reports
>>
>>                    Hi all,
>>
>>                    I'm trying to build the reports without using the
>>                    Report Tables tools.
>>
>>                    When i add new report on dhis it gives a chance to
>>                    provide another data source different from the
>>                    report tables (" If selecting no report table, the
>>                    user is responsible for providing the data source
>>                    table. ").
>>
>>                    I just don't know how to tell DHSI that I want to
>>                    use another data source.
>>                    Any help on how to accomplish this?
>>
>>                    Thanks in advance
>>
>>                    --                    Cintia Marisa
>>
>>                    You can use BIRT to include your dataset. Simply
>>                    create dataset under outline->DataSet. Simply choose
>>                    "SQL select query" and make you sql statement on
>>                    next screen, like "select * from yourtable where ..."
>>
>>                    murod
>>
>>
>>
>>
>>                    _______________________________________________
>>                    Mailing list: https://launchpad.net/~dhis2-devs<https://launchpad.net/%7Edhis2-devs>
>>                    <https://launchpad.net/%7Edhis2-devs>
>>                    Post to     : dhis2-devs@xxxxxxxxxxxxxxxxxxx
>>                    <mailto:dhis2-devs@xxxxxxxxxxxxxxxxxxx>
>>                    Unsubscribe : https://launchpad.net/~dhis2-devs<https://launchpad.net/%7Edhis2-devs>
>>                    <https://launchpad.net/%7Edhis2-devs>
>>                    More help   : https://help.launchpad.net/ListHelp
>>
>>
>>
>>                _______________________________________________
>>                Mailing list: https://launchpad.net/~dhis2-devs<https://launchpad.net/%7Edhis2-devs>
>>                <https://launchpad.net/%7Edhis2-devs>
>>                Post to     : dhis2-devs@xxxxxxxxxxxxxxxxxxx
>>                <mailto:dhis2-devs@xxxxxxxxxxxxxxxxxxx>
>>                Unsubscribe : https://launchpad.net/~dhis2-devs<https://launchpad.net/%7Edhis2-devs>
>>                <https://launchpad.net/%7Edhis2-devs>
>>                More help   : https://help.launchpad.net/ListHelp
>>
>>
>>
>>
>>            --            Cintia Marisa
>>
>>
>>
>>
>>
>>    --    Cintia Marisa
>>
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~dhis2-devs<https://launchpad.net/%7Edhis2-devs>
>> Post to     : dhis2-devs@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~dhis2-devs<https://launchpad.net/%7Edhis2-devs>
>> More help   : https://help.launchpad.net/ListHelp
>>
>
>


-- 
Cintia Marisa

Follow ups

References