Alpha Software Mobile Development Tools:   Alpha Anywhere    |   Alpha TransForm subscribe to our YouTube Channel  Follow Us on LinkedIn  Follow Us on Twitter  Follow Us on Facebook

Announcement

Collapse

The Alpha Software Forum Participation Guidelines

The Alpha Software Forum is a free forum created for Alpha Software Developer Community to ask for help, exchange ideas, and share solutions. Alpha Software strives to create an environment where all members of the community can feel safe to participate. In order to ensure the Alpha Software Forum is a place where all feel welcome, forum participants are expected to behave as follows:
  • Be professional in your conduct
  • Be kind to others
  • Be constructive when giving feedback
  • Be open to new ideas and suggestions
  • Stay on topic


Be sure all comments and threads you post are respectful. Posts that contain any of the following content will be considered a violation of your agreement as a member of the Alpha Software Forum Community and will be moderated:
  • Spam.
  • Vulgar language.
  • Quotes from private conversations without permission, including pricing and other sales related discussions.
  • Personal attacks, insults, or subtle put-downs.
  • Harassment, bullying, threatening, mocking, shaming, or deriding anyone.
  • Sexist, racist, homophobic, transphobic, ableist, or otherwise discriminatory jokes and language.
  • Sexually explicit or violent material, links, or language.
  • Pirated, hacked, or copyright-infringing material.
  • Encouraging of others to engage in the above behaviors.


If a thread or post is found to contain any of the content outlined above, a moderator may choose to take one of the following actions:
  • Remove the Post or Thread - the content is removed from the forum.
  • Place the User in Moderation - all posts and new threads must be approved by a moderator before they are posted.
  • Temporarily Ban the User - user is banned from forum for a period of time.
  • Permanently Ban the User - user is permanently banned from the forum.


Moderators may also rename posts and threads if they are too generic or do not property reflect the content.

Moderators may move threads if they have been posted in the incorrect forum.

Threads/Posts questioning specific moderator decisions or actions (such as "why was a user banned?") are not allowed and will be removed.

The owners of Alpha Software Corporation (Forum Owner) reserve the right to remove, edit, move, or close any thread for any reason; or ban any forum member without notice, reason, or explanation.

Community members are encouraged to click the "Report Post" icon in the lower left of a given post if they feel the post is in violation of the rules. This will alert the Moderators to take a look.

Alpha Software Corporation may amend the guidelines from time to time and may also vary the procedures it sets out where appropriate in a particular case. Your agreement to comply with the guidelines will be deemed agreement to any changes to it.



Bonus TIPS for Successful Posting

Try a Search First
It is highly recommended that a Search be done on your topic before posting, as many questions have been answered in prior posts. As with any search engine, the shorter the search term, the more "hits" will be returned, but the more specific the search term is, the greater the relevance of those "hits". Searching for "table" might well return every message on the board while "tablesum" would greatly restrict the number of messages returned.

When you do post
First, make sure you are posting your question in the correct forum. For example, if you post an issue regarding Desktop applications on the Mobile & Browser Applications board , not only will your question not be seen by the appropriate audience, it may also be removed or relocated.

The more detail you provide about your problem or question, the more likely someone is to understand your request and be able to help. A sample database with a minimum of records (and its support files, zipped together) will make it much easier to diagnose issues with your application. Screen shots of error messages are especially helpful.

When explaining how to reproduce your problem, please be as detailed as possible. Describe every step, click-by-click and keypress-by-keypress. Otherwise when others try to duplicate your problem, they may do something slightly different and end up with different results.

A note about attachments
You may only attach one file to each message. Attachment file size is limited to 2MB. If you need to include several files, you may do so by zipping them into a single archive.

If you forgot to attach your files to your post, please do NOT create a new thread. Instead, reply to your original message and attach the file there.

When attaching screen shots, it is best to attach an image file (.BMP, .JPG, .GIF, .PNG, etc.) or a zip file of several images, as opposed to a Word document containing the screen shots. Because Word documents are prone to viruses, many message board users will not open your Word file, therefore limiting their ability to help you.

Similarly, if you are uploading a zipped archive, you should simply create a .ZIP file and not a self-extracting .EXE as many users will not run your EXE file.
See more
See less

Filter report with multiple parameters

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Medic1196
    replied
    Re: Filter report with multiple parameters

    We have expanded the report UX with a way to enable and disable the filter fields based on which report will be run. In the screenshot we have filter fields which may or may not be in the reports underlying datasource, but we want to be able to run many reports from one UX and using the same filters. To do this we allow the user to first click which report they want to run, this does not run the report, but instead it sets some checkboxes true or false for each of the filter fields on the UX. If the checkbox is true then the filter field is enabled, if not then it is disabled and the user cannot use the filter, since the datasourse does not contain that field. It would actually not do anything anyway, but it can confuse users if they select a filter that has no bearing on the outcome of the report.

    My question is this....is there an easier way to do this than what we came up with? Still not confident using Alpha, and sometimes we do things the round about way.

    We will be adding a few more filter fields and a lot more reports to this UX, but it seems to work ok, so far.
    We started by trying to just enable and disable the fields when the report is selected, but never had any luck, so we used the checkboxes.

    If anyone has a better way, please let us know before we build this bigger and expand to other modules in the application.
    3.jpg

    Leave a comment:


  • Medic1196
    replied
    Re: Filter report with multiple parameters

    Thank you Edhy, that helps a lot. I appreciate you spending the time to help me.
    I will tackle this next week.

    Leave a comment:


  • Progytech
    replied
    Re: Filter report with multiple parameters

    Travis,
    Yes the SP is the report's datasource.
    These are the steps:
    1. Create a new report based on <SQL Data Source>
    2. In your data source, for SQL Syntax select "Stored Procedure"
    3. Create your report arguments as shown in my previous screenshot and add a call to your stored procedure passing the report arguments :arg1, :arg2 etc. that you created.
    4. Now when you design your report, AA will grab the metadata for the fields in your SP so you can drag and drop your fields in the report.
    5. Click preview and your SP will be executed and the report previewed.
    6. Then in your UX you can use a JavaScript Action to open that report and update its arguments/parameters with the values of your UX controls expected by your SP.

    As you can see the most important part is to make sure your SP is working properly in MySQL before you can use it anywhere in AA.

    Leave a comment:


  • Medic1196
    replied
    Re: Filter report with multiple parameters

    Let me throw something out there that has me confused on this. The SP is the reports datasourse? And the report can be opened by the usual action javascript?
    I see the code above but nothing to actually open the report. This is what is a little confusing about everything we have tried the last few days. Like Charlie stated, I couldn't figure out how to open the report to see if the filter was working.
    I will look at the links you have provided and work on figuring it all out.
    Thank you again Edhy.

    Leave a comment:


  • Progytech
    replied
    Re: Filter report with multiple parameters

    You are welcome Travis.

    Originally posted by Medic1196 View Post
    Is a stored procedure along the same lines as a pass-through query?
    Yes and no. A Store Procedure is basically a SQL Query Statement you create in your database which you can then execute to return the cursor.
    I know MySQL has a tool that will allow you to manage your database, look at the Store Procedure tree and right click to create a new one. you would actually start by creating your query and test it until you get the results you want, then you copy that SQL statement in your Stored Procedure so you can call it from AA report or Grids.
    Look at these links from Google:
    https://www.youtube.com/watch?v=yf7hZvUD1Lk
    https://www.google.com/search?q=mysq...+example+video

    This is a much better video for you:
    https://www.youtube.com/watch?v=jRNZHWDEgIg
    Last edited by Progytech; 03-02-2015, 07:55 PM. Reason: Added new video link for how to create stored procedures in MySQL.

    Leave a comment:


  • Medic1196
    replied
    Re: Filter report with multiple parameters

    Thank you Edhy, I think I can understand that much better than before. I will give it a shot and see what I can do once I get caught up. I am sure I will have more questions for you as I go along. Is a stored procedure along the same lines as a pass-through query?

    Leave a comment:


  • Progytech
    replied
    Re: Filter report with multiple parameters

    Hi Travis,
    Glad to here you are in the right path, I know how frustrating this kind of issues can be. AA is a powerful product but a good solid knowledge of your database is always a big PLUS.
    This logic I suggested, will work for you even using it in the AA Query Genie, but now that you mentioned that your application is a Multi-Company one using your Company ID to filter out the records, you have to make sure that data optimization is used, so I encourage you to study the Stored Procedure approach this way your MySQL server will take advantage o it by pre-compiling the SP and running faster. Always use the combination of Views and Stored Procedure and your AA application will perform faster and more reliable.

    Here is one of the Stored Procedure I use in one report:
    Code:
    CREATE PROCEDURE [dbo].[spGetRosterPaymentsReport]
    	-- Add the parameters for the stored procedure here
    	@OSISID VARCHAR(9) = '235390358', -- AGRAMONTE , JHAN
    	@StartDate DATE = '07/01/2014',
    	@EndDate   DATE = '06/26/2015'
    
    AS
    BEGIN
    	-- SET NOCOUNT ON added to prevent extra result sets from
    	-- interfering with SELECT statements.
    	SET NOCOUNT ON;
    
    	-- Select all payments for this roster period
    	SELECT
    		si.PK_SEITPaymentsImported,
    		si.OSISID,
    		si.StudentName,
    		si.PaymentStartDate,
    		si.PaymentEndDate,
    		si.PaymentDate,
    		si.PaymentUnits,
    		si.PaymentAmount,
    		si.VoucherNumber
    	FROM
    		SEITPaymentsImported si
    	WHERE
    		(si.OSISID = @OSISID OR @OSISID = '')
    		AND (
    			(si.PaymentStartDate BETWEEN @StartDate AND @EndDate) OR 
    			(si.PaymentEndDate BETWEEN @StartDate AND @EndDate)
    			)
    	ORDER BY
    		si.StudentName, si.OSISID, si.PaymentStartDate, si.PaymentEndDate, si.PaymentDate
    END
    AA Report DataSource using Stored Procedure.png
    UX used for generating the report.png
    Last edited by Progytech; 03-02-2015, 07:31 PM. Reason: Added a Stored Procedure sample

    Leave a comment:


  • Medic1196
    replied
    Re: Filter report with multiple parameters

    I forgot to include one quirk we found. Even though each of the fields has the default value set to "<ALL>", it throws weird errors unless each of the fields used in the report filter has its value set again. We have a button called "Reset Report Filter" which sets the values of each field to "<ALL>". And we also run that same code when the UX opens. It is really weird that the default value is ignored, but at least its an easy fix.

    Leave a comment:


  • Medic1196
    replied
    Re: Filter report with multiple parameters

    Found a way that works great for us.....so far. We changed the way the filter is applied to the action javascript, and we added an additional choice to each and every drop down field "<ALL>". Then we used this in the SQL Filter:

    companyid = :cid AND CdDate >= :argDate1 AND ClassDate <= :argDate2 AND (CsName = :argCsName OR :argCsName = "<ALL>") AND (PersID = :argPers OR :argPers = "<ALL>") AND (ClName = :argClName OR :argClName = "<ALL>") AND (CoType_text = :argCoType OR :argCoType = "<ALL>") AND (PK9_text = :argPK9 OR :argPK9 = "<ALL>") AND (ClTopic_text = :argClTopic OR :argClTopic = "<ALL>") AND (LSkV = :argLSkV OR :argLSkV = "<ALL>") AND (IsReq = :argIsReq OR :argIsReq = "<ALL>")

    The arguments must be defined first for each of the fields and then the argument value set to the correct field.

    It is a multi-company application, so we had to include the company id, which uses a session variable, and all the rest of the filter is acquired from the fields on the UX. Selecting "<ALL>" will naturally show all the records for that field, so you can use any number of them you need and not if you don't need them.

    Utilizing (FilterValue = :argValue OR :argValue = "<ALL>") was the key and allowed us to use this without it being 6 miles long.
    So far this seems to be working like we want but we are still testing it. If anyone can see problems using this, please let me know.

    Leave a comment:


  • Progytech
    replied
    Re: Filter report with multiple parameters

    Hi Charlie,
    The problem is not AA report but probably the lack of knowledge on using stored procedure in your case. As I explained you before, I do this all the time, for your report, you have to build the same arguments or parameters you will use in your UX dialog and using a Stored Procedure is a straight forward process without building strings.

    Don't be intimidated by the use of Stored Procedures (SP), it is basically an SQL Select you build to grab your data the way you want it, passing blank or null parameter values to test your WHERE condition as I posted, then once that is working as expected, you can build your report using the SP as the source, creating the parameters required by the SP and then build your UX, pass the values of your UX controls to the report arguments and you are done.

    Try it!!!

    Leave a comment:


  • Charlie Tye
    replied
    Re: Filter report with multiple parameters

    that is not an acceptable solution robin. I would have to have a different ux for this dataset and reports, and then another ux for others and so on. I will have very many reports so it would take more than a dozen ux's and that would make it hard for users to find the report they need.

    Leave a comment:


  • Foodtester
    replied
    Re: Filter report with multiple parameters

    Alternative Approach. Here is an approach I have used used.

    In a UX create a list component based on the table or query you want to search(SQL), then add all the search boxes you want (Watch videos UXL-V12--22 and 23). Set up filters for the list.

    When you have got the list filtering how you want, add buttons or hyperlinks to open your various reports. Use action JavaScript with your buttons to open reports (Action is- Open Report, Label or Letter), the dialog to to enter your report details allows you to filter the report based upon currentListFilter("ListName")

    This should open the report/s based on filter criteria.

    Of course you may not want to have the list cluttering your page- so put it in a container and hide it on the client side. (I have my list visible, because I want my customers to have some indication of what will be included in the report/s and also to have access to reports based on individual rows).

    I would add that the reports have to be Layout Reports (I think).

    I had to do a load of experimenting and the list filter I have built is very complex, but I think you could take this approach and there is minimal self coding involved.

    I would think that a hidden grid could also used (currentGdidFilter).

    Leave a comment:


  • Charlie Tye
    replied
    Re: Filter report with multiple parameters

    I tried it different ways but it does not work.

    report.preview("boltorders.a5rpt")
    report.preview("boltorders")
    report.preview(boltorders)

    Leave a comment:


  • Stan Mathews
    replied
    Re: Filter report with multiple parameters

    the xbasic code to even open a report
    I don't do mobile/web so this may be completely wrong but the xbasic to open a report is

    report.preview()

    The only required parameter is the report name.

    Leave a comment:


  • Medic1196
    replied
    Re: Filter report with multiple parameters

    Thank you Al. Once I build the string, as you demonstrated, how do I pass that to the report and open it? I don't want to save it in a session folder, I just want to open it.

    Leave a comment:

Working...
X