Multiple Results Per Cell In Reporting Service Matrix?
Mar 20, 2008
My team is using TFS for work item management and I'd like to provide a week schedule matrix that displays:
- weekdays on the x-axis
- persons on the y-axis
- and the assigned workitems in the cell.
This works fine if there's only one WIT (work item) per day but some WIT's are shorter and thus the resource is assigned more than one a day. My dataset may return something like this:
Date Person WIT
28/3 Mark Task1
28/3 Mark Task2
28/3 Hank Task3
29/3 Mark Task2
29/3 Hank Task3
In this case I'd like the matrix to look something like this, i.e. the two tasks Task1 and Task2 in the same cell:
Mark Hank
28/3 Task1 Task3
Task2
29/3 Task2 Task3
I've set up the matrix in the report but I only get the first item per day to show.
Mark Hank
28/3 Task1 Task3
29/3 Task2 Task3
The default definition in the cell was "=First(Field!TaskName.Value)", so I figured I'd solved the issue by changing it to "=Field!TaskName.Value", but it didn't.
I am trying to create an SSRS report to display a single row of Household information (from CRM Dynamics) Household being the Parent Entity, with 1:N relationship with Contact Entity.
How would I go about showing all the Firstnames (from Contact) in the same cell like the below?
I'm currently working on a report which contains a number of matrix' with subtotals. Each matrix calculates a STDEVP which works just fine and the total shows the values I want.
However, I would like to change the font color of each cell based on the value compared to the total.
For example:
A 4.5 B 7.8 C 3.9 D 5.2 Total 5.7
With the values of A and C being less than the Total, I want to change their color to "Green" and the others to "Red".
I was hopeing I would be able to do something like this. =Iif(ReportItems!matrix1_std.value < xxxxxxxxx,"Green","Red")
Where ReportItems!matrix1_std.value is the values of A-D and xxxxxxxxx would be the "Total"
Is this in some way possible??
I found many expamples for changing the color etc of the totals cell but nothing which tells me how to change the layout of a cell based on the total value.
When I created a Table control, I was able to read things like .Color, FormattedValue, etc. from SSAS. This was great, because I could control all existing and future reports' formatting via one change in the cube.
Now, I've decided that a Matrix control is superior for various reasons. However, I notice that I MUST apply an aggregate function to get a cell value...well, it appears that this means there's no longer any way for me to read my SSAS formatting.
I tried =First(Fields!DataValue.FormattedValue), =Max(...), etc.
I also tried it with the color property, etc. Nothing worked.
Are there any workarounds? I'd hate to embed the formatting into each of my 40 reports, because the user is likely to change his/her mind after the fact.
What would be an equivalent expression for ISNULL(datafield, 0) for a table/matrix cell? I am using iif( Len().. to find out if there is something in the cell, and displaying zero in the cell if the length of cell item is 0, however am wondering if there is any better/elegant way of doing that?
I am currently trying to figure out how to change the background colour of a cell when that row happens to be a subtotal
I have included a screen shot of my report design below:
(The link to the image is http://diagnostic.iipuk.co.uk/images/RS_Questions.JPG should the image not be displayed)
When the cell that is circled is on a subtotal row (i.e. is the subtotal of either the first subtotal (which I have called RegionTot) or the second subtotal (which I have called QCTotal) I want the background colour to change to black). This is so the user cannot see the subtotal for that column on the screen.
I have tried using the following expression in the background colour property for that cell (without success!):
The error that comes up states that report item expressions can only refer to other report items within the same grouping scope or a containing grouping scope.
I have searched help and haven€™t managed to find anything!
Any help would be greatly appreciated!
Thanks
Marek Kluczynski Information Manager Investors in People UK
I have a simple sql select statement that looks like this. Select Column1+ ' ' + Column2 As SpecFROM Table both columns are varchar's and the output i get is something like this.Spec-----------------------AaBbCc What I would like to return as my results is this: Spec--------------------AaBbCc I hope this makes sense. I can I accomplish that?Thanks!
System information: 1. Our Reporting Server installed on a DB server. 2. We have one windows application which executes on the same server, which generates the reports snapshots. 3. One set of reports with single Shared data source
Scenario: We have many countries for which report history snapshots needs to be generated. The report information is stored in different databases named as database_CountryCode on the same DB server.
Questions: 1. We need to dynamically change the shared data source connection string to point to the respective country database, when generating the report for that particular country. --> We found out this can be accomplised by using parameterized connection string in report specific data sources in SQL 2005. Can we achive something similar in SQL 2003 Reports as well? 2. We also need to instantiate the reporting service web service in multiple threads, one for each country, where in each thread picks up the corresponding country code, changes the connection string and generates reports snapshots. Can this be accomplished? I know this goes against the entire idea of licensing, but my question is just about feasibility of this idea.
Addnl Info The CreateReportHistorySnapshot method of reportingservice.asmx returns a snapshotID, which is the timestamp of report snapshot creation. We tried creating the same report snapshot for the same country in 2 threads. Whenever the timestamp for both snapshots was same, only one report snapshot actually got created. Can this be overcome?
I got the following code to add a column in a matrix with a variance:
IIF(IsNothing(Previous(Sum(Fields!Amount.Value))) or Fields!year.Value=First(Fields!year.Value,"Category") or Previous(Sum(Fields!Amount.Value))=0,nothing, ( (Fields!Amount.Value) /Previous(sum(Fields!Amount.Value)) ) )
This code works fine, except that the first row of the matrix shows an #error
This happens with each matrix where I use this expression. A warning emerges:
rsruntimeerrorinexpression the value expression for the textrun Textbox43.Paragraphs[0].TextRuns[0]' contains an error.
Attempted to divide by zero.
The strange thing is that the part
Fields!year.Value=First(Fields!year.Value,"Category") should prevent an error and I expect it to show 'nothing'
An screenshot of the table. (each color is a different category. Each row stands for 2013, 2014, 2015)
As you can see, all other 2013 rows show a blank cell, except the first row.
I have 2 higher level column groupings of month name and year above my actual date groups. It looks a little weird aligning them left but there is no guarantee that centering them will even allow them to show until I've scrolled right to the middle of the cell width that they occupy.
Is there a feature that comes with, or a well known trick for making them center in the area that is being viewed instead of the potentially very wide cell that they occupy?
i have a list report some values of this are blank or null i want to avoid that spacing if it is null like name:jjj lastname kkk firstname address uuuu
i want it should be name jjj lastname kkk address uuuu
I am converting a site from asp to .net and the previus writer did something I never saw.(I am somewhat new to programming all together). He put multiple values in a single cell of the database. I have always learned to use a seperate column for each value. Is this a classic asp thing and there are better ways now? Or is this something I should do myself? The columns type is text and the contents look like this:<Details Expertise="bla bla" Description="We are a three-divisional company ...," WebSite="www.blabla.com" AccountLevel="Free" AccountStatus="Active" WorkHomeZIP="22222" ContractStartDate="01/01/2003" ContractEndDate="12/31/2003"><Address Location="Work" State="Oh" ZIP="22222"/><Email Location="Work" Value=""/><Phone Location="Fax" Code="9801" Ext=""/></Details>
Taking the Northwind database as an example,I have an order table: 'Orders'a order details table: 'Order Details'and a products table: 'Products'For reasons best ignored, I want to produce a query which has columns:Orders.OrderID, Productswhich has results like:10248, 'Queso Cabrales, Singaporean Hokkien Fried Mee, Mozzarella diGiovanni'10249, 'Tofu, Manjimup Dried Apples'________so for those who don't really know what I'm on about and haven't gotaccess to northwind, I want the second cell to contain the returnedcolumn of a second query (but in text format)could anyone suggest a way this could be done? am I entering the landof cursors?Many thanks,Neil
Is it possible to stack two images on top of each other in a table ?
Let me clarify where i'm going to. I have a report where in one table i would like to display (in a graphical way) how much a sales person has sold towards the whole sales amount. To do so i would like to set my background of my cell to yellow and then use an image (just a green rectangle) where i adjust the padding according to the percentage. When i set my background to yellow and i insert my image in the cell, the textbox cell properties disapear and are replaced with the image properties. So also my background that was defined in my textbox is gone. Now i was thinking if i could set two images on top of each other (a yellow rectangle and a green rectangle). But when i do that, one image is replaced with another.
Am i doing something wrong or is there another way to achieve what i want to do?
I have a one to many relationship between Flag and StudentFlag. I'm wanting to select each Flag.FlagID that exist as a column that contains the StudentFlag.Value per StudentFlag.StudentID (or null for that column if that StudentFlag row doesn't exist).
This single column appearing multple times in a single dataset has seemed difficult in a select statement. Is it posible in T-SQL?
Tables, Keys, and Relationships
CREATE TABLE [dbo].[Flag] ( [FlagID] [int] NOT NULL , [FlagName] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ) ON [PRIMARY] GO
CREATE TABLE [dbo].[StudentFlag] ( [StudentFlagID] [int] NOT NULL , [FlagID] [int] NULL , [StudentID] [int] NOT NULL , [FlagValue] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ) ON [PRIMARY] GO
ALTER TABLE [dbo].[Flag] WITH NOCHECK ADD CONSTRAINT [PK_Flag] PRIMARY KEY CLUSTERED ( [FlagID] ) ON [PRIMARY] GO
ALTER TABLE [dbo].[StudentFlag] WITH NOCHECK ADD CONSTRAINT [PK_StudentFlag] PRIMARY KEY CLUSTERED ( [StudentFlagID] ) ON [PRIMARY] GO
ALTER TABLE [dbo].[StudentFlag] ADD CONSTRAINT [FK_StudentFlag_Flag] FOREIGN KEY ( [FlagID] ) REFERENCES [dbo].[Flag] ( [FlagID] ) GO
I've implemented and tested cell level security on the cube. It's testing certain level conditions, and returns #N/A (as normal) when the user is not supposed to see the cell value. Since I always use .FormattedValue in my reports, works fine in Report Services (and Excel and ProClarity, etc.)
Here's the problem:
When RS parameters encounter this situation, the parameter dataset "breaks" (The following system error occurred: Type mismatch.) This is happening, because the parameter fields (ParameterValue, ParameterCaption, ParameterLevel) are being replaced by #N/A, due to the cell level security. This is happening, because these are actually defined as members, and hence passing through cell level security.
What I need to do is find a way to have these specific members bypass the cell level security, so that the parameter datasets still work. (Failing that, a new way of specifying parameters in MSRS.)
I've tried the following a a cell level security rule, but it doesn't seem to work:
[Measures].CurrentMember is [Measures].[ParameterValue] or [Measures].CurrentMember is [Measures].[ParameterCaption] or [Measures].CurrentMember is [Measures].[ParameterLevel] or [Measures].[Is Visible]
I€™ve build a report in reporting services 2005, based on a MOLAP cube (Analysis Services 2005). In the cube I€™ve enabled drillthrough.
I know that we can define drillthrough in the report by clicking on one of the members of the dimension hierarchy, but that€™s not what I want. I want to be able to drillthrough on a cell. Is there any way how to do that in Reporting Services 2005?
I have a cell in one of my reports that displays both a begin time and an end time. The problem is that the times are stored in military time and I need to display them in AM/PM format.
Currently I am doing the following:
CASE WHEN DATEPART(HH, start_time) < 13 THEN RIGHT(CAST(100 + DATEPART(HH, start_time) AS CHAR(3)), 2) ELSE CAST(DATEPART(HH, start_time) - 12 AS CHAR(2)) END + ':' + RIGHT(CAST(100 + DATEPART(MI, start_time) AS CHAR(3)), 2) + CASE WHEN DATEPART(HH, start_time) < 13 THEN ' AM' ELSE ' PM' END + ' - ' + CASE WHEN DATEPART(HH, end_time) < 13 THEN RIGHT(CAST(100 + DATEPART(HH, end_time) AS CHAR(3)), 2) ELSE CAST(DATEPART(HH, end_time) - 12 AS CHAR(2)) END + ':' + RIGHT(CAST(100 + DATEPART(MI, end_time) AS CHAR(3)), 2) + CASE WHEN DATEPART(HH, end_time) < 13 THEN ' AM' ELSE ' PM' END AS 'TIMES',
in order to present the two times in one cell in AM/PM format. While this works, I'm wondering if there is a way in Reporting Services layout mode to give a date or time format mode to a cell that will work for two times with a dash in between them, rather than simply for one time. Then I could pull the times in the format that they are stored on the database and use Reporting Services to format them. Does anyone have any suggestions?
on this report, am having ids separated by '^'.when I export to excel, I wrote the expression as
=Replace(Fields!Id.Value,"^",Environment.NewLine)
It is working fine, but the problem is if I have only one id in some scenario, then this case that cell is showing an error "The Number in this cell formatted as text or precedence by apostrophe" .But in other scenario,If the ids are separated by "^", then this case that cell wont show any error. So I need to display the cell wont have any error symbol  if I have only one id .How can I achieve this?.
Hi, I'm working with MRS and I've got a table with a lot of entries. For each value in the table I'm trying to get the text colour to be set to 'red' when the value of the cell is less than 0. Otherwise remain black.
I can do this by setting the colour property cell by cell. But I have a lot of cells in the table. Is there a way to set the statement to apply to ALL cells in the table?
Basically I'm asking if there is a way to set the property in bulk instead of going through tediously cell by cell.