Na raportach prezentowane są dane określane w definicjach raportów jako elementy. Elementy znajdują się w sekcji Elements definicji raportu, zaś poszczególny element opatrzony są sekcją Element według następującego przykładu:
<Element>
…
</Element>
</Elements>
Element raportu może zawierać następujące sekcje:
| Nazwa | Id | 
| Opis | Identyfikator elementu | 
| Zawartość | Wartość liczbowa | 
| Parametry | Brak | 
| Nazwa | HeaderSql | 
| Opis | Wartość tekstowa lub polecenie SQL zwracające wartość wyświetlaną w nazwie elementu na raporcie | 
| Zawartość | Dowolna wartość tekstowa lub polecenie SQL | 
| Parametry | Brak | 
| Nazwa | Type | 
| Opis | Typ elementu | 
| Zawartość | Jedna z poniższych wartości tekstowych: 
 | 
| Parametry | Brak | 
| Nazwa | Sql | 
| Opis | Polecenie SQL zwracające dane wyświetlane w elemencie | 
| Zawartość | Polecenie SQL | 
| Parametry | Brak | 
| Nazwa | IsExecute | 
| Opis | Znacznik decydujący czy polecenie SQL z sekcji Sql ma zostać wykonane | 
| Zawartość | Wartość true, false lub polecenie SQL zwracające jedną z tych wartości | 
| Parametry | Brak | 
| Nazwa | TableHeader | 
| Opis | Nagłówek tabeli. Używane z typem elementu Table. | 
| Zawartość | Jeden element LayoutRow i jeden HeaderRow | 
| Parametry | Brak | 
| Elementy podrzędne | 
 | 
| Nazwa | TableHeader: LayoutRow | 
| Opis | Znacznik wiersza tabeli | 
| Zawartość | Jeden lub więcej element SpaceColumn | 
| Parametry | Brak | 
| Elementy podrzędne | 
 | 
| Nazwa | TableHeader: LayoutRow: SpaceColumn | 
| Opis | Określa szerokość kolumny | 
| Zawartość | Brak | 
| Parametry | 
 | 
<LayoutRow> <SpaceColumn width="10"/> <SpaceColumn width="5"/> <SpaceColumn width="10"/> <SpaceColumn width="5"/> </LayoutRow>
| Nazwa | TableHeader: HeaderRow | 
| Opis | Znacznik nagłówka tabeli | 
| Zawartość | Jeden lub więcej element TextColumn | 
| Parametry | Brak | 
| Elementy podrzędne | 
 | 
| Nazwa | TableHeader: HeaderRow: TextColumn | 
| Opis | Określa nazwę kolumny w tabeli | 
| Zawartość | Dowolna wartość tekstowa | 
| Parametry | 
 | 
<HeaderRow> <TextColumn>Rejon</TextColumn> <TextColumn>Plan</TextColumn> <TextColumn precision="2">Realizacja</TextColumn> <TextColumn precision="2">%</TextColumn> </HeaderRow>
<Element> <Id>31</Id> <Header>Realizacja w podziale na towary</Header> <Type>Table</Type> <Sql> <![CDATA[ DECLARE @OperatorId int SELECT @OperatorId = vad.OperatorId FROM esm.vAuthData vad WHERE LOWER(vad.[Login]) = LOWER(@LoginName) declare @Articles table ( [Acronym] nvarchar(max), [Name] nvarchar(max), [Group] nvarchar(max), [Quantity] numeric(12,4), [Value] numeric(12,2), [Progress] numeric(12,2) ) insert into @Articles([Acronym], [Name], [Group], [Quantity], [Value], [Progress]) exec esm.[Reports_GetSalePlansTable1_pol] @OperatorId, @SalesPlan, 1, @DocumentType select ISNULL([Acronym], '') as [Acronym], ISNULL([Name], '') as [Name], ISNULL([Group], '') as [Group], [Quantity], [Value], [Progress] from @Articles ]]> </Sql> <IsExecute> <![CDATA[ SELECT CASE WHEN @RealizationType = 1 THEN 1 ELSE 0 END ]]> </IsExecute> </Element>
Tak zdefiniowany element w aplikacji wygląda następująco:

| Nazwa | NonGroupingColumns | 
| Opis | Łączy kolumny tabeli z kolumnami tabeli wynikowej polecenia SQL. | 
| Zawartość | Brak | 
| Parametry | Brak | 
| Elementy podrzędne | 
 | 
| Nazwa | TotalSummaryColumns | 
| Opis | Wiersz zawierający podsumowania poszczególnych kolumn na podstawie wcześniejszych wartości | 
| Zawartość | Brak | 
| Parametry | Brak | 
| Elementy podrzędne | 
 | 

Definicja powyższego wiersza podsumowania wygląda następująco:
<TotalSummaryColumns> <TextColumn align="center">Podsumowanie</TextColumn> <TextColumn></TextColumn> <SqlColumn align="center" precision="2">TotalOrdersNetValue</SqlColumn> <SqlColumn align="center" precision="2">TotalOrdersGrossValue</SqlColumn> <SqlColumn align="center">TotalOrdersNumber</SqlColumn> </TotalSummaryColumns>
| Nazwa | PivotTable | 
| Opis | Tabela dynamiczna. Używane z typem elementu PivotTable. | 
| Zawartość | Brak | 
| Parametry | 
 | 
| Elementy podrzędne | 
 | 
| Nazwa | PivotTable: RowTemplate | 
| Opis | Określa wiersz tabeli | 
| Zawartość | Brak | 
| Parametry | Brak | 
| Elementy podrzędne | 
 | 
| Nazwa | PivotTable: RowTemplate: ColumnTemplate | 
| Opis | Określa zawartość poszczególnych kolumn tabeli | 
| Zawartość | Brak | 
| Parametry | 
 | 
<Element> <Id>1</Id> <HeaderSql> <![CDATA[ SELECT 'Wartość ' + ( CASE WHEN @DocumentType = 0 THEN 'zamówień' WHEN @DocumentType = 1 THEN 'ofert' WHEN @DocumentType = 2 THEN 'faktur' ELSE 'dokumentów' END ) + ' za okres od ' + CAST(CAST(@DateFrom AS DATE) AS NVARCHAR(MAX)) + ' do ' + CAST(CAST(@DateTo AS DATE) AS NVARCHAR(MAX)) ]]></HeaderSql> <!--<Type>MultiLevelTable</Type>--> <Type>PivotTable</Type> <Sql> <![CDATA[ exec [esm].[Reports_pGetOrdersStatsBySubRegions_plPL] 2, @LoginName, @DateFrom, @DateTo, @DocumentType, @SessionId ]]> </Sql> <PivotTable showTotalSummary="true" visibleRows="8"> <RowTemplate> <ColumnTemplate width="1" name="Rejon nadrzędny" sqlColumn="Region" showSummary="true" align="left"/> <ColumnTemplate width="1" name="Rejon podrzędny" sqlColumn="SubRegion" showSummary="true" align="left"/> <ColumnTemplate width="1" name="Pracownik" sqlColumn="Employee" showSummary="true" align="left"/> <ColumnTemplate width="1" name="Wartość netto (PLN)" nameSql=" DECLARE @CurrencyCode nvarchar(max) SET @CurrencyCode = ( SELECT RTRIM(WaN_Symbol) AS [Value] FROM CDN.WalNag LEFT JOIN CDN.Konfig ON Kon_Numer=211 AND RTRIM(WaN_Symbol)=RTRIM(Kon_Wartosc) WHERE Kon_System = 1 ) SELECT 'Wartość netto (' + @CurrencyCode + ')' " groupingType="Sum" sqlColumn="OrderNetValue" align="right" sortOrder="desc" precision="2" /> <ColumnTemplate width="1" name="Wartość brutto (PLN)" nameSql=" DECLARE @CurrencyCode nvarchar(max) SET @CurrencyCode = ( SELECT RTRIM(WaN_Symbol) AS [Value] FROM CDN.WalNag LEFT JOIN CDN.Konfig ON Kon_Numer=211 AND RTRIM(WaN_Symbol)=RTRIM(Kon_Wartosc) WHERE Kon_System = 1 ) SELECT 'Wartość brutto (' + @CurrencyCode + ')' " groupingType="Sum" sqlColumn="OrderGrossValue" align="right" precision="2" /> <ColumnTemplate width="1" name="Ilość" groupingType="Sum" sqlColumn="it" align="right" /> </RowTemplate> </PivotTable> </Element>
Tak zdefiniowany element w aplikacji wygląda następująco:

| Nazwa | ChartColumns | 
| Opis | Wykres. | 
| Zawartość | Brak | 
| Parametry | Brak | 
| Elementy podrzędne | 
 | 
| Nazwa | ChartColumns: LabelsSqlColumn | 
| Opis | Etykieta wartości wynikowych | 
| Zawartość | Dowolna wartość tekstowa | 
| Parametry | 
 | 
| Nazwa | ChartColumns: SeriesSqlColumn | 
| Opis | Nazwa serii dla wykresów wieloseryjnych | 
| Zawartość | Dowolna wartość tekstowa | 
| Parametry | 
 | 
| Nazwa | ChartColumns: ValuesSqlColumn | 
| Opis | Znacznik wartości wynikowych | 
| Zawartość | Dowolna wartość tekstowa | 
| Parametry | 
 | 
<Element> <Id>1</Id> <HeaderSql>...</HeaderSql> <Type>Line</Type> <Sql>...</Sql> <ChartColumns> <LabelsSqlColumn>Date</LabelsSqlColumn> <SeriesSqlColumn>LoginName</SeriesSqlColumn> <ValuesSqlColumn>DispositionsCount</ValuesSqlColumn> </ChartColumns> </Element>
Tak zdefiniowany element w aplikacji wygląda następująco:

