Birt : How to get second row from dataSetRow["value"] - birt

I got xml as my data Source, I create DataSet which gives me two records for example :
cur, value, year
EUR 1000 2011
USD 2000 2011
and in grid (2x2) I would like to show data as follows :
EUR 1000
USD 2000
instead of that I got :
EUR 1000
EUR 1000
I get my data dataSetRow["cur"] , dataSetRow["value"];
I don't want to use list or table. so how can i get the second row ?? can i use some kind of iterator ?

You need to use a Table object, not a Grid object, to display your values. Try dragging and dropping your dataset from the Data Explorer view directly into the Report Design Layout pane - it should insert a table automatically. (You may want to adjust column sizes.)
Switch to the Preview pane (don't forget to remove the unwanted grid object) - you should see all the dataset values in your report.

Related

Columnar report in Tableau

I'm new to Tableau. I'm using Tableau Desktop Professional 10.0.15. I need to write a very simple report that does not use any visualization.
Here's a example of the layout (the numbers are made up):
Web Site 1 North America Europe
Total Hits 3,523,483 3,523,483
Sessions 1,248,234 1,248,234
Unique Visitors 1,809,392 1,809,392
New Visitors 383,932 383,932
% new 10.9% 10.9%
Avg Page Views per user 1.9 1.9
Web Site 2 North America Europe
Total Hits 3,523,483 3,523,483
Sessions 1,248,234 1,248,234
Unique Visitors 1,809,392 1,809,392
New Visitors 383,932 383,932
% new 10.9% 10.9%
Avg Page Views per user 1.9 1.9
The users want the measures to be in one column, but they're not the same measures. Some measures need to be formatted as percentages. The average should have 1 decimal place. I have a feeling it's not possible to format the same measure differently in Tableau. Ideally, there would be something like a banded report where I could stack the measures on top of each other. But, I don't see a way to do that in Tableau. I could create a table in my database and put the measures in the same field and add the formatting in the database (which feels wrong), but it would have to be text (to have '%'). But, Tableau won't treat a text field as a measure. Also, it seems like if you don't add a measure, Tableau will insert a fake measure and put 'Abc' as the value (at least, I think that's why I'm getting these 'Abc' columns in my reports that I didn't add and that aren't in my data).
It seems like Tableau wants you to do something like this:
Unfortunately, this is not what my users want. Any suggestions?
In Tableau it's possible to put many measures in a single column using the measure names in rows.
To do this, add to filters shelf the dimension called Measures Names (the last one). Select all the Measures you'd like to show (Hits, Sessions, Visitors, Views, etc.). Then, drag this dimension to the rows shelft. Next, drag the measure called Measures Values (the last one too) to the marks shelf, specifically in the text box. You can also add other dimension to rows shelft (like website) to the left of Measures Names. This will show a table similar to your requirement.
By default, the Measure Values are SUM of each measure. Just right click on them and select the aggregation you need (AVG, COUNT or other).
Finally, you can format each measure as you want, right click a measure value, and select Format...

Calculated Item in OBIEE - Moving Average

I have consulted this question - OBIEE Moving Average (Mavg) for 4 weeks on Pivot Table - in order to understand how to do a moving average in OBIEE. However, I am having trouble calculating that item in a pivot table.
In the pivot table view I thought I would just select New Calculated Item and create my moving average function for the pivoted values. Yet, in the "Values From" drop down menu the items I want to average are not present. I believe this may be because they are not extracted data values but previously calculated values from the data (in the original table's columns). I tried selecting "treat as attribute column" but this failed as well. How can I created a moving average within the pivot table for a column that was calculated from the original data?
Looks similar to this:
Pivot Table
ID Value
01 45
02 54
03 65
... ...
Where Value is Amount Sold / Days. And both Amount Sold and Days are stored in the original data table.
Go to the criteria tab and pull in a measure (any measure will do). Now edit that measure's column formula to your formula of Amount Sold / Days. I would rename it as well.
When you click over to the results tab, you will see that column added to all views. Just edit each view and remove the column from the views you do not want to see it in. You can also replace your existing value column in your pivot table (if it was present) with this new calculated column.
Pivot table calculated items are typically used in conjunction with columns that are already in the pivot table.

How can I get the values in the Matrix on my SSRS report to repeat?

I know there must be a simple answer to this, but I can't find it.
I have added a couple of textboxes to a Matrix in a BIDS/SSRS report. I've given these textboxes values such as:
=Fields!WEEK1USAGE.Value
It works (after a fashion); when I run the report (either on the Preview tab, or on the Report Server site) I see the first corresponding data value on the report - but only one.
I would think that once a value has been assigned via expressions such as "=Fields!WEEK1USAGE.Value", each value would display (rows would automatically be added).
There must be some property on the Matrix or the textbox that specified this, but I can't see what it might be.
Here is how my report looks (very minimalistic, so far) in the Layout pane:
...and after running, on the Preview tab:
Obviously, I want the report to display as many rows as necessary, not just one. The textboxes do have a "RepeatWith" property, but there description doesn't sound interesting/useful/promising.
I don't see any property on the Matrix control that looks right, either.
I thought maybe the designer was only showing one row of values, and ran the report on the server, too, but there also it just shows the two values.
So what do I need to do to get all the data for a provided field?
Matrices are for display of grouped data and summary information, usually in a horizontally expanding pivot table type of format. Is a matrix really what you are after? Looking at your expression you have =Fields!Week1Usage.Value but in a matrix what I expect to see would be at least =Sum(Fields!Week1Usage.Value) or even better just =Sum(Fields!Usage.Value). Then you would have ProactDescription as your row group and the week as your column group and it would all just work out everything for you, grouping and summing by Proact vertically and expanding the weeks out horizontally.
What seems to be happening is that you have no grouping on rows or columns and no aggregation so it is falling back to the default display which is effectively the First function - it displays the first row of data and as far as the matrix is concerned it has done its job because there is no grouping.
Without knowing your problem or data, I'll make up a scenario that might be what you are doing and discuss how the matrix does the heavy lifting to solve that problem. Let's say you have usage data for multiple Proacts. Each time one is used you record the usage amount and the date and time it is used. It could be used multiple times per day but certainly multiple times in a week. So you might be able to get the times each Proact is used from a table like so:
SELECT ProactDescription, TimeUsed, Usage
FROM ProactUsage
ORDER BY ProactDescription, TimeUsed
In your report you want to show the total weekly usage for each Proact over multiple weeks. Something like this:
Proact Week1 Week2 Week3 ...
Description Usage Usage Usage ...
--------------------------------------------
Anise, Fennel 1 CT 20.00 22.50 16.35 ...
St John's Wort 15.20 33.90 28.25 ...
...
and so on. Using a dataset based on the SQL above we create a matrix and in the row group properties we group on =Fields!ProactDescription.Value and in the column group properties we group on a week expression like =DateDiff(DateInterval.Week, Fields!TimeUsed.Value, Today) and then in the intersection of the row and column we put =Sum(Fields!Usage.Value). To display the header of the column nicely put an expression like
="Week " & DateDiff(DateInterval.Week, Fields!TimeUsed.Value, Today)
The matrix automatically does all the summing by week and product and expands the weeks horizontally for as many as you are reporting. For bonus points you can also put totaling at the end of the columns and the rows to show the total use of that Proact for the period (row total) and total use of all Proacts in that week (column total).

RDLC Matrix report move grouping column

I have an RDCL Matrix report.
Generated in Visual Studio 2013.
In Asp.net MVC5.
I am creating the report for a database based on a range of dates returned in a recordset and bound at runtime to the report. Depening on the dates returned in the dataset the columns in the report are dynamically created (matrix report).
My date range will always be for a months duration so my report is very wide and space is of importance as users want entire months date range to fit on one page.
This is how my report currently looks(sorry i had to mask out data).As you can see i can only fit until the 23 October and then it moves onto other page. I need it all to fit on one page.
This is how it looks in the designer so you can see where the groupings are.
So in order to make it fit all on one page, i was hoping it could easily move the employee row group column above the data rows (only to appear once per instance of that employee) so it doesn't take up the space in the row it currently resides in ? This should allow me to gain a little space.
I have tried to moving this column manually or re-creating the grouping and making it a group header but then all employees appear in a list instead of at the head of each section. I have looked at similar questions such as this but it's not really what i need.
Any help would be appreciated.

Report Help: Crystal Reports

I am making one Crystal Report for bills.
Bills Table :
BillID(pk), PartyName, BillDate, Loading, Unloading.
BillDetails Table:
ID(pk),BillID(fk),Item, Quantity, Rate, Amount.
In the database expert I have joined the 2 tables.
I want the report like this:
BillID PartyName BillDate
SALE EXPENSES
ITEM QUANTITY RATE AMOUNT LOADING 10
toy 2 2 4 UNLOADING 20
doll 7 6 42
ball 8 6 48
cell 5 6 30
TOTAL : 160 30
NET: 160
- 30
130
The problem is that the loading and unloading appear only once per bill while the biil contains multiple items.
How I can mix details section with items that appear only once(loading and unloading) ?
You have at least two options for presented layout:
Use subreport for displaying loading/unloading values (link with bill ID)
Put your loading/unloading fields into special group header section (group by bill ID) and make that section "underlay following sections"
If you can dispaly loading/unloading values on separate row, then place them into appropriate group header/footer and you're done.
I think you'd need to use both of the options in Arvo's answer together to get what you are wanting.
I'd first create your subreport for "Loading and Unloading" and place it in the header with Item, QTY, etc and then set that header to "underlay following sections". This will get you the details of the subreport, but then you need to capture the total to send back to the main report.
To get this info you'll need to create a shared variable in the subreport for the total and then you can reference it in your formula in the main report's "Net" footer section.
Hope this helps.

Resources