Add Supervisor Filter to SSRS Labor Edit Report

Hey,

Trying to devise a way to filter the Labor Edit Report by supervisor. I have added a BAQ combo box and got it populated correctly. But I am unable to figure out how to integrate it as a filter. Any thoughts on how to accomplish this?

Thanks,
Dylan

Not sure you can do this without the SDK…

Dylan,
I’m pretty sure adding filters to Standard Reports is not currently possible.
Usually I recreate reports with a BAQ Report using the RDD as a guide, but it can be very tricky so you replicate the report exactly.
For one client, we found that they needed more data than what the Labor Edit Report provided anyways so we developed a Dashboard instead which worked much better and there was no need to print anything.
However, I looked at the Labor Edit Report and I might have another option that might work better for you:
There is already filters for Department and Employee. Since Employees are assigned to Supervisors you could create an Employee Quick Search that would include the Supervisor as a Criteria. This would return all the employees for the supplier and you would then select all those employees for the Filter.

The threads below have me thinking (hoping) it is possible but… I have not been able to get it work on my own…yet.

Please let us all know if you are able to get yours working.

The Labor edit report has a filter for employee. You could make a Quick Search to filter the employees by supervisor.

Not as elegant as a pre-poulated dropdown. But it would work

FWIW…
Not sure it will help in your case but…
using the example in the previously mentioned thread.
I was finally able to pass some CallContextBpmData to a report


You could have your customization auto populate the grid on the Filter -> Employees tab.

Thanks for the responses, everyone!

@bordway I am currently trying to add the Call Context BPM data. It doesn’t show up as an epibindable object once the new report is uploaded and the data set is synced. Any ideas on why this isn’t showing?

@ckrusen Could you give me a little more guidance by what you mean when you say make a quick search filter? I was going to attempt to filter by the employee but select a supervisor from there. Then filter the report using a where statement.

I made the BAQ E10H-EmpSuper

display columns

image

Add BAQ Search Like

image

Create the Quick Search:

image

Add the Criteria:
image

FWIW - I would get an odd error (something about number of keys) when creating the Criteria in Quick Search. I just ignored it, and everything seems to work.

Then in the Labor Edit Report form, select the Filter -> Employee tab, click the Employee button, and choose Quick search tab
image

Select LER01 and hit search button. You’ll see

image

Leaving the Super field blank returns all employees (after you hit Search again)
image

Enter the start of the name to filter on that supervisor

image

2 Likes

If I understand what you are saying…
Then Yeah…, it’s just one of those things that won’t display, you just have “to know” it exists and then you can manually build/update the dataset expressions in SSRS.
Added a couple screen shots below, where instead of a separate dataset, I was able to add the fields to LaborDtl in SSRS. A lot of fiddling for this, which is what I needed.
But… in your case, I wouldn’t be surprised if Calvin’s approach was better/simpler?

i.e. the hard way…


A danger of using the CallContext variable to filter at the report level is that it doesnt limit the dataset. If the RDD uses the selected employees as an input, the output dataset might include calcs that are affected by the employees list. Filtering at the RDL could be done to hide certain records from being displayed. But any summary type fields of non-hidden record might include info from the hidden records.

@ckrusen The BAQ quick search works decently. However, I’m looking for something a little more dynamic. We are constantly processing people through and changing positions within our company. I’m trying to create a filter on the report that will search by the supervisor and automatically update when a new employee is added or subtracted. Any chance you have another avenue I can try?

Something I started looking into, but realized I don’t have the programming chops for, was to automatically populate the employee grid on the change of the Supervisor dropdown.

I got the customization to the point of having the dropdown auto populate with the supervisors names, and would trigger a function when the supervisor name changed. I just come up short on how to automatically populate the employee grid.

I’ll do a little experimenting to see if I can figure it out.

@bordway I am receiving the following error.

Is it safe to assume that I need to add the fields to the RptLabels section as well?

If I put some Employee ID’s on the clipboard like:

image

Then execute the following in the OnChange of the dropdown:

EpiUltraGrid EmployeesGrid = (EpiUltraGrid) csm.GetNativeControlReference("95690a4d-34cd-4af3-a06b-f756361fd9f6");
EmployeesGrid.OnGridPasteInsert ();

The Employee grid populates with those employees (ID’s SH003 and SH002).

So if someone else can tell you how to set the clipboard, you could query the EmpBasic table, and populate the clippboard with just the EmpID’s of the names for the macthing Supervisor.

Outline:

  1. Get the list of employee ID’s for the supervisor selected from the dropdown
  2. Populate the clipboard with the Emp Id’s (CRLF delimited)
  3. PastInsert(); to the employees grid

If you added fields to the LaborDtl dataset expression in SSRS
Did you also remove exclusions in your RDD for LaborDtl.TimeTypCd?

@bordway I went ahead and removed both the TimeTypeCD and ShortChar02 from the report as they were not needed. I am not backtracking through the expression for LaborDtl as the error seems to be there.

They were only needed in my case to create the join in the dataset expression.

  • where in my case, they are always blank so they worked.

i.e. this part I added to the expression:
LEFT OUTER JOIN CallContextBpmData_” + Parameters!TableGuid.Value + " T3 ON T1.TimeTypCd = T3.ShortChar02"

I am looking at this from a different angle and curious if break/routing could be utilized for this sorting and distribution. The idea is that it will break the report on supervisorID from the empbasic table and then condition that based on the supervisorid to print/email based on the supervisorid. I have not successfully got this to work but am new to APR so still working thru it. What I did was setup my break table as EmpBasic and break column to SupervisorID then I set a filter on if supervisorID equals one of our supervisor’s employee number and had it email out. I have a report but all it did is not show the names for any employee that is not under that supervisor
image