How Do I Evaluate The Toggle State Of A Textbox Within An Expression?
Apr 10, 2008
Hi!
On a Reporting Services 2005 report, I have a table with a single group row and a single detail row (and about 5 columns). The details are set up to toggle visibility based on a textbox in the group header called "txt_Order_Number". The order line item details are set with their initial visibility set as hidden. So, when you click on the Plus sign next to the Order Number, the detail rows display below.
However, what I'd like to do is change the background color of the toggled group header row when it is toggled and the details are displayed. Here's what's going on . . .
The row with the Order header information has every textbox set in bold. That's good. It makes a subtle distinction between the order detail rows and the order header row, so when you're looking at the dollar amounts on each line item and trying to add them up in your head to see whether they correctly add up to the dollar amount in the order header row, you can at least more easily see the total amount. However, it makes the whole overall report look funny because all of the order header information is in bold. What I really want to do is change the background color of the order header row to light gray or some other subtle color and change the font to Bold when the details are toggled to visible in order to distinguish that row as the header row.
In order to do this, I think I somehow need to get to a certain element of the Reporting Services object model called "Textbox.ToggleState". If I can get to that piece of the puzzle in an expression or even in code within the report, that should tell me the state of the textbox's toggle switch and I should be able to use that information to conditionally set the color of the textbox.(or every textbox in the row probably.) Here's all I could find out about this on TechNet
I just can't figure out how to get to that piece of information in a Reporting Services expression or in the report's code block.
Any suggestions? I'd appreciate a response even if it's "You can't do that." Actually, the best response someone might be able to provide might be a link to a sample showing how to get to any of the textbox properties like that.
I am writing a report that has two levels of groupings like this and the visibity is controlled by Title and Staff Grouping (Partner, Employee) for drilling down.
WTD Hours *Staff
*Manager
Joe 8 Max 8 Totals 16 *Senior Manager
Bob 7 Totals 7 Totals 23 *Partner
*Partner
Ed 20 Total 20 Totals 43 * = Toggle Item
Now, all this is fine except that when everything is collapsed, I want to show the totals on the group header and hide the group footer, like this:
I have the functionality working with the toggle states and visibility, but whenever the group is collapsed, all the formatting is lost and it is just whitespace not matching the rest of the row.
Is there any way to control this by some expression in the value, etc?
I have a table which has expression as a column and the data looks similar to the following .
ID (int) Expression (nvarchar data type)
1 8*(1/2)-6
2 278*(1/4)-2
3 81*(3/5) +4
I now have the expression as an nvarchar. (Ex: 8*(1/2)-6)
Now I need to evaluate this expression and output the result (which is -2 in above Ex) .Can someone give me idea on how do I evaluate the expression which is available as a string. I need to write a procedure for this.
I am unable to cast/convert nvarchar to float/int
Any sample code would be greatly appreciated.
This a very urgent requirement for me.Please get back
I would like to evaluate expressions from within my execute function in a custom task. I saw this post from about 8 months ago detailing how it would be possible:
Is there a way to evaluate an expression (like the derived column component) in a custom component? If so where should I look first? Is there an example?
An extremely simple sample is to put in an expression and evaluate one column and then add that to another column to create a new column. i.e. newcolumn = column1 + column2.
I realize that the derived column allows me to do this but I'm trying to figure out if it is possible to do this in a custom component without having to build my own expression evaluator.
I'm wondering if anyone's accomplished this before - I've been unable to find a whiff of info on how to do this so far.
I'm creating a custom component that I'd like to give a "Derived Column" type of ability to. By that, I mean I'd like to populate a property of my component with an expression (including references to input columns, package variables and functions) and be able to evaluate it at runtime - per row processed by the component.
I would also appreciate any information as to how to provide the interface to allow the user to build such an expression as well - is there a UI function in SSIS I can call to pop up the "expression builder"?
Hello friends' I am new to integration services,first time I'm using XML Task Control in SSIS, I am stuck with problem saying.... "[XML Task] Error: An error occurred with the following error message: "Expression must evaluate to a node-set.". I am trying to perform XPath operation type and accumulating values in a variable. I have no clule about error if u can help to come around the problem.
Hi, I have a matrix report containing a parameter.The count of groups may change based on the parameter's value.Also these groups are connected to each other with toggle property. For example; --If the parameter's value is "year", the report have three (year, month, day) groups.Day is connected to month and month is connected to year with toggle property. --If the parameter's value is "month", the report have two (month, day) groups.Day is connected to month with toggle property. --If the parameter's value is "day", the report have one (day) group.There will be no toggle property.
The question is: I wrote expressions for this report and set the visibility properties of the groups, but when I select the "day" or "month" value for the parameter, no groups are shown.I think the reason is "being connected to each other with toggle property".
I'm trying to put conditional formatting on a field, that behaves as follows:
The data in the field is varchar, and sample data is either:
NULL 3.0 :0 11.7 :1 (these are ratios of a sort)
I want to evaluate the first 3 characters of the string as numbers.
Example: Mid(fieldvalue,1,3) = "3.0" or "11."
Any data that is greater than 1.99, I want to make the background dark red, anything else including nulls, zebra formatting. I have the following expression built so far and it appears to work, except when the value is null. If the value is null, it leaves the background color white.
This is the warning: [rsRuntimeErrorInExpression] The BackgroundColor expression for the text box "Asthma" contains an error: Input string was not in a correct format.
=iif( isnothing(Fields!Asthma.Value) ,(IIf(RowNumber(Nothing) Mod 2 = 0,"#b8cce4","#dbe5f1")) ,(iif(mid(Fields!Asthma.Value,1,3)>1.99 ,"DarkRed" ,IIf(RowNumber(Nothing) Mod 2 = 0,"#b8cce4","#dbe5f1"))))
My logic is, if the field is null, zebra format, if mid of the value is > 1.99, dark red, everything else zebra formatting. As I said, this seems to work except for nulls.
I tried enclosing the query in Abs( ), which I have done in the past, although in the past I wasn't using Lookup functions so I don't know if that is the reason it won't work.
Is there any way in Reporting Services (2005) to set the Top and Left properties of the TextBox control with an expression? What I would like to do is use two integer report parameters, and alter these properties based on the parameters.
I'm calculating the format string for currency values based upon what's selected as a report currency parameter value. Just to mention, it's a call to a .net dll. Because this call is in every textbox in the details section of the report,I believe it's getting called for every textbox that is displayed on the report - but I really don't need to calculate it at this level. The format string will only be one way per report execution.
Is it possible to only call this function once, stuff the format expression in a textbox (or some method that's similar) and then reference that ReportItems!textbox3.Value for the format string of other textboxes? I threw the calculation in a textbox in the report header and also body, but I get an issue either way:
Report item expressions can only refer to other report items within the same grouping scope or a containing grouping scope
I understand that it doesn't seem possible, but can anyone help me think out of the box? I see that a database call and another dataset holding the FormatString might work... I'll try this out, but in the meantime, is there a solution to not do this?
In SQL Reporting Services - How can you configure a textbox (in a table row/cell) to display (and more importantly print to hard copy) an underline area that is "appended" to the end of variable length text. The objective is to be able to print out a form with an identified area for handwritten text entry. I need the underlined area for the textbox to be "right aligned". For example,
Customer Satisfaction Were you satisfied with the service(s) received? _________________________________________ How long did the service call take? ____________________________________________________ Would you recommend us to your friends? _____________________________________________
I've recently started using reporting services after about a 2 year break and have been refreshing my knowledge. I've got a very simple report linked into MS CRM, the report is designed to display cases that are overdue, displaying green colums for cases less that 2 hours old, orange for 2 - 4 hours and red for over 4 hours.
In the backgroundColor field for the details colums I have this code-
Code Snippet
=iif(Fields!Hours_Neglected.Value < 2, "Green", iif(Fields!Hours_Neglected.Value > 4, "Red", "Goldenrod")) this works fine in the preview window in VS2005 but when I try to deploy I get this error:-
"Warning 1 [rsRuntimeErrorInExpression] The BackgroundColor expression for the textbox €˜ticketnumber€™ contains an error: Input string was not in a correct format. G:AppsVisual Studio 2005ProjectsCRM ReportsCRM ReportsNo Responce.rdl 0 0"
Can anyone shed any light on what this problem is as I'm struggling to find anything online......
Greetings, I have five rows in a group header. The top row is a true header row with details that will always be there and will always be visible. The bottom four rows have their Visibility.Hidden property set to 'TRUE'. All four of the bottom rows are assigned the same Visibility.ToggleItem. Of the four bottom rows, any or all of them may not have data at any one time. I want to find a way of allowing the rows to toggle from hidden to visible, but if one or all of the rows have a field item whose value is 0 then that row must remain invisible regardless of whether it is toggled.
I am still working on this puzzle, but if someone can provide me with an easy solution while I struggle, I would greatly appreciate it.
need help on expression IN whan i do this i get an error
Msg 207, Level 16, State 1, Line 17
Invalid column name 't.empID'.
Code Snippet DECLARE @vempID varchar(500) set @vempID = '68737477,51622017' update [nili].[dbo].[tb_pivot_big] set fld1 = case v.fld1 when '101' then 'a' when '102' then 'd' when '103' then 'u' when '104' then 'j' end , f1 = case v.fld1 when '101' then 'b' when '102' then 'r' when '103' then 'i' when '104' then 'l' end , f11 = case v.fld1 when '101' then 'c' when '102' then 't' when '103' then 'd' when '104' then 'm' end
from [nili].[dbo].[tb_pivot_big] t inner join (select * from [nili].[dbo].[tb_pivot_big] where val_orginal = 1) v on t.empID = v.empID WHERE (t.val_orginal = 2) AND (charindex(','+CONVERT(varchar,[t.empID])+',',','+@vempID+',')) > 0
I havea flat file source.All of the coulmns in the source file are string of 5o length( default). There going to be couple of numeric columns like beginning balance, end balance etc. Now I have to evaluate those column to see if there is any column has more then two digit after decimal point. I have to do it through vb.net scripting in SSIS.
Can some one please give me some suggestion how can I achieve it?
The 2.0 version of ASPSTATE is slightly different than the 1.1 version in that one table has one additional column and another table uses a different data type and size for the key. The 2.0 version also has a couple additional stored procedures.
We'd like to manage just one session state database if possible so we're trying to figure out if Microsoft supports using the new schema for 1.1 session state access (it seems to work, but our testing has been very light).
Is there any official support line on this? If not, can anyone comment on whether or not you'd expect it to work and why?
I have seen other places where this question is asked, but I am still not seeing the answer clearly. If I have many groups that are collapsed and I want to expand them all at the same time, it there a way to accomplish this? Many talk about a param that can be passed in, but even if you have the parameter set, this is only for the initail state, is it not?
Hi! I dont know if i will explain this correctly, but my problem is with reporting service. I'm supposed to Sum value in one textbox and than that sum use it in sum in other textbox.
Something like this: Sum(Fields!Abc.Value/(Fields!dfg.Value+Sum(Fields!abc.Value)),"matrix1_RowGroup1")*100 I get error msg 'The Value expression for the textbox 'textbox49' contains an aggregate function (or RunningValue or RowNumber functions) in the argument to another aggregate function (or RunningValue). Aggregate functions cannot be nested inside other aggregate functions.'
Something like this wont work either Sum(Fields!abc.Value/ReportItems("textbox56").Value)*100 Error The Value expression for the textbox 'textbox55' uses an aggregate function on a report item. Aggregate functions can be used only on report items contained in page headers and footers.
So, pls help if you know how to reference textbox in other in body of report. Thx.
Error 3 Error loading MLS_AZ_PHX.dtsx: The result of the expression ""C:\sql_working_directory\MLS\AZ\Phoenix\Docs\Armls_Schema Updated 020107.xls"" on property "ConnectionString" cannot be written to the property. The expression was evaluated, but cannot be set on the property. c:documents and settingsviewmastermy documentsvisual studio 2005projectsm l sMLS_AZ_PHX.dtsx 1 1
Directly using C:sql_working_directoryMLSAZPhoenixDocsArmls_Schema Updated 020107.xls as connectionString works
However - I'm trying to deploy the package - and trying to use expression: @[User::DIR_WORKING] + "\Docs\Armls_Schema Updated 020107.xls" which causes the same error to occur
(Same error with other Excel source also: Error 5 Error loading MLS_AZ_PHX.dtsx: The result of the expression "@[User::DIR_WORKING] + "\Docs\Armls_SchoolCodesJuly06.xls"" on property "ConnectionString" cannot be written to the property. The expression was evaluated, but cannot be set on the property. c:documents and settingsviewmastermy documentsvisual studio 2005projectsm l sMLS_AZ_PHX.dtsx 1 1 )
I have created 1 report with 2 datasets. This report is attached to the 1st dataset.For example,1st one is "Smallappliances", 2nd is "Largeappliances".
I created a tablix and, the 1st column extracts Total sales per Sales person between 2 dates from 1st dataset (Small appliances). I used running values expression and it works fine.
Now, I would like to add another column that extracts Total sales per sales person between 2 dates from 2nd dataset (Large appliances). I am aware that I need to use Lookup expression and it is giving me the single sales value rather than the total sales values. So, I wanted to use RunningValue expression within lookup table to get total sales for large appliances.
This is the lookup expression that I added for the 2nd column.
I get this error when I preview the report.An error occurred during local report processing.The definition of the report is invalid.An unexpected error occurred in report processing.
We want to start a job remotely on another SQL7 server.
innocently we thought that should be no problem with sp_start_job.
We used the command listed below:
use msdb go EXEC sp_start_job @job_name='MyJobName', @server_name='blablabla'
The strange thing is, that sp_start_job ignores the @server_name at all.
Even if we enter complete nonsense for @server_name the job gets started as long it is present on the local sqlserver instance. sp_start_job seems to search locally for the given job_name, only. Consequently if we enter the remote server's name the job fails as the jobname is not present on the local sqlserver.
I am trying to evaluate dates within my sub queries for A,B,C,D. If there is a count > 0 in the 'A' category, I need to evaluate if the servicedates in B,C,D are within 30 days of 'A'. How would I code this within my current code?
select customernumber, SUM(CASE WHEN category = 'A' then 1 else 0 end) 'A', SUM(CASE WHEN category = 'B' then 1 else 0 end) 'B', SUM(CASE WHEN category = 'C' then 1 else 0 end) 'C', SUM(CASE WHEN category = 'D' then 1 else 0 end) 'D'
[Code] ....
My BEFORE the case statement:
Customernumber A B C D SERVICEDATE 123456789 1 0 0 0 2012-02-07 123456789 0 0 1 0 2012-02-28 123456789 0 0 1 0 2012-03-06 123456789 0 1 0 0 2012-12-17
My output after case statement:
Customernumber A B C D 123456789 1 1 2 0
What I need my output to look like after case statement:
Customernumber A B C D Service w/in 3 mnths 123456789 1 1 2 0 2
All I want to do is create a UDF that will evaluate these strings as math formula and return the value depending on the values of the other columns in the row.
Bear in mind that there may not be a string formula at all for some rows, in which case the value of teh Hours column alone should be the result.
I can do this in vb using the 'Replace' function but am having difficulty in translating it over to T-SQL.
Here is the vb version i use in Ms Access...
getFormula(strDutyType As String, dblTotalNumber As Double, dblWeightingAs Double, dblHours As Double, dblMinutes As String, strFormula As Variant)
If IsNull(strFormula) Or strFormula = "" Then getFormula = dblHours Exit Function End If
I've been tasked with taking over the support for a client's SQL Serverdatabase. I'm not a DBA by profession, I'm a software developer whouses SQL Server as a database designer.The clients have reported that the server is running out of disk spaceand examination shows that the log files for several of the databasesare at 5Gb or more.After reading around the subject I suggested the following sequence ofoperations:-- Select the name of the database you want to shrinkUSE MyDB-- Dump unwanted transactionsdump tran MyDB with truncate_only-- Get the name of the logfileSELECT * from sysfiles-- Having examined the rows returned by this use the log file....-- Shrink the file to required size (in MB)DBCC SHRINKFILE('MyDB_log', 10)Is this a reasonable approach? Please bear in mind that I'm pretty newto this, and I have many other tasks to do besides manage the server.A previous DBA has set up good maintenance plans etc. so everything isbeing properly backed up (well, I think it is)If this IS a good approach, would it be reasonable to do this on, say,a monthly basis as a scheduled job? Obviously the stepSELECT * from sysfileswhich gives us the physical name of the log file would be removed andthe job would operate explicitly on each log file for each database inturn.Many thanks for reading.William Balmer.
We have mirroring setup for 5 dbs, 4 of which are synchronized and 1 which is in "synchronizing" state on the principal and "restoring" state on the mirror. Mirroring for all dbs has been working fine for the past several months and we have a witness that has allowed automatic failover in the past without problems.
This database has several bulk inserts performed throughout the day and am sure there is some latency due to the size of these transactions.
Not sure as to why this is happening all of a sudden, but the db in question has been in this state for the past 12 hrs. I checked the mirroring status on the principal and it states that it is "synchronizing: data is being transferred from principal to mirror", but the mirror server states that db is in "restoring" state. Can anyone suggest as to how I can get the database on the mirroring server to get back to "mirror, synchronizing/restoring..." state? Or suggest on how I can troubleshoot this?
playing with the Power pivot , DAX. While analyzing the DAX ,I came across a function EVALUATE , but when I tried this function in excel Power Pivot workbook - =EVALUATE 'Date' where 'Date' is my one of the Power pivot table , I was writing this function within the Calculation area of the Power Pivot model. I get the below error when I hit enter after writing the function ."The expression is not valid or appears to be incomplete..An MDX expression was expected while a full statement was specified."But in many forums I find the syntax is correct.
I have seen it happen frequently that I type in a perfectly valid SSIS expression (this is easy for me since I am an old hand at C++/C/C#) in a row in a Derived Column transformation, and it turns red. Or sometimes, I will have an invalid expression that I correct, but it stays red. Finally I have also seen it happen that I make some change in the data flow pipeline and suddenly a Derived Column transform develops an error. I then go into the Derived Column transform and find that the expression has turned red. So, I literally have to go into the expression in these cases, and make a trivial change to them to get the red error to go away. Alternatively, I can cut the derived column expression text, and then paste it back in and it works (this is most telling.)
So, it seems to me the Derived Column is somehow holding onto some meta data about the Derived Column that is getting out of date (rather than re-evaluating the correctness of the Expression.) One thing I usually can do to repro this at times is to remove a column (that the Derived Column depends upon) from the pipeline and then re-add it. When I go into the Derived Column it will be red, and then like I said I have to tweak the expression to force SSIS to re-evaluate the expression.
I have a script component which loads a file which is in a custom format. The script component is inside a For Each Loop Container and it uses a flat file connection manager. The loop sets the connection string for the connection manager.
The problem I'm having is that the connection string needs to be set to something every time that I start the package but I don't know ahead of time what file there will be, so I get a System.IO.FileNotFoundException error on the script component. If I manually set the variable for the connection string and point it to a file that exists, then the package runs fine but at the end of the package the connection string is set to the last file loaded and this file will no longer exist the next time the package runs.