Skip to main content

Wabit finally supports Parameters!

In the last days SQL Power released Wabit 1.3.1, you can download it here: SQL Power Download Website.

The most important change that came with Wabit 1.3 is the ability to parametrize reports. Below is a screenshot on how it looks like:

Report with parameters in SQL Power Wabit
You can choose a text entry field, date picker and a select box as parameter entry field. The values from a select box can be based on a query.

How to add parameters to your report:
  • Add parameters to your SQL query. You can add parameters either by using the parameter dialog (Ctrl + Space) or just by using the right syntax in the query, for example "continent =${Continent->Europe}".
    • ${Continent} defines the parameters "Continent"
    • ${Continent->Europe} defines the parameter "Continent" and sets the default value to "Europe"
Parameter in a query
  • Create a new Report
    • Drag the query into the report
    • Add a parameter in the parameter panel (Go to View->Docked Source List if you can't see the parameter panel) . Make sure the parameter has the same name as you defined in the query.
      • To add a text entry field add a free form text.
      • To add a select box add a drop down list.
        • If you want to use values from a query in your select box, add a query with the values first and then select the query using "Source" and "Pick a variable" in the parameter properties.
      • To add a date picker add a date selection widget.
    • You will see that the result changes depending on the parameter entered.
Using a query as a select box

This functionality is available in the open source version of Wabit. Give it a try and let me know what you think of it.


    EvilRabbit said…
    I've a question. I've previously worked with Crystal Reports, where I can get a subset of records by linking a sub report. However, I would very much like to know how to do the same in Wabit.

    You're using a region, and then displaying only the countries. Is this two different queries in one area?
    Ben said…
    I'm not sure if I really understand your question. With parameters you can create 1 query to get the list of possible parameters (ex. Continents). The selected continent (ex. Europe) can be used in the report (which is a second query) to only display countries from Europe.

    Popular posts from this blog

    Dynamic cell references in spreadsheets with Google Docs

    During my former internships in a consulting company I had to work A LOT with Microsoft Excel and often had to use dynamic cell references over multiple worksheets. Recently I started using the spreadsheets of Google Docs to track my bank account balance and to figure out where all my money goes. I decided to have one sheet for every month + one sheet of the month I want to analyze. But how do I dynamically change the reference to the sheet (the monthly sheet) I want to analyze without editing every single formula? Here is my solution : Create the target sheets and your overview sheet - I gave my sheets the names Month + Year (July 09) In the overview choose one cell that you want to contain the reference sheet and enter the sheet name - cell D24 in the example - Using the month names you might have to write 'July 09 , otherwise Google will think it's a date. In the overview you can now dynamically reference to a detail sheet using the following formula: =INDIRECT("'

    Pentaho Data Integration - Multi-part Form submission with file upload using the User Defined Java Class Step

    I recently needed to use Pentaho Data Integration (PDI) to send a file to a server for processing using HTTP Post. I spent several hours trying to use the existing steps HTTP Post, HTTP Client & Rest Client but I couldn't get it to work. After some more research I came across the issue PDI-10120 - Support for Multi-part Form Submittal In Web Service Steps  and I thought I was out of luck. I previously wrote a small Java client for a similar use case and remembered the PDI has a step called User Defined Java Class  (UDJC). After reading this great tutorial I created the following basic transaction. I have a dataset with the URL and the full file path and use the UDJC to make the HTTP call. HTTP Post using User Defined Java Class The Java class handles the actual HTTP Post. It uses 2 input variables, the URL (url) which is used for the call and the file name (longFileName). The HTTP call then contains the file (line 30) and the file name (line 31). I included some basi

    Creating YTD transformation tables

    The other day I had to setup a new data warehouse that will be used for reporting with MicroStrategy. Part of it was setting up the date dimension including the transformation tables. I had a quick look online and couldn't find any script doing the work for me so I created them myself (with the help of a colleague). All you need is an existing date dimension with date_id, year_id, quarter_id, month_id and week_id, you can find plenty of scripts for that online. YTD table select t1.day_id, t2.day_id INTO YTD_DAY from LU_DAY t1, LU_DAY t2 where t1.day_id >= t2.day_id and t1.year_id = t2.year_id QTD table  select t1.day_id, t2.day_id as qtd_day_id INTO QTD_DAY from LU_DAY t1, LU_DAY t2 where t1.day_id >= t2.day_id and t1.QUARTER_id = t2.QUARTER_id  MTD table select t1.day_id, t2.day_id as mtd_day_id INTO MTD_DAY from LU_DAY t1, LU_DAY t2 where t1.day_id >= t2.day_id and t1.month_id = t2.month_id  WTD table select t1.day_id, t2.day_id as wtd_day_id INTO WTD_D