Birt Report Designer : Add label and dynamic text from dataSet - birt

I have a dataSet of person.
Is it possible to iterate and add label and dynamic text from dataSet in this format.
Name: John
Address : This is an exemple
Others label/text
Name: Alex
Address : This is an exemple
Others label/text
And so on.
Thanks.

You can use a list item instead of the table item.
Bind the list item to the data set (just as you would do with a table item).
Then, inside the list item's detail area,
create a grid item, say 2 cols x 3 rows.
You can that add your labels (static texts) like "Name:" to the cells in the left column and the data items to the right column of the grid.

Related

BIRT Report Designer - Table to Produce Rows in Multi Columns

I have a table, which is listing the name of benefits and it is only 1 column (just name of the benefit).
I'm wondering if there is any native function of BIRT Report Designer to produce rows not only vertically but also populate horizontally to 3-4 columns.
Something like below:
Benefits List
Benefit-1 Benefit-3 Benefit-5
Benefit-2 Benefit-4 Benefit-6
Thanks in advance for any advice.
Ok, I found a solution!
Under the following link there is a Eclipse Community Page Link recommendation about an additional computed column. Even though I don't have any computed column, the recommendation gave me an inspiration. Instead of creating an additional column, I used the rownum that is used generally to bind dataset parameter. For the table row, I created "visibility" condition that checks if the rownum + 1 is divided by 3. Depending on what is the result, it will be hidden or viewed:
Main Grid
It includes a grid with 2 rows and 3 columns. 1 row is merged to view the header. In each column of second row, the same table is placed with the same dataset.
Image Showing Main Structure
Select Table Row
Image Indicating Row Selection
Set the Visibility
Image Showing Details of Visibility Condition
The syntax basically means: "Do not show the row if the division result is not 1".
For the second column, you will need to compare with 2: (row.__rownum + 1) % 3 != 2 and the third column with 0: (row.__rownum + 1) % 3 != 0
Hope it'll be helpful for someone.
An more straightforward approach ist to use a List item instead of a Table item.
In the detail area of the List, create a Grid item of fixed width and height.
Put the content (e.g.) text into the grid's cells.
Important: Set the "display" property of the grid to "inline" instead of the default "block".
This way BIRT will put the grids from left to right until the line is full.
Then it will fill the next line (think of "display: inline" like adding words to a paragraph).

Can I make a circle/table graphic in SSRS and divide it by a passed number

I was asked to create a report (in SSRS visual studio 2019).
The report has the following table number, numeric. How many people per table (generally 4-12), names, etc and the order in which the people will sit. From this I'm being asked to create is a graphic visualization of a circle (broken out evenly by number of guests per table) in the order of which they are seated.
For example here is my data set:
I need to create a seprate page with the lists below so it would like like this
Page 1 would have this:
Table 1 - 8 Guests
Page 2 would have this:
Table 2 - 4 Guests
we can also use embedded images -- the team has an image for each table size but we still have to obtain the locations of each spot (which means we'd have to know how to divide a circle)
You can do this easily.
Add a list or single column table and the set Dataset property to your dataset name.
Change the row group (probably called "details") by adding a group that groups by table.
Now insert a pie chart into the table cell. We should now get 1 pie chart per table.
Click the pie chart and add a value entry, set the value expression to =1/countrows(), this bit will just split the chart up evenly based on the number of guests.
Set the category group to the guest field.
Right-click the chart and "Show data labels", then right-click the label and set the value to this expression =Fields!id.Value & " - " & Fields!guest.Value. Set the data label position property to "outside".
Finally click the chart and expand the "custom attributes" section, set the PieStartAngle property to 270, this will make sure the first person is immediately after the 12 o'clock position.
Oh,. and set the chart title to something like `="Table " & Fields!table.Value"
The final output looks like this...

Conditional Data Validation in Google Sheets, limit second drop-down based on first drop-down

I want to select a category in a drop down, then limit the next drop-down in that row to items only in that category, then lookup the value for that item and display it from a data table. I would prefer to avoid scripting if at all possible. I swear I've done it before, but maybe it was in Excel...
I have a table where first column represents category and second represents item. Categories are non-unique, Items are unique. I want a "selection" sheet where the first column chooses from available Categories in the first column of data and second column chooses from Items that have that category in column 1 in the data table. Pictures to show desired end result, but set manually. How do I make this happen dynamically? In this case, I cannot have a header of "A, B, C" with the items listed below, as each item has it's own value that will be pulled with a lookup in the third column of the selection area.
In selection area, first column has "A" selected, so options are only "Z", "X", and "Y" for second drop down.
In selection area, first entry now has "B" selected, so options are only "W" and "V" for second drop down.
You can do it with a combination of named ranges and =INDIRECT()
Workflow:
Go on Data -> Named ranges and create named ranges in column B corresponding to each different value of column A
In column E, create a data validation with column A as range
Select a dummy column (e.g. D) and paste the formula =INDIRECT(E1) - this will display in this column the data belonging to the named range chosen in column E
Create a second validation in column F taking column D as range
This will result in a dependent dropdown - you can set the auxilliary column D to hidden.

Material table : Sorting and displaying grouped data

I have a datasource that has data which is grouped. For e.g.
parent:
- name- string
- segments- arrayList of segment objects(each segment object has title and description
I'm trying to use a mat-table to display data in rows and columns as follows :
I want to use mat-sort and sort within the segment groups when I click on segment header (ie after sorting segments, sorted data should look like this):
When I click on Name (header) the table should be sorted as follows:
How can I do the same? Is there a good way to group my rows in the above format. (Right now I'm using divs within mat cell to display the content which doesn't seem right).
I have tried using an approach for displaying similar to this link
However when I add mat-sort to this group headers get sorted on top and the rows come below.
This link
has example to display data the required way

Dynamic cell via parameter

I am trying to find how to do the following. I need to fill a string (a word) in a column that I can change from a table. Static way: Add Column > In formula ="FORD" So it fills all existing rows in the columns Variable way: If I change to HONDA the cell at the table, use  the new word in the query Thanks!
Something like https://stackoverflow.com/a/31522846/771768 will work:
Click on the Excel cell with HONDA, then open menu Power Query > Excel
Data > From Table (uncheck "My table has headers")
In the Power Query editor, right click on the HONDA cell of the table
and "drill down" to get the text value, and change your add column step to use this Column1
You can edit the value in sheet 1, and when you refresh your query
you'll see sheet 2 is changed.

Resources