SSRS Dataset Filter Operator

Hi --
I have a Dataset which returns data based on a multi select parameter. It uses a filter to achieve this and works as expected (based on the IN Operator).
Now I have to update the report so it also returns records for this parameter value which are NULL - Is it possible to achieve this using an expression/filter within the report, or do I have to get the DBA's to review and update the back-end stored
procs?
Thanks

Thanks Visakh16 -- Sorry, but to add to this..
I need to allow the user the option to include blank values, or not. Therefore I have added a new parameter "also include blank projects", a yes/no drop down.
I currently bring back the complete dataset, which is then filtered by the multi select projects param - but how do I get the new parameter ("include blank records") to bring back the selected projects AND records where the Projects field is NULL
if the new param is equal to Yes?

Similar Messages

  • SSRS dataset filter expression using OR

    I have a dataset that I need to set a filter for. What I need the filter to do is check 3 different fields to see if either one of them are in a parameter. The parameter is multi-value. So, I have a parameter set to 1, 2, 3. I need the dataset to return
    records where either Field A, B, or C are IN 1, 2, 3.
    Anyone know how to do this? I tried to have the filter expression = Fields!A.Value or Fields!B.Value or Fields!C.Value then the dataset filter operator "IN" and the dataset filter value = Parameter, but I just get an error on the dataset filter
    (cannot evaluate filter expression error)

    Hello,
    Mulitple expressions added to SSRS dataset filter are evaluated as AND (Expr1 AND Expr1 AND Expr3). If you are looking for a OR like Expr1 Or Expr2 Or Expr3 then you can use this solution explained below.
    Dataset Query used for this test:
    select *
    from (values ('Row1',1,1,4),('Row2',2,1,3),('Row3',3,1,2),('Row4',3,2,2),('Row5',5,3,2),('Row6',5,6,7),('Row7',2,6,7)) x(DataRow,A,B,C)
    Report Parameter :
    Defined a multi select report parameter named "Parameter1" with string datatype and added values 1, 2, 3.
    Dataset Filter Expression:
    =Filter(Parameters!Parameter1.Value,CStr(Fields!A.Value)).Length + Filter(Parameters!Parameter1.Value,CStr(Fields!B.Value)).Length + Filter(Parameters!Parameter1.Value,CStr(Fields!C.Value)).Length
    The expression above uses the Filter function in SSRS to check if the field A\B\C has any match in the parameter1 mutli select parameter. If yes the length property will return a value > 0. Repeat the expression for all the other fields and add the Values
    for length property.
    Use > operator in the filter dialogue box
    and value as 0 as shown in the snapshot below.
    The output is shown below. Row 6 is missing as Field A, B or C doesnt have 1, 2,3 as values. If this is the output you are looking for this solution should work for you.
    --sIbu

  • SSRS Dataset Filter expression query

    I have an SSRS report which has a simple dataset and accepts two date parameters, and filters the results based on a Position parameter. The Position parameter filter is:
    Expression: Position
    Operator: In
    Value: [@Position]
    I have now been told that each position has a few other aliases in the database against the Position column. i.e. For a Position of "Contractor" I now also need to return "Consultant" records, based on the same field. Note, only one Position
    can be selected at a time.
    I imagine I have to update the Value expression above to do something like:
    - When @Position in "Contractor" also return rows where Position is x, y, z (I am happy to hard code these)
    I have about 10 Positions each with one or more aliases - can someone help guide me on how to set up the expression?
    Thanks!

    Thanks Ione.
    Ok - I have set my parameter values in the value box, comma separated
    My dataset filter for the param Operator is set to IN and the value [@Position]
    However where I have multiple values set against a position I do not get any results (there is data in the DB)
    Do I need to do something different when setting the paramter values? i.e. use the expression and then a function to parse the comman separted values
    Or - something in the Filter to make the expression parse the incoming paramter?
    Thanks again

  • How do i use PL/SQL function in filter operator

    Hi,
    i want to use one pl/sql function in filter operator. how do i use it in filter condition.
    error i am getting is
    " error occured during expression validatation.
    my filter condition is
    INOUTGRP1.LAST_UPDATE_DATE > "GET_LAST_UPDATE_DATE"()
    can any one suggest me what is the problem for this error.
    Regards,
    Jyothy

    I tried and getting the same error. don't know why!!
    However, There is another way of accomplishing it.
    You can add a "Mapping Input Parameter" to your mapping and in the default value field call the function "Get_Last_Update_date". Then add the output field from this operator to the filter operator. Then edit the filter condition to replace the function call with output value from the Input parameter operator.
    This should work...

  • Parameter driven query and SSRS Dataset fields

    I have a Parameter in my SSRS Report, @PatientSelection. I use this Parameter within my SQL Stored Procedure to execute one version of the report and get specific columns, or another version of the report with different columns.
    -- @PatientSelection is set to 1 if the Business Report Requestor chooses "New Patients"
    IF @PatientSelection = 1...
    -- @PatientSelection is set to 2 if the Business Report Requestor chooses "Established Patients"
    IF @PatientSelection = 2
    When I do this, none of my fields are showing up within my SSRS Dataset.
    Am I fundamentally doing this the wrong way concerning SSRS and Report Creation???
    Any feedback is greatly appreciated. Thanks for your review and am hopeful for a response.
    PSULionRP

    You can add manually  the missing fields, drag and drop all needed fields to the tablix and see how was it  going. Doo you use one or two tables(based on the parameters) to display the report?
    Best Regards,Uri Dimant SQL Server MVP,
    http://sqlblog.com/blogs/uri_dimant/
    MS SQL optimization: MS SQL Development and Optimization
    MS SQL Consulting:
    Large scale of database and data cleansing
    Remote DBA Services:
    Improves MS SQL Database Performance
    SQL Server Integration Services:
    Business Intelligence

  • What is the differene between filter operation and NL semi join?

    Hi, all.
    The oracle is 10gR2 and 11gR2.
    There are differences between filter operation and HASH/MERGE semi join in processing subqueries.
    But I could not see the difference between filter operation and NL semi join?
    (the only thing I know is that filter operation has caching mechanism, but I am not sure in case of NL semi)
    What are the pros and cons of each of them?
    Thanks in advance.
    Best Regards.

    >
    The oracle is 10gR2 and 11gR2.
    >
    Those aren't 'version's. What are the 4 digit versions?
    >
    There are differences between filter operation and HASH/MERGE semi join in processing subqueries.
    >
    What are they? When you make a statement like that post the information (and links to it) that backs up your statement.
    >
    But I could not see the difference between filter operation and NL semi join?
    (the only thing I know is that filter operation has caching mechanism, but I am not sure in case of NL semi)
    >
    We can't 'see the difference' either; you didn't post anything for us to look at.
    >
    What are the pros and cons of each of them?
    >
    Each of what? Again - you need to be as specific as possible if you want specific feedback.
    Also, since you generally should not use hints in production code anyway what difference does it make what the differences are? Oracle will make the choice.
    Without anything specific to comment on about all we can do is provide several links that talk about joins and how to produce and examine them. These are all from Jonathan Lewis's Scratchpad:
    http://jonathanlewis.wordpress.com/?s=semi-join
    http://jonathanlewis.wordpress.com/2010/12/20/index-join-4/
    http://jonathanlewis.wordpress.com/2010/08/15/joins-mj/ -- merge joins
    http://jonathanlewis.wordpress.com/2010/08/10/joins-hj/ -- hash joins
    http://jonathanlewis.wordpress.com/2010/08/09/joins-nlj/ -- nested loop joings
    http://jonathanlewis.wordpress.com/2011/06/08/how-to-hint-1/ -- how to hint for joins
    Check out those articles. Pay attention to how, in each one, he doesn't just provide a text description but also provides code and explains the code.
    In other words he provides all of the specific information needed to illustrate what he is talking about. That is what you need to do if you need help with a specific topic: provide the query, plans and output that you yourself are using as the basis of your question. That lets us see EXACTLY what you are talking about.

  • Monitoring progress when performing filter operations on images

    Hi,
    I am working on Java2D and making some image filters using classes like ImageFilter etc. Now For simple filters I want to get the progress status while the filteting is in progress, so that I can show a progress bar in the GUI.
    For this I do not have much idea. I think we can use the ImageConsumer interface, so that if the class implementing that interface list itself as an image consumer with the filter operation. Here is two way I have tried implanting this:
    1st way:
    Class MyConsumer implements ImageConsumer
    int width,height;
    int percentProgress;
    Public image processImage(Image srcImage, ImageFilter filter){
    FilteredImageSource fis: new FilteredImageSource(srcImage.getSource(),filter());
    //should we do this?
    fis.addConsumer(this);
    //or this?
    srcimage.addConsumer(this)
    Image destImage = this.createImage(fis);
    return destImage;
    //implementing methods of imageConsumer
    //we get the width and height of the new destImage (or do we get the dimension of the srcImage here??)
    public void setDimensions(int width, int height){
    this.width=width;
    this.height=height;
    public void setPixels(int x, int y, int w, int h, ColorModel model, int[] pixels, int off, int scansize){
    // Is this the correct way of obtaining the progress????
    progressPercent=(y*100)/height;
    //We also have empty implementation of other ImageConsumer methods after this
    --------------------------------------------------------------2nd way, let?s say we use a smooth filter and replace the processImage(..) method above with the one below (the other methods being same):
    Public image processImage(Image srcImage){
    float[] SHARPEN3x3 = {      0.f, -1.f, 0.f,
                                -1.f, 5.0f, -1.f,
                                0.f, -1.f, 0.f};
    BufferedImage dstbimg = new
                  BufferedImage(iw,ih,BufferedImage.TYPE_INT_RGB);
    Kernel kernel = new Kernel(3,3,SHARPEN3x3);
    ConvolveOp cop = new ConvolveOp(kernel,
                                    ConvolveOp.EDGE_NO_OP,
                                    null);
    //should we do this?
    dst.addConsumer(this);
    //or this?
    srcImage.addConsumer(this);
    cop.filter(srcImage,destImage);
    return destImage;
    }Now I do get a progressPercent. But when the percent is 100%, the destimage does not return, that means the operation is not yet complete.
    So is this the correctw ay, or is there any other way to know the progress of the flter operation.
    Also I extended the ImageFilter class and overrode its setPixel method as:
    public void setPixels(int x, int y, int w, int h, ColorModel model, int[] pixels, int off, int scansize){
    int progressPercent=(y*100)/height;
    System.out.println("progress in image filter:"+progressPercent);
    //I simply print out the progress and let the super perform the filter operation
    super.setPixels(x, y,w, h, model, pixels, off, scansize);
    //should I do this below? This calls the imageconsumer's setpixels
    //that I implement in the MyConsumer class
    consumer. setPixels(x, y,w, h, model, pixels, off, scansize);
    }I observe that the setPixel method of MyImageFilter is called several times even for the same scan lines, and even after percentProgress is 100%, the process runs again for 2-4 times. So the filtering operation scans the lines several times to finally perform the filtering, and as such the percentProgress is incorrect.
    Can anybody guide me. Is this approach okay and needs to be modified a bit, or there is a different approach to obtain the progress from a filter operation?
    I would finally want the same progress from other operations like LookupOp, ConvolveOp, AffineTransformOp, ColorConvertOp, RescaleOp.
    Thanks in advance
    Tanveer
    DrLaszloJamf, are you there? I am sure you are one of them who can help me in this.
    anyone can send me a private message too at [email protected]

    Please somebody let me know how to get the progress of imagefilter operation using convolveOp.filter(...) or Filteredimagesource. I waant to display the progress i a JProgressbar.

  • How to use filter operator with ROWNUM

    I would like to add filter operator in my mapping with ROWNUM to reduce the ETL loading time during testing to ensure mapping is working, but I don't know how, please help provide me some guideline. Thank you.

    what is your owb version?
    Starting with Oracle Warehouse Builder 10.2.0.3, you can use the pseudocolumns ROWID and ROWNUM in mappings. The ROWNUM pseudocolumn returns a number indicating the order in which a row was selected from a table. The ROWID pseudocolumn returns the rowid (binary address) of a row in a database table.
    You can use the ROWID and ROWNUM pseudocolumns in Table, View, and Materialized View operators in a mapping. These operators contain an additional column called COLUMN USAGE that is used to identify attributes used as ROWID or ROWNUM. For normal attributes, this column defaults to TABLE USAGE. To use an attribute for ROWID or ROWNUM values, set the COLUMN USAGE to ROWID or ROWNUM respectively.
    You can map a ROWID column to any attribute of data type ROWID, UROWID, or VARCHAR2. You can map ROWNUM column to an attribute of data type NUMBER or to any other data type that allows implicit conversion from NUMBER.
    Note that ROWID and ROWNUM pseudocolumns are not displayed in the Data Object Editor since they are not real columns.
    Edited by: Darthvader-647181 on Oct 29, 2008 9:18 AM

  • NO 11g "Manage Filters" Online Layout "OR" filter operator!?

    Hey guys,
    I realize this is a totally n00b question about the BIP 11.1.1.5 Online Layout editor (for Interactive layout mode). I've created a complex P&L financial statement report in BIP using a Word RTF template, and I'd like to try to retool it into the online layout editor for possibly easier maintainability.
    But I'm coming up against what looks like a fundamental limitation and problem to me in the online layout editor. I'd like to create either a Repeating Section object or a Data Table object that will display values if a few certain values are found in the data. So, I want my filter to do something like this (to display the section or table):
    If Group = 'ABC'
    If Group = 'XYZ'
    Problem is, in my "Manage Filters" window, I need to be able to supply an "OR" filter operator between those two lines! It's an implicit "AND" operator between them apparently.
    I would gladly use an "IN" operator instead of "=" if it existed, but alas, I don't see that option either in my Manage Filters controls.
    Has anyone else come up against this in the 11g online layout editor for interactive mode output? Am I missing something totally obvious here that's right under my nose and I just can't seem to see it or find it?
    Thanks,
    Jeremy

    Hi BIPuser,
    Thanks so much for the reply; sorry for the delay in getting back to you. I believe you are referring to the group filter functionality on the data model itself, correct? If so, that's a good thought and maybe I can use that approach, but it means I would have to potentially break up my "master" data set into many, many copies to get this "OR" like functionality.
    For example, suppose I had 26 groups, groups A-Z that I wanted to show together in different report sections in my final layout. So I want A&B, C&D, E&F, etc. Instead of having one master data set with report-level grouping that way, I guess I'd have to break my data model into 13 different data sets, each one group filtered for A&B, C&D, E&F, etc, right?
    That approach seems to involve a lot more setup and data set maintenance, when all I really want is just an "OR" ability in the report layout designer itself. Something exactly like OBIEE provides in the filter section in the Criteria tab of a BI Analysis (when developing a query there).
    Now that I say that, maybe I can extend my OBIEE BI Analysis (I'm using that as the basis for my source), and perhaps I could create a new A&B, C&D, etc grouping column there to "bucket" my data together into a single data group to work around the online layout limitation of not having an "OR" filter operator available. Or, like you mentioned, I could even use the "Add Element by Expression" option in the data model itself if I wanted to manage it from there instead of OBIEE.
    I still say it would be easier if they would just give us a filter "OR" ability in the "Manage Filters" dialog in the layout editor. :)
    Thanks again BIPuser!
    Jeremy

  • Reg:filter operator in is not like

    hi,
    can anyone tell how does the filter operator "is not like pattern" function in obiee answers?in what scenarios this operator might be used/
    thanks

    Hi,
    Filter:
    Its used to filter data from report.We apply filter on report as prompted to make prompt effective.
    Example :
    ColumnA is prompt then we apply filter is not like ('India','Singapore') then the report will display expect india and singapore country in the output the report as ColumnA is prompted
    Filters can be apllied on report in many with diff operators like not equal In order to select values dynamicaly from report and filter data from report we use prompt.
    Prompt - Its used to select specific values to be filtered from the report
    Thanks
    Deva

  • Rewrite sql to avoid filter operation

    Hi All,
    I found below sql and some more sql's causing high CPU usage.
    SELECT :B1 AS ID ,
           DECODE((SELECT 1
                   FROM DUAL
                   WHERE EXISTS (SELECT NULL
                                 FROM ONS
                                 WHERE PARENT_ID = :B1 )), 1, 1, 0) AS IP_RELATION ,
           DECODE((SELECT 1
                   FROM DUAL
                   WHERE EXISTS (SELECT NULL
                                 FROM ONS
                                 WHERE ULTIMATE_PARENT_GID = :B1 )), 1, 1, 0) AS UP_RELATION ,
           DECODE((SELECT 1
                   FROM DUAL
                   WHERE EXISTS (SELECT NULL FROM AFFILIATIONS WHERE AFFILIATED_ID= :B1 )), 1, 1, 0) AS AFF_RELATION ,
           DECODE((SELECT 1
                   FROM DUAL
                   WHERE EXISTS (SELECT NULL FROM JOINT_VENTURES WHERE JOINT_VENTURE_ID= :B1 )), 1, 1, 0) AS JV_RELATION ,
           DECODE((SELECT 1
                   FROM DUAL
                   WHERE EXISTS (SELECT NULL FROM SUCCESSORS WHERE SUCCESSOR_ID= :B1 )), 1, 1, 0) AS SUC_RELATION ,
           DECODE((SELECT 1
                   FROM DUAL
                   WHERE EXISTS (SELECT NULL FROM COUNTERPARTY WHERE CP_TAX_AUTHORITY_ID = :B1 )), 1, 1, 0) AS TAX_AUTH_RELATION ,
           DECODE((SELECT 1
                   FROM DUAL
                   WHERE EXISTS (SELECT NULL FROM COUNTERPARTY WHERE CP_PRIM_REGULATOR_ID = :B1 )), 1, 1, 0) AS PRIM_REG_RELATION ,
           DECODE((SELECT 1
                   FROM DUAL
                   WHERE EXISTS (SELECT NULL FROM ONS WHERE DUPLICATE_OF_ID = :B1 )), 1, 1, 0) AS DUP_RELATION ,
           DECODE((SELECT 1
                   FROM DUAL
                   WHERE EXISTS (SELECT NULL FROM ONS WHERE REG_AUTHORITY_ID = :B1 )), 1, 1, 0) AS REG_AUTH_RELATION
    FROM DUAL
    | Id  | Operation             | Name                           | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT      |                                |       |       |     2 (100)|          |
    |*  1 |  FILTER               |                                |       |       |            |          |
    |   2 |   FAST DUAL           |                                |     1 |       |     2   (0)| 00:00:01 |
    |*  3 |   INDEX RANGE SCAN    | IDX_IMMEDIATE_PARENT_ID        |     1 |     3 |     2   (0)| 00:00:01 |
    |*  4 |  FILTER               |                                |       |       |            |          |
    |   5 |   FAST DUAL           |                                |     1 |       |     2   (0)| 00:00:01 |
    |*  6 |   INDEX RANGE SCAN    | IDX_ULTIMATE_PARENT_ID         |     2 |     4 |     2   (0)| 00:00:01 |
    |*  7 |  FILTER               |                                |       |       |            |          |
    |   8 |   FAST DUAL           |                                |     1 |       |     2   (0)| 00:00:01 |
    |*  9 |   INDEX FAST FULL SCAN| PK_ORG_AFFILIATED_WITH         |     1 |     7 |   294   (7)| 00:00:04 |
    |* 10 |  FILTER               |                                |       |       |            |          |
    |  11 |   FAST DUAL           |                                |     1 |       |     2   (0)| 00:00:01 |
    |* 12 |   INDEX FULL SCAN     | PK_ORG_JOINT_VENTURE_OF        |     1 |     7 |     3   (0)| 00:00:01 |
    |* 13 |  FILTER               |                                |       |       |            |          |
    |  14 |   FAST DUAL           |                                |     1 |       |     2   (0)| 00:00:01 |
    |* 15 |   INDEX FAST FULL SCAN| PK_ONS_SUCCEEDED_BY            |     1 |     7 |    79   (7)| 00:00:01 |
    |* 16 |  FILTER               |                                |       |       |            |          |
    |  17 |   FAST DUAL           |                                |     1 |       |     2   (0)| 00:00:01 |
    |* 18 |   INDEX RANGE SCAN    | IDX_ORG_CP_TAX_AUTHORITY_ID    |     2 |    14 |     2   (0)| 00:00:01 |
    |* 19 |  FILTER               |                                |       |       |            |          |
    |  20 |   FAST DUAL           |                                |     1 |       |     2   (0)| 00:00:01 |
    |* 21 |   INDEX RANGE SCAN    | IDX_ORGCP_PRIM_REGULATOR_ID    |     1 |     4 |     2   (0)| 00:00:01 |
    |* 22 |  FILTER               |                                |       |       |            |          |
    |  23 |   FAST DUAL           |                                |     1 |       |     2   (0)| 00:00:01 |
    |* 24 |   TABLE ACCESS FULL   | ONS                            |     1 |     2 | 27013   (4)| 00:05:25 |
    |* 25 |  FILTER               |                                |       |       |            |          |
    |  26 |   FAST DUAL           |                                |     1 |       |     2   (0)| 00:00:01 |
    |* 27 |   TABLE ACCESS FULL   | ONS                            |     1 |     2 |   475   (3)| 00:00:06 |
    |  28 |  FAST DUAL            |                                |     1 |       |     2   (0)| 00:00:01 |
    Peeked Binds (identified by position):
       2 - :B1 (NUMBER, Primary=1)
       3 - :B1 (NUMBER, Primary=1)
       4 - :B1 (NUMBER, Primary=1)
       5 - :B1 (NUMBER, Primary=1)
       6 - :B1 (NUMBER, Primary=1)
       7 - :B1 (NUMBER, Primary=1)
       8 - :B1 (NUMBER, Primary=1)
       9 - :B1 (NUMBER, Primary=1)
      10 - :B1 (NUMBER, Primary=1)
    Predicate Information (identified by operation id):
       1 - filter( IS NOT NULL)
       3 - access("IMMEDIATE_PARENT_ID"=:B1)
       4 - filter( IS NOT NULL)
       6 - access("ULTIMATE_PARENT_ID"=:B1)
       7 - filter( IS NOT NULL)
       9 - filter("AFFILIATED_ID"=:B1)
      10 - filter( IS NOT NULL)
      12 - access("JOINT_VENTURE_ID"=:B1)
           filter("JOINT_VENTURE_ID"=:B1)
      13 - filter( IS NOT NULL)
      15 - filter("SUCCESSOR_ID"=:B1)
      16 - filter( IS NOT NULL)
      18 - access("CP_TAX_AUTHORITY_ID"=:B1)
      19 - filter( IS NOT NULL)
      21 - access("CP_PRIM_REGULATOR_ID"=:B1)
      22 - filter( IS NOT NULL)
      24 - filter("DUPLICATE_OF_ID"=:B1)
      25 - filter( IS NOT NULL)
      27 - filter("REG_AUTHORITY_ID"=:B1)Oracle Version : 10.2.0.4 RAC 2 nodes
    Is there any possibility to rewrite this sql to avoid filter operation.
    Please let me know if you need any more details....

    My bad..i overlooked the execution plan.
    Below execution plan has been extracted from devlopment database which is exact replica of production database.
    | Id  | Operation                 | Name                           | Starts | E-Rows | A-Rows |   A-Time   | Buffers | Reads  |
    |*  1 |  FILTER                   |                                |      1 |        |      1 |00:00:00.72 |    8028 |   5986 |
    |   2 |   FAST DUAL               |                                |      1 |      1 |      1 |00:00:00.01 |       0 |      0 |
    |   3 |   PARTITION RANGE ALL     |                                |      1 |      1 |      1 |00:00:00.72 |    8028 |   5986 |
    |*  4 |    TABLE ACCESS FULL      | ONS                            |      1 |      1 |      1 |00:00:00.72 |    8028 |   5986 |
    |*  5 |  FILTER                   |                                |      1 |        |      1 |00:00:00.19 |       7 |      0 |
    |   6 |   FAST DUAL               |                                |      1 |      1 |      1 |00:00:00.01 |       0 |      0 |
    |   7 |   PX COORDINATOR          |                                |      1 |        |      1 |00:00:00.19 |       7 |      0 |
    |   8 |    PX SEND QC (RANDOM)    | :TQ10000                       |      0 |      1 |      0 |00:00:00.01 |       0 |      0 |
    |   9 |     PX PARTITION RANGE ALL|                                |      0 |      1 |      0 |00:00:00.01 |       0 |      0 |
    |* 10 |      INDEX RANGE SCAN     | IDX_ULTIMATE_PARENT_ID         |      0 |      1 |      0 |00:00:00.01 |       0 |      0 |
    |* 11 |  FILTER                   |                                |      1 |        |      0 |00:00:00.11 |    1231 |      0 |
    |  12 |   FAST DUAL               |                                |      0 |      1 |      0 |00:00:00.01 |       0 |      0 |
    |* 13 |   INDEX FAST FULL SCAN    | PK_ORG_AFFILIATED_WITH         |      1 |      1 |      0 |00:00:00.11 |    1231 |      0 |
    |* 14 |  FILTER                   |                                |      1 |        |      0 |00:00:00.01 |       7 |      0 |
    |  15 |   FAST DUAL               |                                |      0 |      1 |      0 |00:00:00.01 |       0 |      0 |
    |* 16 |   INDEX FAST FULL SCAN    | PK_ORG_JOINT_VENTURE_OF        |      1 |      1 |      0 |00:00:00.01 |       7 |      0 |
    |* 17 |  FILTER                   |                                |      1 |        |      0 |00:00:00.02 |     229 |      0 |
    |  18 |   FAST DUAL               |                                |      0 |      1 |      0 |00:00:00.01 |       0 |      0 |
    |* 19 |   INDEX FAST FULL SCAN    | PK_ONS_SUCCEEDED_BY            |      1 |      1 |      0 |00:00:00.02 |     229 |      0 |
    |* 20 |  FILTER                   |                                |      1 |        |      1 |00:00:00.01 |       3 |      0 |
    |  21 |   FAST DUAL               |                                |      1 |      1 |      1 |00:00:00.01 |       0 |      0 |
    |* 22 |   INDEX RANGE SCAN        | IDX_CP_TAX_AUTHORITY_ID        |      1 |      2 |      1 |00:00:00.01 |       3 |      0 |
    |* 23 |  FILTER                   |                                |      1 |        |      1 |00:00:00.01 |       3 |      0 |
    |  24 |   FAST DUAL               |                                |      1 |      1 |      1 |00:00:00.01 |       0 |      0 |
    |* 25 |   INDEX RANGE SCAN        | IDX_CP_PRIM_REGULATOR_ID       |      1 |      1 |      1 |00:00:00.01 |       3 |      0 |
    |* 26 |  FILTER                   |                                |      1 |        |      1 |00:00:02.20 |   28923 |  21562 |
    |  27 |   FAST DUAL               |                                |      1 |      1 |      1 |00:00:00.01 |       0 |      0 |
    |  28 |   PARTITION RANGE ALL     |                                |      1 |      1 |      1 |00:00:02.20 |   28923 |  21562 |
    |* 29 |    TABLE ACCESS FULL      | ONS                            |      1 |      1 |      1 |00:00:02.20 |   28923 |  21562 |
    |* 30 |  FILTER                   |                                |      1 |        |      1 |00:00:00.01 |       4 |      5 |
    |  31 |   FAST DUAL               |                                |      1 |      1 |      1 |00:00:00.01 |       0 |      0 |
    |  32 |   PARTITION RANGE ALL     |                                |      1 |      1 |      1 |00:00:00.01 |       4 |      5 |
    |* 33 |    TABLE ACCESS FULL      | ONS                            |      1 |      1 |      1 |00:00:00.01 |       4 |      5 |
    |  34 |  FAST DUAL                |                                |      1 |      1 |      1 |00:00:00.01 |       0 |      0 |
    Predicate Information (identified by operation id):
       1 - filter( IS NOT NULL)
       4 - filter("IMMEDIATE_PARENT_ID"=:B1)
       5 - filter( IS NOT NULL)
      10 - access("ULTIMATE_PARENT_ID"=:B1)
      11 - filter( IS NOT NULL)
      13 - filter("AFFILIATED_ID"=:B1)
      14 - filter( IS NOT NULL)
      16 - filter("JOINT_VENTURE_ID"=:B1)
      17 - filter( IS NOT NULL)
      19 - filter("SUCCESSOR_ID"=:B1)
      20 - filter( IS NOT NULL)
      22 - access("CP_TAX_AUTHORITY_ID"=:B1)
      23 - filter( IS NOT NULL)
      25 - access("CP_PRIM_REGULATOR_ID"=:B1)
      26 - filter( IS NOT NULL)
      29 - filter("DUPLICATE_OF_ID"=:B1)
      30 - filter( IS NOT NULL)
      33 - filter("REG_AUTHORITY_ID"=:B1)It took just 2.20 seconds, but why does it causes more CPU resource ?
    We are about to plugin new module in this database, hence ONS table is partitioned, its partitioned on column PROVIDER which seperates existing and new module in to different partitions which makes easier for loading wihout affecting existing module data(We also make about to load partition local indexes to unusable state). Also this table is the parent table for about 6 child tables. So we decided to partition even child tables by adding PROVIDER column to all child tables and partition on this column. Parent-Child relationship is built upon ID column in all the tables.
    All the sql's will be altered to use PROVIDER column for filtering old and new module data.
    Do you think we are in right approach, I would be thankful if you can help me here for precise designing of this table.
    As a side thought - and one I would have to investigate - since you have declared a number of inddexes with "case insensitive sorting" - is is possible that you could work around this idea to drop a few of the existing indexes on "lower(column)" and use case-insensitive indexes for these comparisons ?Will test it in development database, but what is the performance improvement prediction? And please let me know your suspects which claims "lower(column)" should be avoided and use case-insensitive indexes.
    Anyway we are implementing Text-Index on this table and drop all the unwanted indexes.
    I've written a short note on my blog about the "exists subquery" and the varying cost of the tablescane linesI am regular reader of your blog, after seeing your test case i understood the concept crystal clear. Thanks a lot....

  • How to use aggregator with filter  operator

    Hi,
    how can i use aggregation with filter operator. i have a table, form this table i have to calculate this valurs
    1. no of notes
    2. no of open notes where attribute =y (logic for one notes is count(notes) where attribute =y)
    2. no of closed notes where attribute =n
    for this i used like this
    table --> two filter operators 1 is for attribute =y and one is for attribute=n ----> to aggregaror operator. --- i am getting error.
    Regards,
    Jyothy

    Jyothy,
    Try this..
    U can use the below code in the aggregator without filters
    sum(decode(notes,'y',1,0) adn sum(decode(notes,'n',1,0)
    Regards,
    Sivarama

  • Error using filter operator

    Hi
    I am working in a mapping that has a text file as input and a table as output, and I want to insert a filter between them, so I dragged the filter operator to the screen.
    But when I try to connect the input file to the filter (dragging the file operator group or any field to the INOUTGRP1 filter group) it gives me a "API402 - Invalid character" error message.
    What can be the problem?
    Thanks!
    lc

    Luis,
    I have just tried your scenario in the newest version of Warehouse Builder (9.0.3.35.0) and I can create a mapping like this:
    FILE --- Filter --- TARGETTABLE
    My filter condition is on C1 (C1 = 1) which is used in the WHEN clause
    When generating this is the result:
    PTIONS ( DIRECT=TRUE,PARALLEL=FALSE, ERRORS=50, BINDSIZE=50000, ROWS=200, READSIZE=65536)
    LOAD DATA
    CHARACTERSET WE8MSWIN1252
    INFILE 'c:\XWeek\SourceFiles\Order_status_list.txt'
    READBUFFERS 4
    INTO TABLE "MYTAB"
    APPEND
    REENABLE DISABLED_CONSTRAINTS
    WHEN
    "C1" = 1
    FIELDS
    TERMINATED BY ','
    OPTIONALLY ENCLOSED BY '"'
    "C1" POSITION (1) CHAR ,
    "C2" CHAR
    Which version of Warehouse Builder are you using?
    Thanks,
    Jean-Pierre

  • Dynamically generating the ssrs dataset and filling the data into the dataset and binding it to ssrs report dynamically

    I have a work to do, in ssrs we are using server reports in our project. i am looking for dynamically generating the ssrs dataset and filling the data into the dataset and binding the dataset to ssrs report(RDL) dynamically.
    Getting the dataset dynamically has a solution by using Report Definition Customization Extension (RDCE), but the problem is binding that dataset to the report(RDL) dynamically was not there.
    Here is the reference for RDCE http://www.codeproject.com/Articles/355461/Dynamically-Pointing-to-Shared-Data-Sources-on-SQL#6
    I looked for binding the dataset to the report(RDL) dynamically and searched many sites but i did not get the solution. Can anyone help me here.
    Is there any custom assemblies or any Custom data processing extensions to work around. Please help.
    Thanks in advance

    Hi Prabha2233,
    Thank you for your question.
    I am trying to involve someone more familiar with this topic for a further look at this issue. Sometime delay might be expected from the job transferring. Your patience is greatly appreciated.
    Thank you for your understanding and support.
    Regards,
    Vicky Liu
    Vicky Liu
    TechNet Community Support

  • Filtering SSRS dataset on parameter INT

    Hi.
    I have a simple report which has a Week parameter.
    Week is a multi select parameter populated from a dataset (values 1-52).
    I have now added a filter to the main dataset:
    Expression: [Week]
    Operator: In
    Value: Split(Fields!Week.Value, ",")
    I get an error as soon as I try running the report with this filter:
    An error has occurred during report processing. (rsProcessingAborted)
    The processing of FilterExpression for the dataset ‘ProjectTimesheetDataSet’ cannot be performed. Cannot compare data of types System.Int32 and System.String. Please check the data type returned by the FilterExpression. (rsComparisonTypeError)
    I have tried wrapping the the expression and Value with Cint, no joy.
    If I write out the value of Week to the page using the Join funtoin I get resutls i.e. 48,49,50
    Where am I going wrong??

    Hi CDG100,
    Based on my research, I think this issue is caused by the data type mismatch between Week field and parameter WeekNumber. If I understand correctly, the Week field is Integer data type in your dataset, while the parameter WeekNumber is Text (String) data
    type. In your scenario, even we change the field to Integer (from Text), it will also turn back to Text. Because the filter always change the data type of Expression to match the Value data type. That’s the reason why the error message that “Cannot compare
    data of types System.Int32 and System.String” appears.
    So in order to fix the issue, please try to use an Integer data type field as the parameter values by using Get values from a query. Then the Week field and parameter WeekNumber can be compared.
    If there are any misunderstanding, please elaborate the issue for further investigation.
    Thanks,
    Katherine Xiong
    Katherine Xiong
    TechNet Community Support

Maybe you are looking for

  • Reset password for HP LaserJet 1536dnf MFP

    I have a HP LaserJet 1536dnf MFP printer that I lost the code to administrate from the front panel. I have changed my networking configuration and need to adjust the settings, however I am unable to edit anything on-device without that password. Is t

  • Gnome crashes randomly

    Gnome has been crashing randomly for the past 2 weeks and I finally am so tired of it so I posted this. It will just randomly fallback to gdm. Here is my Xorg.5.log. I hope you can make sense of what's going on. It seems like something about screens

  • Wired Internet on Acer 1410

    Recently I installed Arch 2010.05 on an Acer 1410 notebook.  The operating system runs perfectly fine except for the wired internet card and wireless internet card.  The wireless card on that notebook never worked, so I'm not too concerned about that

  • Help!!! Content engine

    my configuration is follow the attached file. I don't know what is wrong with my content engine using as a cache server. when i connect this CE to my network, i can make my user access to the internet fast only 2 days, but after 2 days it makes my us

  • XSQL set-cookie

    When I write an XSQL cookie, it won't actually do it until i refresh the login screen, i.e.: 1) Enter username and password into XHTML page 2) Post to auth.xsql 3) auth.xsql reads the username and password and authenticates 4) all user information fo