Enable Drill Down according to User access in SSRS - ssrs-2008

I am basically trying to create a report where I need to take average of employees attendance per year and in another report I need to create an AVG(Attendance) for employees for each month.
So
Report 1:(Attendance Per year)
Parameters:
(Year) Attendance (=100%, >=95% and <100%,>=90% and <95%,>=80% and <90% )
|EMPID | EMP_Name| AVG(Attendance)|
Report 2(Attendance per month)
(Year) (EMPID)
|EMPID | EMP_Name| AVG(Attendance)|
My question is can I just create one report and have Report 2 as a drill Down and have only users with certain privileges access the details (Report 2 ) .

You can obtain the user from User!UserID, and use that to look up an access level. Then you can make the drilldown visible or invisible depending on user access. That should make it possible to control access to the drilldown.
Also see this post.
Does this help?

Related

How do I find the average age of users based on value of another column?

I have a dataset for health procedures with each patient listed under Index_Num. Most patients are listed several times as they have had several services. There is a column with their age.
There is another column called Portal_Use, which says "Yes" or "No" based on whether the user is a portal user.
The question I am trying to visualize in Tableau is the Average Age of Portal Users.
I created a group of the Index_Num, but don't know where to go from there. I'm essentially looking for a bar chart that has one bar for portal users and one bar for non portal users with the average age. This would be very easy if there weren't multiple rows per patient.
Based on your explanation I have used below data to generate the sample workbook.
Use your Portal_Use flag as a Columns
Add Age as an AVG value in Row section
From Show me section select the Type of Bar char you needed
Above will give you desired results as per below.
I hope this helps!!!

Jasper Report with more than one page

I'm currently using the report to print out the information of all the employees using the same format.
For example, here is the employee table in my database.
EmployeeID NAME AGE
----------------------
1 Tom 28
2 John 30
3 Tony 32
I just want to print out the information of the employees using the same format whenever there is other employees in the table. (first employee in first page, second in the second page.....)
Is there any way like that?
You can use PageBreak for each row so you can have a page
To implement this solution:
add the table component to your report
open the DataSet associated with this report and add to it the Group
set Group expression to
(int)($V{REPORT_COUNT} - 1)
check 'Start on a new page' property
see the link for more detail
http://community.jaspersoft.com/wiki/ireport-how-introduce-page-break-after-pre-defined-number-rows-table-component

How to create an Dependent measure in Tableau?

I have 2 reports displaying data as
Filter Partner Name (Applies only to Report1)
Report 1:
Country Name : XXX
Members Count:1500
Report 2:
Partner name : XYZ
Members Count:1203
On applying filter only to Report 1 : Member count changes
now how can i show the data on Report 2 for the Members Count displayed on Report 1?
Report 2 should have members count that is displayed on Report 1 only
What i'm looking is like a dynamic Count(ID) in Report 2 that changes every time there is a change in Count(ID) of Report 1
on Applying Filter to Report 1
On clicking on bar like above the Data in Report 2 must display only for the (72 members) as Shown Below
How to do this in Tableau 8?
Don't understand, why can't you just apply Partner Name filter to both reports (right click, apply to worksheets,...)?
That way both reports will only display data for the selected partners. You can even build a dashboard with both reports side by side, an put a quick filter so you can select the partners you want to show, and apply the filter to both sheets at the same time.
If this does not work, I'm going to need a little more detail of what you're trying to do, how your database is organized, and how you built the sheets.

Crystal Reports Dynamically Grouping by Date

I'm relatively new to Crystal Reports and it seems like this should be easy, but I haven't been able to figure it out after a lot of googling. I'm working on a report in Crystal Reports XI that will show total hours logged by support staff for a date range and show sub totals by week, month, or both depending on the user input. My report is currently arranged as follows:
Group 1 Header - Support Staff Member
Group 2 Header - Ticket Closed Date with section printed monthly
Group 3 Header - Ticket Closed Date with section printed weekly
Group 4 Header - Ticket Category
Group 4 Footer - Sum of time logged in each category for the week
Group 3 Footer - Sum of time logged in all categories for the week
Group 2 Footer - Sum of time logged in all categories for the month
Group 1 Footer - Sum of all time logged
My original idea was just to suppress the header and footer for groups 2 and 3 when they weren't needed, but if I manually do that it still prints the records by week and month. Is there a way to not have the grouping at all unless the parameter says to show those totals? Or if that isn't an option, how would I use the parameter to change whether the group prints records weekly or monthly?
Thank you
Best option would be create a string parameter 'option' with values weekly and monthly.
Now create a formula grouping.
If ?parameter='weekly'
Then //your weekly code here
Else if ?parameter='monthly'
Then //your monthly code
Now use this formula in grouping instead of multiple groups.
Now when user selects option your grouping will change dynamically.
Hope this helps

SQL Server Reporting Services - Custom security module

Take the following two scenarios:-
Developer A has created a set of reports:-
Report A shows details of Audi car sales
Report B shows details of Mercedes car sales
Report C shows details of Volvo car sales, and so on for each of 30+ manufacturers.
So we have 30 report files (.rpt).
Developer A has done this so he can assign different security permissions to each AD group of users:-
Group A can only see Audi car sales,
Group B can only see Mercedes car sales,
Group C can only see Volvo car sales, and so on.
Developer B has taken a different approach:-
She has created a single report (one .rpt file) that accepts a 'manufacturer' parameter in order to display the data for any manufacturer.
In both scenarios the reports are loaded from a report 'menu'. In the first scenario a hyperlink for each manufacturer takes you to the relevant report. In the second scenario the same hyperlink supplies the manufacturer name to the single report as a parameter.
The downside with this scenario is the single report file cannot be locked down to a specific set of users. If the report was locked down to Group A, then Group B or C could not view it at all.
Onto the question:-
In order for us to make the second scenario viable we would need a way of checking to see if the current user, or the current users group has access to view the data they are requesting.
I was thinking of using a custom function, something like CheckAccess(Username,Manufacturer) that returns a true or false, and depending on the return value either redirect the user to load the report, or to an error page respectively.
Another option would be to set up roles for each manufacturer, then assign the roles to each group of people. Could a custom function then be used to check if 'Bill' has the 'Audi' role ??
Looking for ideas here as to the best approach.
I suggest you:
Create a table with the userid and report parameter in it. This way the security of the user access can be managed.
Then use the ssrs User!UserID reference as a parameter in your query.
As an added benefit you can create a query to only populate the manufacturers the active user is allowed to see.