Compound Filtering in JXTable

Hello Everyone,
I am struggling here trying to use a compound Filter (one condition or the other) in my JXTable. I could sucessfully filter my table using only one filter, as below:
Filter[] filters = new Filter[] {
               new PatternFilter(textToFilter, java.util.regex.Pattern.CASE_INSENSITIVE, colNumber), // regex, matchflags, column
FilterPipeline pipeline = new FilterPipeline(filters);
jxtable.setFilters(pipeline);
However I could not use the above implementation to filter in two condiitions. I tried another approach as the following:
final TableRowSorter<TableModel> sorter = new TableRowSorter<TableModel>(jxtable.getModel());
          RowFilter<TableModel, Object> firstFiler = null;
          RowFilter<TableModel, Object> secondFilter = null;
          java.util.List<RowFilter<TableModel,Object>> filters = new ArrayList<RowFilter<TableModel,Object>>();
          RowFilter<TableModel, Object> compoundRowFilter = null;
          try {
               firstFiler = RowFilter.regexFilter("(?i)"+textToFilter1, colNumber);
               secondFilter = RowFilter.regexFilter("(?i)"+textToFilter2, colNumber);
               filters.add(firstFiler);
               filters.add(secondFilter);
               compoundRowFilter = RowFilter.orFilter(filters); // you may also choose the OR filter
          } catch (java.util.regex.PatternSyntaxException e) {
               e.printStackTrace();
          sorter.setRowFilter(compoundRowFilter);           
          jxtable.setRowSorter(sorter);
But it did not work at all, actually the table was displayed normally, without any filtering.
Any help is appreciated.
Thanks in advance

seems like you are using an outdated swingx (the PatternFilter was swingx1.0 targeted at jdk1.5), cant play with core sorting/filtering of jdk1.6.
So switch to a Swingx version that targets jdk1.6, most recent is Swingx-1.6.2. Then simply set the filter to the table directly:
RowFilter compoundFilter = RowFilter.orFilter(first, second);
jxtable.setRowFilter(compoundFilter);No need to explicitly set a rowSorter, xTable is sortable by default and auto-installs an enhanced RowSorter to support its additional sort/filter functionality
Cheers
Jeanette
forgot: please read the sticky post at the top of the thread list to find out how-to format code. Plus, the Swing crowd hangs out in ... the Swing forum :-)
Edited by: Kleopatra on Mar 7, 2011 11:30 AM

Similar Messages

  • Compound filtering xslt list view web part with _dopostback using javascript/jquery

    Hello,
    I am filtering list view web part as same as the below post,
    http://dcsharepointchick.blogspot.in/2013/05/filter-sharepoint-list-with-partial-postback.html
    here I need to filter the web part with some another condition . I am trying to write another condition in filter attribute of _doPostback(), but it doesn't work.
    Please let me know is there any alternative to achieve compound filtering.
    Regards,
    Balakrishna M.

    Hi Balakrishna,
    According to your description, my understanding is that you want to filter the list view web part with more than one filters.
    I recommend to use the OOB Choice Filter web part to achieve this goal.
    Edit the page where the list view web part exists and then add the Choice Filter web parts to the page based on your need.
    More reference:
    http://office.microsoft.com/en-in/sharepoint-server-help/connect-a-filter-web-part-to-a-list-view-web-part-HA101785233.aspx#_Toc296943684
    Or you use the List Filter Plus Web Part to get the function.
    http://www.kwizcom.com/sharepoint-add-ons/sharepoint-list-filter-plus/overview/
    Here is the link to download the web part:
    http://www.kwizcom.com/sharepoint-add-ons/sharepoint-list-filter-plus/download/
    Best regards.
    Thanks
    Victoria Xia
    TechNet Community Support

  • XSl formula for pulling values based on parameters or query strings

    Hello,
    I have a custom list in SharePoint
    List Column/Fields (any time a new item is created these are the fields that need values)
    Machine = ID2
    SpecLabel = text string value
    SpecValue = text string value
    Using DataFormWebPart
    I Filter values by Machine by creating a parameter with a query string as its source.
    And pull the values
    <xsl:value-of select="@SpecLabel" />
    <xsl:value-of select="@SpecValue" />
    On the browser I add the parameter to the URL sting to filter each machine ID.
    ?=Machine=1
    Back in the XSL i use the same parameter to pull the value of the string as my header title.
    <xsl:value-of select="$paramMachine"/>
    Problem
    I need a formula that will pull just the the SpecValue data for a specific item.
    Example: I have thee items below and I need to just pull the “SpecValue” for the Built Year which is 2014.
    Machine = 1
    SpecLabel = Speed
    SpecValue = 10
    Machine = 1
    SpecLabel = Color
    SpecValue = Red
    Machine = 1
    SpecLabel = Built YearSpecValue = 2014
    Any Suggestion? 

    Hi,
    According to your post, my understanding is that you wanted to the formula to filter a list item.
    You can create the formula similar like below.
    <xsl:variable name="Rows" select="/dsQueryResponse/Rows/Row[@City = 'Abington']"/>
    More reference:
    http://sympmarc.com/2011/08/15/compound-filtering-in-data-view-web-parts-dvwps-with-sharepoint-designer/
    http://blog.jussipalo.com/2012/01/sharepoint-filter-data-form-web-part.html
    Thanks & Regards,
    Jason
    Jason Guo
    TechNet Community Support

  • Compound index vs separate indexes

    Hi,
    I am having a table with 12 million records.
    My query will be always having 2 conditions in WHERE clause.
    SELECT * FROM TABLE WHERE c1='some integer' and c2 in (some values)In this case which index will be appropriate.?
    a)Creating separate indexes on c1 and c2
    b)creating a compound index on (c1,c2)
    What are the things i need to consider before creating index in this case>
    Thanks

    >
    In this case which index will be appropriate.?
    a)Creating separate indexes on c1 and c2
    b)creating a compound index on (c1,c2)
    What are the things i need to consider before creating index in this case>
    >
    Well I must say I disagree with ALL of the answers provided so far because none of them take into account those 'things you need to consider' before creating an index (or indexes).
    1. What is the selectivity of column C1? How many distinct values? How are the data values clustered?
    2. What is the selectivity of column C2? How many distinct values? How are the data values clustered?
    3. What will the clustering factor of the index be? That is, is the table data in any particular order that would result in an exceptionally good, or poor, cluster factor for the index?
    4. Will any queries only need column 'c2' for filtering?
    5. Will any queries only need column C2 for filtering?
    Without knowing at least the above information there is no way to tell if ANY index is appropriate, let alone how many or the ordering of columns for a composite index.
    Just consider point #1 above. If there are only two values for C1 and 6 million records have each value what good would an index be?
    But if column C1 is unique then an index would be very selective and you don't need to consider the C2 value at all.
    Likewise if the cardinality of C1 is low (few records have the same value) but cardinality of C2 is high the index should be on C1 only since including C2 would dilute the index and require more records to be read to get the ROWIDs of interest. And in cardinality of C2 is low but C1 is high then C2 might be better as the lead colum since an INDEX SKIP SCAN could be used.
    If you can provide the information asked for above then better recommendations can be provided.

  • Performance issue due to column formula and filters

    Hi,
    I am facing strange issue with performance for my OBIEE reports. I have two sets of reports Static and Dynamic. Both runs against same tables. The only difference between these reports is that the Static reports would run against all the data for given aggregation level e.g. Year, Month, Date and so on. Where as for Dynamic one I have range prompts to filter data. Other difference is that I have a column formula for one of the column in the Dynamic report, which is nothing but Go URL to show another page with certain parameters.
    The static report takes around 14-15 Seconds where as the Dynamic one takes around 3.5 min. The amount of data and range is same here. From the logs I could see that for the Static reports, i.e. reports without filters it applys group by at SQL level where as it is not doing so for the dynamic one. Is this expected ?
    Second issue is, even if I say remove the filters and just have report with column formula in one and no formula in other there is significant time difference in the processing at Presentation service layer. Again this is taken from the log. it takes 8 second to get data from DB but shows almost 218 Seconds as response time at Presentation layer.
    Below are conceptual details about table and reports -
    Table 1 (It is date dimension) : Date_Dim
    DateCode Date
    Day Number
    MonthCode Varchar2
    YearCode Varchar2
    Table 2 (It is aggregate table at year level) : Year_Aggr
    DateCode Date (FK to Table1 above)
    Measure1
    Measure2
    Measure3
    Measure4
    Measure5
    Report 1
    Date_Dim.YearCode | Year_Aggr.Measure1 | Year_Aggr.Measure2 | Year_Aggr.Measure3 | Year_Aggr.Measure4
    Report 2
    Dashboard Filter : Dimension1 | Dimension2 | Year Start | Year End |
    Date_Dim.YearCode | Year_Aggr.Measure1 | Year_Aggr.Measure2 | Year_Aggr.Measure3 | Year_Aggr.Measure4
    Column formula for Date_Dim.YearCode is something like :
    '<a href="saw.dll?Dashboard&PortalPath=somepath and parameters  target=_self>'  || Date Dim"."YearCode" || '</a">'
    Filters :
    Dimension1 is prompted...
    Dimension2 is prompted...
    cast("Date Dim"."YearCode" as Int) is greater than or equal to @{Start_Year}
    cast("Date Dim"."YearCode" as Int) is greater than or equal to @{End_Year}
    Note : I need to apply cast to int as column is varchar2, legacy problem.+
    How can I fix this? Am I missing something? In the result of report2 the DB SQL doesn't show the year in where thought it is displayed in the logical sql.
    Let me know if anybody had faced this and have fixed. Or suggetion to make changes to fix this.
    Thannks,
    Ritesh</a>

    Hi Ritesh,
    I think you right about the root cause of your problem. The first request does the group by in the database which returns fewer records to the BI Server for processing. The second request does not do the group by and sends significantly more records back to the BI server forcing it to do the group by. Compound that with the fact that pivot table views are relatively expensive computationally and that explains the difference between the execution times.
    Assuming that the execution time of the first report is satisfactory, I would recommend you try to experiment with a few settings to see if you can get the second report to do the group by in the database.
    Are the two filters identical except for the following conditions?
    cast("Date Dim"."YearCode" as Int) is greater than or equal to @{Start_Year}
    cast("Date Dim"."YearCode" as Int) is greater than or equal to @{End_Year}
    Best regards,
    -Joe

  • Result of the query is not filtered as value given in Select Option variabl

    Hello ,
    A Select option Variable is created on Navigational Attribute( ZINV_PROG) of 0WBS_ELEMT.
    The Compound Key for object ZINV_PROG(Investment program) is APPR_YEAR( Approval Year)
    This ZINV_PROG object does not bear Master data.
    The values in the field get populated as you load Master data of 0WBS_ELEMT.
    The values for this objects is as shown below:
    APPR_YEAR ZINVPROG
    2005 ESCCCAPS
    2007 ESCCCAPS
    2008 FIRE
    2006 CAPITAL
    A select option variable is craeted on this Navigational attribute.
    When you execute the query , On the selection screen of the query..
    If you provide i/p for Investment programm field as 2007 ESCCCAPS, the data should ideally be filtered for this values only.
    But the result of the query shows data for both values 2005 ESCCCAPS and as well as for 2007ESCCCAPS.
    Let me know how to sort this issue.
    Points will be assigned for the correct and helpfull answere.
    Thanks,

    Thanks Srini for your prompt explanation.
    My Question is if Approval year is a compounded key of ZINV_PROG object why data would not get filter out directly.
    I mean on the screen for this particualr variable i take help - F4 to see values there you are able to see all the values of Investment programm along with the apprroval year.
    If i select value as 2005 ESCCCAPS from the help F4 screen then ideally data should be fileterd out for this particular value. But it is not happening so.
    Is that so in Query desgining that if you creating a variable on Nav Attribute, and that particular Nav attribute has a compound key then if you want to filter out the data for this Nav attribute correctly you would also require to create a variable for Compound key also.
    Please let me know
    Thanks

  • Using table filters with transient VO attributes

    Hi,
    I have a the following use case and I cannot seem to find a valid solution on my own without falling into deep depression and/or psychotic delirium. Anyway, I'm sure there's a solution and that it's pretty simple, and hopefully someone here will know it.
    Let say I have a read-only VO with two attributes bound to the SQL query, namely Prefix and Suffix, as well as a transient calculated attribute named Compound formed of both the Prefix and Suffix separated with an hyphen.
    Now I want to bind that VO to an af:table supporting filters, showing only Compound column as Prefix and Suffix alone doesn't make much sense to the end user. I therefore use Compound as the sortProperty. For sorting, I was able to enforce correct logic by overriding the VO's getOrderByClause and setOrderByClause methods. For findMode, an old solution proposed by Steve involving overriding createViewCriteria with a custom class extending ViewCriteria that needs to override createViewCriteriaRow works. However, the filter capability of the table seems to use something different involving ViewCriteriaItemValue. Although I would be able to create a different instance when a criterion is created for the Compound attribute, but even if I do, I don't know how to split that value into two columns afterward. I guess I could create three linked values when the compound filter value is created, but it seems complicated. Best would be to hook the method returning the list of ViewCriteriaItemValue during the where clause creation, but then again, the data binding layer use that to detect what filters are applied and output the table accordingly so I cannot really remove the compound value at that point either. I could also override the getWhereClause I guess. Another solution, the simplest, would be to put the compound value in the SQL query, but I find that option appalling as it shouldn't be the database responsibility. If there's no other option I guess that what I'm going to do however.
    Anyone can shred any light on that issue?
    Regards,
    ~ Simon

    Hi Peter,
    Although it's not exactly what I need, I can indeed build a solution from that. Then again, it wouldn't be my first choice as it doesn't respect a correct separation of concerns (I guess I'm a purist). A listener is a view/controller layer entity and I would have preferred to hide the fact that the VO Attribute is a composition of two others to that layer. I would really have liked a pure model layer solution. That being said, I prefer the queryListener option to the Database one.
    Thanks,
    ~ Simon

  • Filter Web Template with URL Cmd: doesn't work with compound infoobject ?

    Hello all,
    I've to filter the query contained on a web template with URL command, but it doesn't work.
    The web template contains only one query, and on the free chars I have 0PLANT.
    I call the web template adding to the normal url the following command:
    &FILTER_IOBJNM=0PLANT&FILTER_VALUE=33
    where 33 is the code of the plant I want to filter.
    The command is executed, I think, because the  result is "NO APPLICABLE DATA FOUND". The fact is that when I execute this query on the Bex filtering 0PLANT by value 33 the data exists.
    May be because 0PLANT on our system is in compound with 0SOURSYSTEM ? In this case, what's the value I can use as filter ?
    Thank's in advance,
    Max

    Hi,
    please see http://help.sap.com/saphelp_nw04/helpdata/en/59/edfe395dd76846e10000000a114084/frameset.htm
    especially:
    If the variant with ending 'EXT' is selected, the fully compounded value has to be entered in the external format, for example, 24.12.2000.
    If the ending 'EXT' is not used, the fully compounded value has to be entered in the internal format, for example, 20001224 for 24.12.2000.
    and
    In the internal display (see table below) you can easily determine the name of the characteristic and the filter value using the URL parameter &snippet_operations=%20 (see also Object Tag for the Properties of Web Templates). Call the Web application with this URL parameter. If you filter using the context menu, the parameters FILTER_IOBJNM and FILTER_VALUE are automatically added to the URL in the Web browser. You can then use the desired values with Command URLs in hyperlinks.
    Heike

  • Selection screen issue with hierarchy variable, due to compounding

    Hello people,
    I'm having this odd effect with a Hierarchy variable in the selection screen of a query,  the IObject is 0PROFIT_CTR.
    When I display the hierarchy values and pick up one of them, it returns ok to the sel.screen in this format: CO_AREA + "/" + ProfitCtr Value, example: "CANI/AR03".  (CO_AREA is compounding of 0PROFIT_CTR).
    Now,  if I hit the "check" button in the selection screen, the system converts the value to an different one, by repeating twice the compounding (CO Area) value, therefore creating an incorrect value like this: "CANI/CANIAR03". Note the string after the "/" is supposed to have only the profit center value, however now has also CO Area value (repeated).
    This value goes effectively to the query execution, but because this value does not exist, I get a message "SID value not found" and the effect is that the query does not get filtered by the value I picked up.
    Note, the same happens if I go directly to the query execution without hitting the check button, as it seems internally the system its doing the same conversion before sending the value to the query.
    I can't figure out if this is a problem of the variable, the hierarchy or the selection screen mechanism.... but I cannot find an explanation/solution.
    I trust someone has already facing this!!
    cheers and happy August to everyone.
    Fernando

    Sorry, but actually its the parent that needs tagging with "Never Share", not the level 0 member, so Alt_Entity1 and Alt_Entity2 etc, see Essbase DBA guide
    understanding Implied
    Sharing
    The shared member property defines a shared data relationship explicitly. Some
    members are shared even if you do not explicitly set them as shared. These
    members are said to be implied shared members.
    If you do not want a member to be shared implicitly, mark the parent as Never Share so
    that the data is duplicated, and is not shared. See Understanding Shared Members for an
    explanation of how shared members work.
    So in the example above
    Entity Dimension:
    E1 (user has access)
    E2
    E3(user has access)
    E4
    Alt_Entity
    Alt_Entity1 - Set to "Never Share"E1 (sharedmember)
    Alt_Entity2E2 (sharedmember)
    Alt_Entity3 - Set to "Never Share"E3 (sharedmember)
    Alt_Entity4E4 (sharedmember
    Thanks
    Anthony

  • How to get rid of compounded keys on WebI report

    Hello,
    I am (very) new to Business Objects and Web Intelligence, and have created a Universe on a BW multicube.<br />
    When I setup the WebI report doc, the Fiscal year (and Fiscal Period/year) are showing with the Fiscal Variant as a prefix (e.g. Z3/2009). <br /> <br />
    Using a formula to 'strip' the characteristic to 2009 confuses the data (as there is no 'key' of 2009, only Z3/2009).
    Filtering by Fiscal Variant (the Z3 part) doesn't seem to change things, or even putting the fiscal variant in as a column (these techniques used to work quite nicely in Bex and Web Bex).<br />
    Is there some magic I have missed in the Universe building process (which I have purposefully kept very simple, as there are plenty of these to build!!).<br /> <br />
    I am sure folks have seen (and sovled) this before, as Fiscal Year (and Fiscal Period/year) must be used often, and these are standard SAP time fields.<br />
    However, i can find nothing in help or even forums (perhaps I am not searching for correct key words).<br /> <br />
    I haven't tried building the universe off a Bex Query, and am kind of reluctant to do this, as it builds in another layer to maintain.<br /> <br />
    Anyone know how to get rid of the compounded part of the (fiscal year) objects?<br /> <br />
    Your help and comments are much appreciated.<br /> <br />
    Regards,<br />
    Martin.

    Hi Ingo,
    I am also facing the same problem.
    I have an object Showing (TR/1223xxxx). I was able to remove "TR/" in bex by dragging the compunded object in Rows section and supressing it to "No Display" but in Webi I am still getting (TR/1223xxxx).
    In Webi if I create a formula and trim the above value, i am getting "#UNAVAILABLE" in Key Figures, i.e. measures (smar Measures)
    Is there a way to get rid of this compunded value.
    One more requirement, in Bex Query, I am giving dislay as "Key and Text" but in Webi, i get only "Text" for that object. I have to explicitply drag and use the Object - key (detail object of that particular dimension). Is there a way to get both Key and Text in Webi using a single object.
    Kindly help. Thank You!
    Edited by: Aikansh on Mar 9, 2012 8:49 AM

  • [ANN] xframe-swing (frozen columns with the JXTable)

    The xframe team is pleased to announce the release 0.6-beta of our swing subproject, the first beta release.
    Currently the main purpose of this project is the JXTable class, an extension to the JTable which offers frozen columns and groupable column headers while behaving almost exactly like the original JTable. So the intention is to have a true replacement for the JTable where ontop you can use your usual features like filtering, sorting, etc.
    Since the JXTable is being used in the first few commercial projects, we got a lot of feedback and patches which improved stability and usability upto a high level. These projects are not yet finished, so we keep the beta status until the first project goes to production.
    You can download xframe-swing here:
    http://sourceforge.net/project/showfiles.php?group_id=48863&package_id=125567
    Further Readings:
    http://xframe.sourceforge.net/swing/index.html
    http://jroller.com/page/kriede/20040414#swing_table_with_frozen_columns

    The FixedColumnExample from the link that you provided doesn't work with JDK 1.3 or higher.
    Anyway, putting a seperate table for the fixed columns into the row header is the first step to solve the problem of fixed columns.
    The next problem is to synchonize the scrolling behaviour of the two tables. The FixedColumnExample tries to do it by overwriting the valueChange method (maybe this was working with JDK 1.8), but with JDK 1.2 or higher it is recommended to use ChangeListeners. That's what I am doing, as also described here: http://www.chka.de/swing/components/JScrollPane-bugfix.html.
    Another problem is navigation with the tab or arrow keys: The default actions for those events move the selection only within one JTable. It would be nicer, if e.g. the tab key moves the selection within one row across both, the fixed and the scrollable columns.
    Those problems and some more are solved in the CoolTable sample:
    http://jroller.com/resources/kriede/CoolTable.java
    Please try it out and send comments.

  • Making a clipping group with a compound path

    So, as of today I'm new to scripting for Illustrator, I'm using the ExtendScript Toolkit. However I'm not new to scripting my own solutions and I do have some experience with JavaScript already.
    What I'm trying to do is this: For all selected Items->Duplicate selected item and make a simple clipping group with it
    What I end up with visually doesn't change the picture, but gives me a lot of clipped colored areas which I then can edit in the isolated mode, allowing me far faster and better shading. Doing that by hand takes hours on some pictures, it'd take a second with a script.
    The script itself already perfectly works for normal PathItems. As obvious in the title, as soon as I have to apply the same to CompundPathItems things stop working. My issue is somewhat similar to this old thread [Problem with compound path clipping], but I couldn't find a solution there because I get different behavior.
    When I run the very same script that perfectly works with the normal PathItems with CompoundPathItems I get this: Error 9046: The top item in the group must be a path item to create a mask
    Well that's a problem. In the GUI there is absolutely no difference between making a clipping mask with a simple path and a compound path. The reference guide has frankly not helped me with this issue at all, the only thing I learned from that is that the CompoundPathItem object doesn't have a clipping attribute, but those included PathItems do.
    Here's what I have so far:
    if ( selected[i].typename == "PathItem" ) {
    var newGroup = doc.groupItems.add();
    copy = selected[i].duplicate(newGroup,ElementPlacement.PLACEATEND);
    selected[i].moveToBeginning(newGroup);
    newGroup.clipped = true;
    As I said, this part perfectly does what it's supposed to do for normal Paths.
    For CompoundPaths I use this workaround.
    if ( selected[i].typename == "CompoundPathItem" ) {
    var newGroup = doc.groupItems.add();
    copy = selected[i].duplicate(newGroup,ElementPlacement.PLACEATEND);
    selected[i].moveToBeginning(newGroup);
    compoundItems = selected[i].pathItems;
    compoundIndex = compoundItems.length;
    for ( f = 0; f < compoundIndex; f++ ) {compoundItems[f].clipping=true;}
    var lineList = new Array(10);
    for ( l = 0; l < lineList.length; l++ ) {lineList[l] = new Array( i * 10 + 50, ((i - 5) ^ 2) * 5 +50);}
    newPath = app.activeDocument.pathItems.add();
    newPath.setEntirePath(lineList);
    newPath.moveToBeginning(newGroup);
    newGroup.clipped = true;
    newPath.remove();
    Mind you, this workaround does work in so far that it bypasses that annoying and wrong error, and the Compound Clipping Path also works, with the only problem being that the Compound Clipping Path created like this is still displayed in its original colors in the Layers section, and is still selectable. When I lock the Compound Clipping Path I can work with it but still...
    So the question is, what am I missing here? Surely there must be a proper way to do this.

    app.executeMenuCommand()? That one eluded me so far, might be just the right thing. I'll definitely take a look, now just to find a ref on that, as unfortunately the official ref documents I have don't mention that command. Any place with a list of possible commands?
    Ah, also of course I'm not only doing it for the isolation mode. If you care to hear the background, here is it:
    As I said it's for shading the pictures I'm working on. I've iterated and tried through a bunch of techniques. For example gradient meshes on my first few real works. Now those meshes don't do well with complex shapes, which previously I alleviated by using a simple square or rectangle gradient mesh and using the original colored shape as a clipping mask. That did work, but it was a huge lot of work.
    After a bunch of attempts at that I went over to using simple gradients as a background for the shape and then I'm doing the shading freehand with the blob brush tool, using a graphic style and filters to make it look right. That's better, but properly making all the clipping masks takes me much longer than anything else.
    Now the problem is that the shading is not supposed to go over the lines, which is impossible to do properly without either messing up the order, or using clipping masks, hence the script. Because you know, if you use a blob brush with a strong Gaussian blur close to the lines you'll end up with stuff on both sides. If you don't start close to the line the shading won't look right if the darkest part of the shade needs to be close to the line. And that's where clipping masks do magic.
    And finally here's an example how I work with the script and the result:
    After I have traced a sketch, adjusted the line widths and everything to look neat I turn the paths to outline strokes and then make them into a live paint group (which would mess up the line widths, unless you turn the paths into outline strokes first).
    With that live paint group it takes me just a few minutes to flat color my piece. Then I expand the live paint group, in case of doubt spend some more minutes to make compound paths from all areas I need to shade in one piece, then I select all the areas and use my script to turn them into neat clipping masks. Then I can click any area, enter the isolation mode and go up one level so I'm in the appropriate group, where I can shade freely without the problem of going over the lines.
    At the end that allows me to apply a complex and in-depth shading, without wasting any time to get there.
    PS: Well, I just found out that Draw Inside is pretty darn close to what I want to do, and oddly enough it produces the same visual discrepancy with compound paths that my script produces. I'll be taking a closer look at that, though my script does a little more than just the clipping mask stuff, so maybe I'll go for a hybrid solution. Whatever makes for a better workflow.

  • Table for compounded characteristics

    Hi
    Whats the table that contains details about 'compounded' characteristics?  (I am creating an infoset that dispays the characteristic relationships in a cube, but in the source and target I am not seeing the compounded chracteristics.)
    thanks

    Hi,
    table RSDIOBJCMP will tell you the compounding IObj of a compounded IObj.
    table RSDCHA filtered to CMPSTA not empty will tell you the compounded characteristics.
    hope this helps...
    Olivier.

  • Some filters doesn't seem to work right after a fresh install

    Hi,
    I just begin learning Motion and I am having some problem when following the Apple Pro Training Series book.
    Certain filters don't seem to work properly, I cannot add these filters by using the "Add Filter" method, they don't even have a preview image when I click on them in the library.
    I first thought there might be something wrong with my computer, so I re-install the entire OS, but after I installed motion, same problem still persist.
    anyone have an idea on what's causing this problem?
    Thanks!

    Sorry I didn't post a complete list at my first post, when I first encountered this problem, I thought there are only several filters that's not behaving properly, but after checking out each and everyone of them now. I began to think there's something wrong during the installation of Motion.
    I'll try to re-install it again, and check on the installer log.
    Here is the list:
    Blur
    Circle Blur, Compound Blur, Gradient Blur, Radial Blur, Variable Blur
    Color Correction
    Colorize, Equalize, Negative, Saturate, Tint.
    Distortion
    Black Hole, Bulge, Disc Warp, Droplet, Fun House, Glass Block, Glass Distortion, Poke, Ring Lens, Ring Warp, Sphere, Starburst,
    Glow
    Gloom, Glow,
    Stylize
    Circle Screen, Edge Work, Edges, Halftone, Hatched Screen, Highpass, Line Screen, Texture Screen, Wavy Screen
    Tiling
    Parallelogram Tile, Perspective Tile
    Thanks!

  • Different filters in one report

    Is there a way to use different filters in one Answers query?
    For example, I want to place two tables onto Compound layout view. The first table is prepared using one filter, and the second - using another filter.
    PS. I know that I can use two different queries with different filters and then put them to a dashboard. But it's not what I want - I want to put two different tables onto the Compound Layout view.

    The answer your question correctly: no, you can not have multiple filters in one answer request. You can only have one table view in an Answers request. The table view represents the logical SQL of the request, which can only have one filter.
    But there are some workarounds:
    1) you can use the FILTER function to create a column filter.
    2) you can have multiple pivot table views in one Answers request, to get different tables
    Based on 1 single table view, you can have multiple pivot tables which contain different column filtered columns.
    This means that you can have multiple (pivot) tables in one request which hold different data.

Maybe you are looking for