I have six series in my column chart for range of dates like 30 day period. This chart looks very congested:
Is there any way user can apply series filter on y axis and date filter on x axis to see the display of specific series on the chart at runtime?
I tried with report parameter. It does not work. Parameter selects whole chart to display or not. I do not know the exact way of doing that. Is there any chance in SSRS Chart itself to show filter at runtime so the user can edit the filter like one in Excel?
To filter on a parameter selected by the user you can follow this process. Note that I am starting with a Chart like this based on the AdventureWorks database. In this example I shall filter on the Region field only.
First you will need to define a new dataset to filter on. Create a new dataset and set the query to be the equivalent of
SELECT DISTINCT SalesTerritory FROM myView
UNION
SELECT 'All' AS SalesTerritory
Now you need to create a new Parameter with values based on this Dataset. I created one called RegionFilter with the Available values set to the values returned by your new dataset
And the default value set to 'All'
Finally, you need to set the filtering on the Chart to be the result of the value selected for the parameter. Right click on the Chart and choose Chart Properties… -> Filters
Set the expression to be
=iif((Fields!SalesTerritory.Value = Parameters!RegionFilter.Value) OR (Parameters!RegionFilter.Value = "All"), 1, 0)
And the Value to be
=CInt(1)
This is essentially comparing the Region Filter Parameter value you have provided to either each record in the query, only allowing those that match, or, in the case of ‘All’ being selected, allowing all records.
When put together the report will look the same when first run, as the default value is set to All. However when you chose a region the resulting chart will filter down accordingly.
I hope you find this useful and can adapt it for your requirements. Let me know if you require further assistance
Related
I am wanting to search this list:
The goal is to determine what all is inside Basket 1, determine which item of those costs the most, and return the color of that specific item. My brain is having a hard time determining the right path for this.
With a Pivot Table, you can resume data based on basket # and then filter by most valuable item, and get the color.
The set up for this Pivot Table is all fields into Rows Section, except Amount that will go into values.
NOTE: Even if my Excel language is different than yours, options I'm using should be in the same position. But anyways, besides set up from the image above, you need to apply a value filter (not label filter!), to field ID and make sure choose option TOP 10 and set it to show just TOP 1
If you just want the most expensive item, ignoring Basket #, just remove field Basket from your Pivot Table, and it will work.
Actually you could have 2 Pivot Tables, each one set up in a different way (all baskets, or each basket).
I have a bunch of values that are part of categories. Now I want to show the sum of each category in my chart. How can I group rows values of the same category in my chart only?
Basically, you can't achieve aggregate result without some data manipulation.
There are two ways to go on that issue.
First ,create a distinct categories, then sum-up the values by category using SUMIF Excel function, create your chart. The draw back of this method that if more categories added you'll have to add them manually.
Second option, is to create a Pivot-table of your original data and only afterwards create pie chart.This option is more convenient, hence it is a scalable solution
Have a great day
I have a shapefile in Spotfire and in the tableview of it I have a column displaying DenseRank. For example, if limit data by expression from the full 100 rows in the table to just 30, the DenseRank does not change. How can I perform this task?
Thanks,
Chris
Tableview does not allow dynamic calculations, unless you have a Document Property in the expression, The calculated column expression executes whenever Document Property value chane (or Calculations refreshed), for your scenario I think instead of using filter create a property control with Fixed values (10,20,30...100) or Values from a column (the one you are using to filter data). and use Document Property linked to the Property Control in your Calculated Column Expression .....
I found a workaround to dynamically rank data based on filtering or marking. If you create a data function as simple as "tableout <- tablein" then you can pass the original filtered and/or marked table to a new table. From there, insert calculated column on the new table and it will recalculate each time.
I am trying to write a calculated member which acts differently depending on whether the user is filtering by that member or has it dragged down as rows or columns on their pivot table (using Excel).
The rules are:
1. If the user is using the date dimensin as a Report Filter in Excel, then the calculated member should get the maximum date out of all dates that they are filtered by.
2. If they have the date dimension as rows on the pivot table, then I need to apply ClosingPeriod and some other logic.
Please try this. The idea came from here.
Basically the dynamic named set represents what's in the report filters. And the EXISTING keyword trims the list of days down to the filter context of the current cell letting you detect say if one month is on rows. Compare counts and you can detect what the user did.
CREATE HIDDEN DYNAMIC SET CURRENTCUBE.SelectedDays as
[Date].[Date].[Date].Members;
CREATE MEMBER CURRENTCUBE.[Measures].[My Calc] as
CASE
WHEN SelectedDays.Count > {existing [Date].[Date].[Date].Members}.Count
THEN Tail({existing [Date].[Date].[Date].Members},1).Item(0).Item(0).Name
WHEN SelectedDays.Count < [Date].[Date].[Date].Members.Count
THEN Tail(SelectedDays,1).Item(0).Item(0).Name
END
Performance is going to not be good. And I suspect users will be confused with the results of your calc. If you want to describe the business scenario more I can maybe recommend a better approach.
I need to create several pivot table once and week, and I wonder if there is any efficient method to drag several item into value field. (I tried to left click on the item I need, but it will automatically go to "row" field.)
And also, is there any efficient method to set up "value field setting"?
I want to summarize value field by "sum", but it will automaticall become "count". If i have 20 items in "value field", I need to click value field setting for 20 times...
Given that you have used the PowerPivot tag then I will assume that you are talking about a PowerPivot PivtotTable not a standard Pivot.
The first thing to do is explicitly create measures (called Calculated fields in 2013) for each calculation you wish to make - not only does this mean you can choose to sum not count but also that you can specify the format you want and once it has compiled, the measure will be added more quickly that just dragging the column into the box.
The easiest way to create a measure is to right click on the table and then in the dialogue box add a formula such as:
=SUM('mytable'[mycolumn])
In the same dialogue you can name the measure and choose the number format.
Once you have the measures you need, you can create a 'set' which is simply a collection of measures/dimensions. The easiest way to do this is create the Pivot you want then go to:
PivotTable Tools>Options>Fields, Items & Sets>Create Set based on....
From there you can name the set and make alterations. Then in future you will see that set in the field list and be able to add it to you pivots with a single click.
Jacob