I have a report with 2 columns, both columns measure Sales. I would like 1 column to filter on a supplier while the second column would be overall sales so that I can compare the sales of the supplier to the total sales. This report would be used on a dashboard, however I cannot figure out how to get the total sales column to ignore the prompt for the supplier. Is there any clauses I can use to ignore the dashboard prompt for this one column?
Method:
The prompt sets the variable
Report A calls on the variable to tell it what to include
Report B calls on the variable to tell it what to exclude
How-to
Setup Prompt for “INCLUDE” variable.
Notice the "Set a variable" is set to Presentation Variable:
Report A
Report Filter: Setup Report Variable to accept “Include”:
Report B
**Save a copy of the report and say “is not equal to”
To compare the “All Other except for” report
Below is a simple example on a dashboard.
With no filter set, notice that the "exclude" side is showing all results:
A user must then select an item from the prompt (setting the "Include" variable)
Once the user presses apply you notice that the left side is including the selections and the right side is including everything EXCEPT for whats on the left side:
Related
I have an analysis that uses a filter in order to limit the results.
I put this analysis into a Dashboard together with a Dashboard prompt.
The Dashboard prompt consists of various columns and all of them are of type "Choice list" and all have the option "Limit values by" = "All prompts".
However, this is not working as I expected. I thought that the values appearing in he Choice list should be limited by the filters applied in the analysis but it seems that the dashboard prompt first shows all the possible values before having applied the analysis filter.
Is this correct?
If this is the way it works, the problem I am facing is that some of the values appearing in the Choice list of the prompt columns will result in NO DATA in the analysis.
Thanks for your help!
"I thought that the values appearing in he Choice list should be limited by the filters applied in the analysis"
Exactly the other way around. Prompts send their selected values to the filter that's in the analysis and hence cut off the data stream.
It is normal that a prompt retrieves selection values for which a certain point of view retrieves no data. Other way round would make no sense. Imagine you sell 5 products and one didn't sell at all in August. Do you want to remove August from your month prompt?
The interdependence of prompts that you mention is for example - limit regions to only regions of a selected country. Limit customers to only customers of a selected business unit etc.
What you write and expect is that the prompt should go over the effective data (facts) and only retrieve values for which data (facts) exists. As said above that's not the most logical thing to do in an analytical environment since one change of point of view can mean that data "exists" or "doesn't exist" - then you change the point of view and the situation changes. And you want that. You don't want to hardcode points of view which over time or when somebody else looks at the data (personalized data security) they will get different results.
Don't hardcode too much. Don't restrict the system artificially.
Update: https://imgur.com/BxGnbbB
Here's a screenshot of where you can restrict the prompt
I currently have a tablix that looks like this:
I also have three parameters:
When the user selects the report parameter, this tell the query what columns in expected value to show. So the columns pivoted are dynamic based on that parameter.
If the user selects multiple parameters for report, I'd like the report to page break based for each parameter they choose.
Example:
Here the user chose ILO, IP, and LogicDrive for the report parameters. These are all the columns that will show in expected value.
Instead off all them being grouped together, I'd like the to create individual column groups with a page break in between.
Is this possible?
Update
I managed to get the column values grouped by the parameter:
I created a parent column group like this:
Now my issue is getting the page breaks in between each column grouping.
I read based on this Microsoft doc that it may not be possible:
https://learn.microsoft.com/en-us/sql/reporting-services/report-design/add-a-page-break-report-builder-and-ssrs
It says: Page breaks are ignored on column groups.
Is this still true?
I am using Visual Studio 2012 for SSRS and my queries come from using Microsoft SQL Server 2012.
My question below pertains to SSRS and sorting.
In my Tablix, I currently have the Row Groups set up as Group -> Manager -> Owner -> Status Description and when it pulls the data from the data from the dataset, it pulls in fine. In the tablix, basically everything is a drilldown and each of the Row Groups (except Group) is hidden initially and can be displayed/toggled by the report item ahead of it. In the Status Description part, when it pulls in the records, it pulls them in as Active, Completed, In Process...which is fine because they are pulling in ABC Order.
But I want to show that specific column when it pulls in as Active, In Process, Completed...in the way that a specific file would go through the process. These are only 3 specific ways the data could pull it as, there are more, but these are the most common seen. How do I sort that individual column to get it in the way I mentioned above or a way that I can customize the sorting based on how I want it to be seen?
You can use expressions in the sort order to get the sorting exactly as you'd like.
What you can do is use the SWITCH statement to number your output in the order you want. For example I have 3 statuses: "Complete", "On Hold" and "Word at Risk". Normally they would either sort as Ascending or Descending... but if I enter this in the Sort Order Formula I can change that:
=SWITCH(
Fields!PRS_STATUS.Value = "Complete", 1,
Fields!PRS_STATUS.Value = "Word at Risk", 2 ,
Fields!PRS_STATUS.Value = "On Hold", 3)
And now it orders 1,2,3 aka Complete, Work at Risk, On Hold.
You can put this switch in a larger switch statement to have multiple sort orders depending on a criteria or parameter.
I have flight data records for each user. The table below shows an example for one user id. I need to group by user_id (show only one row for each user_id) that has the latest flight_date.
When I added grouping by user_id, the result report displays the right flight date, but the rest of the fields come from the last row for each user (highlighted fields).How do I make it show the entire row with the latest date (4th row in my example)? Thank you!
If you only want to see the most recent record, per userID, based on the flightdate, there are a few options. The most efficient way is to use a custom SQL command, but Crystal can do it by retrieving all of the records, and then suppressing the records you don't want to see.
1.Group the report by USERID (Report > Group Expert > Add the USERID field to the group section)
2. Sort the records by FlightDate ( Report > Sort Expert > Add FlightDate and select Descending NOTE: if FlightDate is not a date, we will need to create a formula to convert it into a date first, otherwise Crystal will treat it as a string and 12/2015 will be higher than 1/2016 (for example)
3.Create a running total to count the number of records within each group (This is how we will tell Crystal to suppress the records we don't want)
--Right click "running Total" on the right hand side, select New. Name it whatever you want; under Field To Summarize add FlightDate, change summary to COUNT
Leave Evaluate as "For Each Record"
Under Reset, select On Change of Group and select the group for USERID
The report should look like this
In the Section Expert, select Details and click the formula button next to "Suppress"
Enter the formula {#RecountCount} > 1 (Or whatever name your running total has)
Now you should only see one record for each user
I have a dashboard containing 2 analysis reports. The reports are nearly identical (one is being used as a reference to a system we are trying to retire), and so they use the same prompt columns.
The problem I am running into is if I leave any of the prompts columns blank, the dashboard prompt still expects a value, causing the report to return nothing.
Dealer Number is equal to Prompt_Dealer -Left default blank in the analysis
and Enterprise is equal to {} -Added {} to the default analysis value
and Dealer Name is equal to "" -Added "" to the default analysis value
I've also tried using null, but with no luck.
Is there a way to ignore the column prompt if I don't enter a value on the dashboard page?
By setting the individual analysis filters to OR, instead of AND, and making sure that they are logically grouped, the dashboard prompts will be ignored when left blank.