How to have 'Pivot Row Totals' in server-side rendering ag-grid pivot mode - ag-grid

I use ag-grid enterprise edition and I would to add total columns in pivot mode. It is very clear in document how to do so but not in server-side rendering. The idea is that the back-end calculate the total of values for each row and I want to show it in the grid.
I tried a workaround using custom row groups and adding new columns to columnDef to describe the total columns, but it's not showing in the grid, because the total is not a row group. I can't find in the API a method to add a column that is not a Value column or a Pivot column in the ag-grid in pivot mode.
I want to know is someone find a way to do it in this context.

Nevermind, I find how to do it. You just have to push the columns you want as total using gridColumnApi.setSecondaryColumns. It's important to be aware of the colId and field to match the key of your row data corresponding.

Related

Order a grouped column

Is it possible to change the order of a column that's used for row grouping?
e.g.
Country, Account , total
Group rows by Country but display like this:
Account, Total, Country
This can be done manually after the grid is rendered but cannot find a way to render it with this ordering.
I couldn't find an option to order this column to the end of the grid since this column is auto generated by AG-Grid
many thanks
Rob

ag-grid prevent expanding grouped data

I am using ag grid enterprise with grouping.
Is it possible to group data but based on first column but prevent expanding the row? I just want to display the sums.
I am using this data : https://raw.githubusercontent.com/ag-grid/ag-grid/master/grid-packages/ag-grid-docs/src/sample-data/rowData.json
Please check the code here: https://codesandbox.io/s/nice-varahamihira-1r8bf?file=/src/App.js
As you can see in the image, I just want to display the total sum of prices of Toyota, Ford etc, but I do not want the users to expand them.
If you do not need the children, why you need a tree view for it?
You should do this logic in component and only pass the sums data to the grid.

ag-grid: Max columns supported in Multi column sorting

I am using ag-grid-community v19.1.4 with AngularJS1.x and I'm planning to use the multi-column sorting feature.
I would like to know if there is a maximum number of columns that can be sorted supported by ag-grid or if there is a recommended maximum?
I have checked the official ag-grid documentation
https://www.ag-grid.com/javascript-grid-sorting/
But, it does not mention of any limits.
It is possible to sort by multiple columns. The default action for multiple column sorting is for the user to hold down shift while clicking the column header.
The property multiSortKey='ctrl' is set so multiple column selection is achieved by holding down Control and selecting multiple columns.
However AG-Grid has not mentioned the limits on the multiple columns which can be sorted.
I tried with 100 plus columns and it works like a charm. I beleive you will not be doing a multi sort on more than this :)
Refer my plunker link with 500 columns grid
MultiColumnSort

Tableau - add row without making it a subset of previous row

I want to add rows to a Tableau text table without making the row a subset of the previous row. Using the example below, I want values for teams and status to display on separate rows rather than status appearing as a subset of team. I also want to add a team filter so that if I filter on team blue, values for green row are zero and status values update . Is this possible? I tried creating separate worksheets but keeping things aligned is problematic.
Example Data:
Desired text table:
What I don't want:
Select both the fields(team, status) simultaneously then right click and go to Transform > Pivot.
Then 2 Dimensions will be created. Drag the Pivot Field Values on to Rows section
and Year on to Columns section and keep Year in Discrete format.
Then drag Number of Records on to value field section.
Before Pivot:
After Pivot and final viz:

Is it possible to create a row that spans all columns of a Matrix in SSRS 2008?

Is it possible to have add a row to an SSRS 2008 Matrix that spans all of the matrix's columns?
This crude diagram shows roughly what I'm looking for:
The basic idea is that each line item is a person, and each column is a field in a form for that person. The fields themselves are dynamic (and implemented as column groups on the matrix). Additional column groups are included to append non-dynamic form fields, like the time the record was entered and who entered it. Under each person's record is a comments field, which should span all of the form fields above it.
At the moment I have the matrix embedded in another tablix, with the name and fields in the matrix and the comments in the parent tablix. This works for the data (each instance of the matrix ends up being one row), but the header repeats too often (once per person) because it's attached to the matrix. The only thought I have as to how to fix this is to create another matrix in the parent tablix with the same grouping and use it to display the headers... But this will require quite a lot of manual synchronization to keep the two matrices the same.
Edit: The key problem here is making the second row span multiple column groups.
Here's what you can do:
Select the column grouping you want to add above and right click and select
Add Group... Parent Group...
Group the column by something that will not aggregate the data. You'll have to select a field from your dataset to group by so that it creates an overlapping column grouping.
Check the Add group header box
You should now see something similar to this:
Now you just need to move the Value1 field and it's header over under the new column to the right beyond the matrix dividers. Once that's done, simply delete the ungrouped column where you just copied Value1 from and be sure to select Delete columns only checkbox.
Your finished product should look like this:
It is possible - And the above answers are partial answers leaving out one key step: Merging the cells of the child row.
First, right click on your grouped row, then select Insert Row -> Inside Group - Below and you will get two rows with the cells aligning on the columns
Second, ctrl click all the cells in your new row (ie row without the data) then right click on one of the highlighted cells, and then select Merge Cells.
Now you have the table you like. To add a value to the new row: first right click your new (multi column) cell,select Create Placeholder, and then add the dataset item you desire to the placeholder.
[Edit]
After several attempts, I'm going to say this isn't possible in SSRS. The best I could come up with is a group footer that spans columns 1,2, and 3, but not the User column.
[Original Response]
I recently did something similar to this.
First, what tool are you using to create SSRS reports? (I used SQL Server Business Intelligence Development Studio)
You'll want to create a row group (grouped on Person)
Append a row to your table in "Design" view (Right click, "Insert Row --> Inside Group - Below").
Add an expression to the row that pulls the value for your "Comment" column (=Fields!Comment.Value).
Let me know if that helps...
Try adding in you column group "header" with a grouping expression of (1=1). Then a detail field will need to be defined. If you define the other group with correct data then the "header" will stretch across all details columns. You may need to merger depending on other options.
The easiest way to do this is to create a Tablix with only one column, and your row grouping.
Then, you create two rows inside this group.
In the first row inside the group, you insert a Matrix, wich you can then subgroup as you prefer.
I just had a similar problem, and this was my solution.
I banged my head against the wall for a lot of time, until i realized the solution to my problem wasn't "making a cell span multiple column groups", but "making a cell split into multiple column groups".
You can accomplish the goal by using a subreport for each person. The subreport will receive the employee id and create the hierarchy for you. Make sure your subreport column widths match the widths of the parent report.