SSRS Scope with Row and Column groups issues - ssrs-2012

I'm trying to get percentage calculated for my tablix and have problem on very last column, which is outside of Column Group, can't make it work, I can't use Dataset as I have a filter on tablix level. Pic below illustrates all my setup. I Understand if you stay inside the box then you have all right scopes, curious if I can do any right click and see what scope is ??)
I need somehow to get value =1837 to use in pink boxes.
I tried to digest error message and tried all combo but not helps
Is this doable?

You can refer to your very last column which is outside the groups and the deatils with the following expression. Lets say your Total from YTD is in Textbox1. Then you can refer to this textbox (because its outside the detail rows):
=ReportItems!Textbox1.Value 'Result: 1837
But a better way to calculate the percentage in the pink boxes would be the following expression (this expression comes in the pink box):
=Sum(Fields!YTDDetail.Value, "TurnDays") / Sum(Fields!YTDDetail.Value, "Dataset")
This way you are dividing the grouped sum with the whole sum, which should result in your percentage if you format the output of the texbox as Number > Percentage.

Related

Indicators in a matrix

I'm trying to add some indicators into a matrix to show an increase or decrease from the previous year
This is my design view
And this is how it's viewed in the report
I would obviously like my up and down arrows to appear in the currently empty columns. Also I'm wondering if there is a way of deleting the first empty column after 2014/15 as there is no year to compare it to.
SSRS supports a function called Previous, which will be useful in your scenario. Assuming that the name of your column group is "Fiscal", the difference of two years can be calculated as
=Count(Fields!IDNUMBER.Value) - Previous(Count(Fields!IDNUMBER.Value), "Fiscal")
Because you can't know the range of the numbers in advance, I suggest to use a "numeric" expression like
=Sign(Count(Fields!IDNUMBER.Value) - Previous(Count(Fields!IDNUMBER.Value), "Fiscal"))
for the indicator, so the ranges can be defined by single values -1, 0 and 1:
To hide the first indicator column, right-click the column header in design view and click Column Visibility..., then in the cnfiguration dialog specify to hide based on an expression like
=IsNothing(Previous(Fields!Fiscal.Value, "Fiscal"))
Here's a screenshot of my design view:

Calculate length, width and height of a product

I have the following problem. I want to get the product price calculated through the lengt, width and height.
The length and width are calculated through a csv-file, but not the height. The height should be priced for each 5cm( till 10cm +0€, till 15cm +5€, till 20cm +10€ etc.).
I have tried some different things, but never reached my goal. My next idea is, that the height is calculated by two areas: the first would be a dropdown menu, where the customer can select ranges like in the example above. The second would be a text field, where the customer can write the wanted cm value. The problem is, that the customer can select e.g. "till 10cm +0€" in the dropdown and then writes e.g. 25cm. So he would get the wanted value for free.
My question: Is there a way to connect those two areas and limit the text field to the chosen dropdown range (e.g. dropdown: till 20cm +10€ -> text field limit: customer can write anything between 16 and 20cm). Or are there any better and simpler?
I thank you very much in advance for your answers.
Best Regards,
The idea would be to use options of product.
A configuration part must be done in back office for each product where you want to set the height. In my idea there are two options : the exact height (if you need it for order) and a dropdown that will not be displayed but that contains the prices range. For this dropdown, you use a pattern like you said (till 20cm or <20 as it would not be display I would use a pattern easy to parse with JS).
On front, you hide this select and when a client enters a value for the height, you set the undisplayed select with the correct values range and retrieve the price to display to the user all in JavaScript.

Show tablix total outside of table

I have a weekly report which totals anywhere from 200 - 1000 rows of data. For my accounting people, the total is the only value of import as they simply use it for accrual purposes. I would like to either have the total appear at the top of the report or in a separate text box indicating this is the total for the report. Does anyone have a good idea on how to accomplish this?
If I understand correctly you need to get the result of some aggregate function on a tablix shown in a textbox outside the tablix.
That can be achieved by placing a textbox anywhere on the report, and in the expression for that textbox add a reference to the dataset you need to aggregate, e.g.:
=Sum(Fields!SomeValue.Value, "myDataSet")
Where SomeValue is the name of the field you need to aggregate, and myDataSet is the name of the DataSet that fieldis in.
Your question has already been answered by the other answer. Just as an alternative, you could try one more thing.
On the "details" row group(which appears by default), right click and choose "Add Total".
This will appear in a separate text box outside the report.

Filter() formula ignoring blank cells

I'm trying to use the filter() formula within a spreadsheet, from another tab within that spreadsheet.
I've got a number of drop-down menus that, when used, bring up the relevant data from the table I'm filtering from.
I've managed to make it work when it's a table of data from row 2 downwards (row 1 being a header row), but now the table starts from the 6th row down with other information above it (most of it, however, is blank). As such, now all of the options come up automatically when the drop down menus are blank.
I either need the formula below to start from the 6th row down, or to ignore the blank cells. It must be an easy solution but for the life of me, I can't find it anywhere on the internet (I'm pretty new with spreadsheet formulas so please be gentle).
This is the formula I've been using that works when there are no blank rows:
=FILTER(Sheet2!A:T,(Sheet2!D:D=B12)+(Sheet2!F:F=C12)+(Sheet2!G:G=D12)+(Sheet2!H:H=E12)+(Sheet2!I:I=F12)+(Sheet2!N:N=G12)+(Sheet2!O:O=H12)+(Sheet2!T:T=I12))
If it helps, the drop-down options are both numbers and text, and I'm using Google Sheets rather than Excel.
You can probably just change your ranges to 'A6:T' instead of 'A:T'. 'A:A' range syntax gets all rows in that column. 'A6:A' will start it at 6 but not define an ending row, which I think is what you want.
This is your formula with those small changes:
=FILTER(Sheet2!A6:T,(Sheet2!D6:D=B12)+(Sheet2!F6:F=C12)+(Sheet2!G6:G=D12)+(Sheet2!H6:H=E12)+(Sheet2!I6:I=F12)+(Sheet2!N6:N=G12)+(Sheet2!O6:O=H12)+(Sheet2!T6:T=I12))
The =isBlank() formula may be useful to you as well. It takes a cell reference and returns true/false. You can wrap this in NOT() to give the opposite result, i.e =NOT(ISBLANK(A1)) will return true if there is a value.

Interactive sorting to matrix report in reporting services 2005

i created a matrix report that have 2 rows and 6 columns.
picture 1 (see album picture in the bottom)
i want so active a interactive sort on the last columns that named 'Matrix1_ObjName'.
to do so i clicked right click on the field and go to properties > interactive sort.
than i entered the parameters like in the picture 2 (see album picture in the bottom).
i have done some research and the closes answer was posted on this link
the interactive sort doesn't work.
to be clear i want that the LoginName column will be sorted by the grade that shown in the objName row.
sea picture 3 (see album picture in the bottom)
album pictures
thanks to all...
I never use interactive sort. When I want to be able to change sorting behavior, I do it with a parameter. Create a new report parameter and specify values. Use something descriptive for the labels, then I use integers beginning at zero for the values. After the param is set up right click on a field in report design and go to Row Group then Group Properties. Select Sorting from the menu and build an expression with an if statement similar to this:
=IIf(Parameters!sort.Value=0,Fields!First_Sort.Value,Fields!Second_Sort.Value)
Might help you.

Resources