Using Telerik Report Designer with XML Datasource

9 posts, 0 answers
  1. Rishee
    Rishee avatar
    1 posts
    Member since:
    Jun 2013

    Posted 06 Jun 2013 Link to this post

    Hello,

    I have found lots of documentation on binding an XML datasource to a report when working in Visual Studio, but it is unclear how to use an XML datasource when using the standalone designer.  I believe I am supposed to use the Object Data Source type, but when I select this, there are no available data source types listed.

    Thanks.
  2. Umadhav
    Umadhav avatar
    1 posts
    Member since:
    Jun 2013

    Posted 06 Jun 2013 Link to this post

    I have posted the same question yesterday. 
    Need to make a decision if Telerik fits our needs. 

    Thanks
    Umadhav.
  3. DevCraft banner
  4. Peter
    Admin
    Peter avatar
    1611 posts

    Posted 10 Jun 2013 Link to this post

    Hi Rishee,

    In Telerik Report Designer you can utilize ObjectDataSource components as elaborated in the Extending Report Designer help article.

    Regards,
    Peter
    Telerik

    Have you tried the new visualization options in Telerik Reporting Q1 2013? You can get them from your account.

  5. Jared
    Jared avatar
    1 posts
    Member since:
    Jul 2013

    Posted 06 Aug 2013 Link to this post

    Peter,

    I'm afraid the Extending Report Designer topic you refer to in your answer doesn't help me.

    Internally we use Crystal to design reports, and we have clients who also use it. We simply export an XML dataset (NOT strongly typed), connect to it from the Crystal designer, and design the report against it. Then, when the report is run from inside our application, our code on-the-fly supplies the Crystal template with the DataSet to use -- the same structure used to design the report -- and the report is generated.

    We are looking to switch to Telerik, but I fail to see in your standalone report designer the ability to do this or anything like it. We need to be able to use an untyped XML dataset file (XSD is embedded) as the datasource in design mode using the standalone designer, and then at runtime associate a dataset with the same structure.

    How is this done?

    Here is example XML data set (wasn't able to attach):

    <NewDataSet>
      <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
        <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
          <xs:complexType>
            <xs:choice minOccurs="0" maxOccurs="unbounded">
              <xs:element name="Performance">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="rundate" type="xs:dateTime" minOccurs="0" />
                    <xs:element name="acct_num" type="xs:string" minOccurs="0" />
                    <xs:element name="stdate" type="xs:dateTime" minOccurs="0" />
                    <xs:element name="norder" type="xs:int" minOccurs="0" />
                    <xs:element name="acname" type="xs:string" minOccurs="0" />
                    <xs:element name="retm" type="xs:decimal" minOccurs="0" />
                    <xs:element name="retm1" type="xs:decimal" minOccurs="0" />
                    <xs:element name="retm2" type="xs:decimal" minOccurs="0" />
                    <xs:element name="ret3m" type="xs:decimal" minOccurs="0" />
                    <xs:element name="retytd" type="xs:decimal" minOccurs="0" />
                    <xs:element name="reti" type="xs:decimal" minOccurs="0" />
                    <xs:element name="retq0" type="xs:decimal" minOccurs="0" />
                    <xs:element name="retq1" type="xs:decimal" minOccurs="0" />
                    <xs:element name="retq2" type="xs:decimal" minOccurs="0" />
                    <xs:element name="retq3" type="xs:decimal" minOccurs="0" />
                    <xs:element name="ret1" type="xs:decimal" minOccurs="0" />
                    <xs:element name="ret2" type="xs:decimal" minOccurs="0" />
                    <xs:element name="ret3" type="xs:decimal" minOccurs="0" />
                    <xs:element name="ret4" type="xs:decimal" minOccurs="0" />
                    <xs:element name="ret5" type="xs:decimal" minOccurs="0" />
                    <xs:element name="ret7" type="xs:decimal" minOccurs="0" />
                    <xs:element name="ret10" type="xs:decimal" minOccurs="0" />
                    <xs:element name="cy1" type="xs:decimal" minOccurs="0" />
                    <xs:element name="cy2" type="xs:decimal" minOccurs="0" />
                    <xs:element name="cy3" type="xs:decimal" minOccurs="0" />
                    <xs:element name="cy4" type="xs:decimal" minOccurs="0" />
                    <xs:element name="lcqtr1" type="xs:string" minOccurs="0" />
                    <xs:element name="lcqtr2" type="xs:string" minOccurs="0" />
                    <xs:element name="lcqtr3" type="xs:string" minOccurs="0" />
                    <xs:element name="lcqtr4" type="xs:string" minOccurs="0" />
                    <xs:element name="mtd" type="xs:decimal" minOccurs="0" />
                    <xs:element name="ytd" type="xs:decimal" minOccurs="0" />
                    <xs:element name="year1" type="xs:decimal" minOccurs="0" />
                    <xs:element name="year3" type="xs:decimal" minOccurs="0" />
                    <xs:element name="year5" type="xs:decimal" minOccurs="0" />
                    <xs:element name="rolling1yr" type="xs:decimal" minOccurs="0" />
                    <xs:element name="rolling2yr" type="xs:decimal" minOccurs="0" />
                    <xs:element name="rolling3yr" type="xs:decimal" minOccurs="0" />
                    <xs:element name="rolling5yr" type="xs:decimal" minOccurs="0" />
                    <xs:element name="footnote" type="xs:string" minOccurs="0" />
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="PerfGraphData">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="label" type="xs:string" minOccurs="0" />
                    <xs:element name="portfolio" type="xs:decimal" minOccurs="0" />
                    <xs:element name="index" type="xs:decimal" minOccurs="0" />
                    <xs:element name="pfoname" type="xs:string" minOccurs="0" />
                    <xs:element name="idxname" type="xs:string" minOccurs="0" />
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:choice>
          </xs:complexType>
        </xs:element>
      </xs:schema>
      <Performance>
        <rundate>2010-10-31T00:00:00-06:00</rundate>
        <acct_num>SAMPLE</acct_num>
        <stdate>1995-10-01T00:00:00-06:00</stdate>
        <norder>60</norder>
        <acname>Sample Client Portfolio</acname>
        <retm>0.5900</retm>
        <retm1>0.1700</retm1>
        <retm2>1.3800</retm2>
        <ret3m>2.1600</ret3m>
        <retytd>9.2400</retytd>
        <reti>6.8500</reti>
        <retq0>2.8500</retq0>
        <retq1>3.9800</retq1>
        <retq2>1.5400</retq2>
        <retq3>1.0000</retq3>
        <ret1>9.5200</ret1>
        <ret2>13.5800</ret2>
        <ret3>7.4300</ret3>
        <ret4>7.1200</ret4>
        <ret5>6.8400</ret5>
        <ret7>6.2100</ret7>
        <ret10>6.9600</ret10>
        <cy1>12.8500</cy1>
        <cy2>-0.8000</cy2>
        <cy3>7.0500</cy3>
        <cy4>4.8900</cy4>
        <lcqtr1>Q3 10</lcqtr1>
        <lcqtr2>Q2 10</lcqtr2>
        <lcqtr3>Q1 10</lcqtr3>
        <lcqtr4>Q4 09</lcqtr4>
        <mtd>0.5900</mtd>
        <ytd>9.2400</ytd>
        <year1>9.5200</year1>
        <year3>7.4300</year3>
        <year5>6.8400</year5>
        <rolling1yr>9.5200</rolling1yr>
        <rolling2yr>13.5800</rolling2yr>
        <rolling3yr>7.4300</rolling3yr>
        <rolling5yr>6.8400</rolling5yr>
        <footnote />
      </Performance>
      <Performance>
        <rundate>2010-10-31T00:00:00-06:00</rundate>
        <acct_num>SAMPLE</acct_num>
        <stdate>2000-01-01T00:00:00-07:00</stdate>
        <norder>62</norder>
        <acname>Barclays Aggregate Bond Index</acname>
        <retm>0.3600</retm>
        <retm1>0.1100</retm1>
        <retm2>1.2900</retm2>
        <ret3m>1.7600</ret3m>
        <retytd>8.3300</retytd>
        <reti>6.4200</reti>
        <retq0>2.4800</retq0>
        <retq1>3.4900</retq1>
        <retq2>1.7800</retq2>
        <retq3>0.2000</retq3>
        <ret1>8.0100</ret1>
        <ret2>10.8600</ret2>
        <ret3>7.2300</ret3>
        <ret4>6.7600</ret4>
        <ret5>6.4500</ret5>
        <ret7>5.5400</ret7>
        <ret10>6.3800</ret10>
        <cy1>5.9300</cy1>
        <cy2>5.2400</cy2>
        <cy3>6.9700</cy3>
        <cy4>4.3300</cy4>
        <lcqtr1>Q3 10</lcqtr1>
        <lcqtr2>Q2 10</lcqtr2>
        <lcqtr3>Q1 10</lcqtr3>
        <lcqtr4>Q4 09</lcqtr4>
        <mtd>0.3600</mtd>
        <ytd>8.3300</ytd>
        <year1>8.0100</year1>
        <year3>7.2300</year3>
        <year5>6.4500</year5>
        <rolling1yr>8.0100</rolling1yr>
        <rolling2yr>10.8600</rolling2yr>
        <rolling3yr>7.2300</rolling3yr>
        <rolling5yr>6.4500</rolling5yr>
        <footnote />
      </Performance>
      <PerfGraphData>
        <label>MTD</label>
        <portfolio>0.5900</portfolio>
        <index>0.3600</index>
        <pfoname>Sample Client Portfolio</pfoname>
        <idxname>Barclays Aggregate Bond Index</idxname>
      </PerfGraphData>
      <PerfGraphData>
        <label>YTD</label>
        <portfolio>9.2400</portfolio>
        <index>8.3300</index>
        <pfoname>Sample Client Portfolio</pfoname>
        <idxname>Barclays Aggregate Bond Index</idxname>
      </PerfGraphData>
      <PerfGraphData>
        <label>ROLLING 3YR</label>
        <portfolio>7.4300</portfolio>
        <index>7.2300</index>
        <pfoname>Sample Client Portfolio</pfoname>
        <idxname>Barclays Aggregate Bond Index</idxname>
      </PerfGraphData>
      <PerfGraphData>
        <label>ROLLING 5YR</label>
        <portfolio>6.8400</portfolio>
        <index>6.4500</index>
        <pfoname>Sample Client Portfolio</pfoname>
        <idxname>Barclays Aggregate Bond Index</idxname>
      </PerfGraphData>
      <PerfGraphData>
        <label>INCEPTION TO DATE</label>
        <portfolio>6.8500</portfolio>
        <index>6.4200</index>
        <pfoname>Sample Client Portfolio</pfoname>
        <idxname>Barclays Aggregate Bond Index</idxname>
      </PerfGraphData>
    </NewDataSet>
  6. Stef
    Admin
    Stef avatar
    3053 posts

    Posted 09 Aug 2013 Link to this post

    Hello Jared,

    In your support ticket on the same question you have verified that you have created a custom assembly where you load the XSD into a DataSet object and have successfully configured the Standalone Designer to use this assembly. For anyone concerned more details about the needed settings can be found in the following KB article: How to use external assemblies with custom CLR objects in the Report Designer.

    Regards,
    Stef
    Telerik

    Have you tried the new visualization options in Telerik Reporting Q2 2013? You can get them from your account.

  7. Eugenio
    Eugenio avatar
    2 posts
    Member since:
    Jul 2013

    Posted 28 Oct 2013 Link to this post

    Hello !

    I have a similar problem. I want to use a xml file as datasource. Devexpress has a possibility to add a xml as datasource, so you can add the tags to the report. Is there anything like this? I don't want to use visual studio to generate an Assembly. I want to put a xml file in the working directory and choose it directly as datasource. 
  8. Stef
    Admin
    Stef avatar
    3053 posts

    Posted 28 Oct 2013 Link to this post

    Hi Eugenio,

    It is in our plans to extend the collection of existing data sources and provide you with means to directly use XML, CSV, Excel files as data source for your reports. Meanwhile, you will have to read the XML into a DataSet or other custom business object in order to use it in a report.

    Let us know if you have any further questions.

    Regards,
    Stef
    Telerik

    Have you tried the new visualization options in Telerik Reporting Q2 2013? You can get them from your account.

  9. Eugenio
    Eugenio avatar
    2 posts
    Member since:
    Jul 2013

    Posted 29 Oct 2013 Link to this post

    Hello,

    that sounds good. So I transformed my XML into a dataset with the visual studio xsd.exe. But how can I select this dataset for my objectdatasource. If I click on Datasource of my objectdatasource, there is nothing to select and I put the dataset in the working directory. Do I have to change the config file in any way, like with an assembly? The example http://www.telerik.com/help/reporting/object-data-source-how-to-bind-to-data-set.html shows only the way in code behind.
  10. Stef
    Admin
    Stef avatar
    3053 posts

    Posted 31 Oct 2013 Link to this post

    Hi Eugenio,

    Until we add the mentioned data source options, there is no direct way to access the XML from the Standalone Designer or use it with the Visual Studio Designer. You need to load the data into a DataSet object for instance, and use that custom object with ObjectDataSource component. When you use the Standalone Designer the code reading the XML should be placed in an external assembly, linked into the Standalone Designer configuration file as explained in the: Extending Report Designer help article.

    For more details take a look at the How to use external assemblies with custom CLR objects in the Report Designer KB article.

    Regards,
    Stef
    Telerik

    Have you tried the new visualization options in Telerik Reporting Q2 2013? You can get them from your account.

Back to Top
DevCraft banner