Issue with filtering KPIs through perspectives in a Tabular model

I am having issues with trying to filter KPIs through a perspective.  In my fact table, I have three KPIs created out of SumOf measures.  There are three different user groups, and one user group wants a KPI specifically for their area, so it should
not show up on the other perspectives.
I remove the SumOf column from the list of fields under the Perspectives menu (there is not an option for a KPI...just Sum of [Column Name]).  When I select that perspective through my model view, it does not show the KPI under my fact table, which
is what I would expect.
When I try to analyze in Excel, or deploy to the server and connect to that perspective through a pivot table, at times all KPIs will show up (with my Sum of ... column removed) and other times, zero KPIs appear.  When I connect to the default perspective,
however, everything appears.
Has anyone ran into this issue before?  I have tried a process recalc on my cube through SSDB (I'm not sure if I did it right) and I tried a recalc through the Process menu to no avail.  Any help will be greatly appreciated because I am stumped
at the moment.

I've had problems with KPIs in perspectives (i.e. not showing up in the correct perspective). Unfortunately, I have not been able to find a resolution. At the time I experienced the issue, I tried googling and looking at the forums, but didn't
come up with anything.

Similar Messages

  • Issue with filtering values in Web Template

    I am facing a problem with filtering values in Web Template.
    I have two queries based on two different data providers. One query is getting data from an Info set and the other from a Remote Cube. I have a single navigational block to filter values for both these queries but the change gets reflected only on the variable of one query. The other reflects no change and shows all the values irrespective of the filter condition.
    I have tried the option of setting in the properties of the navigational block, ‘affected data providers’ as both your data providers.But no effect.
    Can a single navigational block be used to filter values on 2 queries which are built on different data providers? If yes, can someone please tell me how it is possible?
    Kindly let me know how can I make the changes appear in both the queries?I am using SAP BI 3.5.
    Thanks & Regards,
    Suchitra

    Hi Peng,
    Frank also published a fix for 11g R1: http://www.oracle.com/technology/products/jdev/tips/fnimphius/rc_expand_menu_on_mouse_over.html
    function showMenu(event){
       var adfRichMenu = event.getSource();
       adfRichMenu.getPeer().show(null,true);
    }This should work.
    Luc Bors

  • Ability to Filter within an idividual perspective in a Tabular Model (cube)?

    I have a rather large Tabular model that I would like to use across 10 different reports as the requirements are identical, save for 1 aspect - the report goes out to 10 different companies. I need to be able to limit each result set by the individual
    companies, however a normal filter in a pivot table won't work as I cannot have each company seeing the other companies data.  I was hoping I could manage this via a perspective per company, but it doesn't look like you can limit or filter within the
    perspectives.  I am trying to find the best approach to accomplish this without having to build out 10 different tabular models to maintain.  I welcome any ideas on this; my searching didn't yield good results.

    You can do it in by
    1) Create perspectives with only allowed dimension members (individual company names in your list). This is done when you are creating the Perspective.
    2) Create a role for each company and in the allowed set for the dimension(company) only allow values for that particular one. So you will have one role per company.
    3) Have you considered the option of Dynamic Security?
    Please mark as answer, if this has helped you solve the issue.
    Good luck :) .. visit www.sqlsaga.com for more t-sql code snippets and BI related how to articles.

  • Issues with AUTO cycling through ....

    I'm trying to do this:
    Any help with one or the other is very much appriciated !!!
    1) When the Timer is finish auto cycling through the tabs (1 to 16) of the ViewStack, and switching over to tab (1) to STOP, I would like to address a function to do something ???
    The question is now how to write the code to ID that the Timer has come to a STOP on tab (1), and how can I incoperate this into the existing (onTimerOne) function.
    2) The second item I'm after is that if I'm amnualy select any tab (1 to 16) to address also a function to do something ???
    3) The third item I'm after is to automaticly zero (0) the ViewStack to tab number (1) if I click a Btn.
    <mx:Script>
    <![CDATA[
        import flash.events.TimerEvent;
        import flash.utils.Timer;
        private var timerOne:Timer;
        private function initOne():void {
            timerOne = new Timer(5000, myViewStack.numChildren);
            timerOne.addEventListener(TimerEvent.TIMER, onTimerOne);
        private function onTimerOne(evt:TimerEvent):void {
            if(myViewStack.selectedIndex == myViewStack.numChildren-1) {
            myViewStack.selectedIndex = 0;
            return;
            myViewStack.selectedIndex++;
        private function autoOne():void {
            if (!timerOne.running) {
            timerOne.start();
        private function manualOne():void {
            if (timerOne.running) {
            timerOne.stop();
    ]]>
    </mx:Script>
    4) Well, the fourth item I'm trying to work out is as I'm reading my data from an Xml file to have a TextArea which shows the different countries from the Xml file for each ViewStack tab while auto cycling through these tabs (1 to 16).
    The diffuculty here is that I use this Xml with a specific urlID="1" to urlId="16" as part shown below.
    <urlsOceania>
        <urlOceania urlID="1"/>
        <searchCountry>American Samoa</searchCountry>
        <etc></etc>
    </urlsOceania>
    I'm reading all the other items this way:
    source="{urlsOceania.urlOceania.(@urID==1).etc}"
    Thanks in advance aktell2007

    Thanks for the confirmation.  7 miles away is most likely using the same VZW tower but it does confirm the problem is not in your current location for us.
    You can look up local tower locations from many public websites such as the following:
    www.antennasearch.com
    www.cellreception.com
    http://www.evdoinfo.com/content/view/2990/63/
    The signal of -65 shows you have strong reception but it doesnt show the entire picture.  Your tower could be overloaded or unauthenticating you.  There are lots of little issues that exist outside of the raw signal strength between the towers and the connecting devices that we users have no control over.  As you may guess only a tower tech has access to identify and correct these things.
    Based on the picture of the back of the MBR1515/Netgear N300 router from Netgear I would assume that only a normal sized SIM card will fit.  I would not assume a micro SIM card will fit.  Since I do not have access to either of the VZW or non-VZW 4G LTE router I cannot confirm if it will work or not.  You might have to give Netgear a call and ask.  Based on what I can see from the User Guides of both devices the SIMs used for each should be compatible with eachother.
    If you decide to purchase the non vzw version please post back your findings for us.

  • Issue with passing parameters through Java-JSP in a report with cross tab

    Can anyone tell me, if there's a bug in Java SDK in passing the parameters to a report (rpt file) that has a cross tab in it ?
    I hava report that works perfectly fine
       with ODBC through IDE and also through browser (JSP page)
    (ii)    with JDBC in CR 2011 IDE
    the rpt file has a cross tab and accpts two parameters.
    When I run the JDBC report through JSP the parameters are never considered. The same report works fine when I remove the cross tab and make it a simple report.
    I have posted this to CR SDK forum and have not received any reply. This have become a blocker and because of this our delivery has been postponed. We are left with two choices,
       Re-Write the rpt files not to have cross-tabs - This would take significant effort
    OR
    (ii)  Abandon the crystal solution and try out any other java based solutions available.
    I have given the code here in this forum posting..
    CR 2011 - JDBC Report Issue in passing parameters
    TIA
    DRG
    TIA
    DRG

    Mr.James,
    Thank you for the reply.
    As I stated earlier, we have been using the latest service pack (12) when I generated the log file that is uploaded earlier.
    To confirm this further, I downloaded the complete eclipse bundle from sdn site and reran the rpt files. No change in the behaviour and the bug is reproducible.
    You are right about the parameters, we are using  {?@Direction} is: n(1.0)
    {?@BDate} is: dt(d(1973-01-01),t(00:00:00.453000000)) as parameters in JSP and we get 146 records when we directly execute the stored procedure. The date and the direction parameter values stored in design time are different. '1965-01-01' and Direction 1.
    When we run the JSP page, The parameter that is passed through the JSP page, is displayed correctly on the right top of the report view. But the data that is displayed in cross tab is not corresponding to the date and direction parameter. It corresponds to 1965-01-01 and direction 1 which are saved at design time.
    You can test this by modifying the parameter values in the JSP page that I sent earlier. You will see the displayed data will remain same irrespective of the parameter.
    Further to note, Before each trial run, I modify the parameters in JSP page, build them and redeploy so that caching does not affect the end result.
    This behaviour, we observe on all the reports that have cross-tabs. These reports work perfectly fine when rendered through ODBC-ActiveX viewer and the bug is observable only when ran through Java runtime library. We get this bug on view, export and print functionalities as well.
    Additionally we tested the same in
        With CR version 2008 instead of CR 2011.
    (ii)   Different browsers ranging from IE 7 through 9 and FF 7.
    The complete environment and various softwares that we used for this testing are,
    OS      : XP Latest updates as on Oct 2011.
    App Server: GlassFish Version 3 with Java version 1.6 and build 21
    Database server ; SQL Server 2005. SP 3 - Dev Ed.
    JTds JDBC type 4 driver version - 1.2.5  from source forge.
    Eclipse : Helios along with crystal libraries directly downloaded from SDN site.
    I am uploading the log file that is generated when rendering the rpt for view in IE 8
    Regards
    DRG

  • How can I resolve as possible security issue with unauthorized computers through QuickTime , as a diagnostic and screen shots show evidence of a Mac computer and I don't have one?

    II'm trying to resolve an issue that I have with my iPhone 4s through QuickTime. I think it might be an embedded mms that might broadcasts my info as well as allows remote access sometimes. Any answers or similar activity?, I can support with screenshots of public information . This shows in my emIl accounts as well.

    Is your phone jailbroken? If it is not, you're probably not seeing what you think you're seeing. If your phone hasn't been jailbroken, it's certainly not being controlled remotely. What do you mean by an "embedded mms"? Are you sharing an Apple ID with anyone? Or could someone have gotten access to your Apple ID information?

  • Issue with invite accepted through google calendar.

    I sent an invite to an event through ical. The recipient accepted through google calendar which in turn sent me an email accepting. However, my original meeting status hasn't changed to reflect that it was accepted. Am I missing something here? How does iCal get updated to know that the recipients have accepted?

    UPDATE: My problem was not related to the Sync History, rather the fact the Apple decided to stop supporting Outlook versions older than 2003.  I realize that I shouldn't rely on software thats almost 10 years old, but I figured, if it ain't broke, don't fix it.  I resolved my calendar sync issues by upgrading to a newer version of Outlook.
    Before resorting to this, I successfuly rolled back my iTunes to an earlier version (following directions easily found via Google), but the older version of iTunes didn't recognize my "itunes_library.itl" file - in my iTunes folder.  Older versions of this file are archived, so subbing one of those into the main iTunes directory solved that problem, however, I lost about a month of changes to my library.  After tooling around with these issues, I finally decided that upgrading Outlook was a simpler solution.
    It is curious, however, that iTunes didn't identiy my problem for me, maybe with a messge like "iTunes no longer supports sync for your version of Outlook".  It is also curious that my probnlem was only for my calendar: my contacts and notes were still syncing fine both to and from the phone and computer. 
    Hope this helps others who experienced problems with iTunes and older verisons of Outlook.

  • Issue with Updating Apps through iTunes

    I have been having this issue for sometime now, and through multiple versions of iTunes. Whenever I open up iTunes and see that there are apps that I need up update, i'll click on applications, ill go and click update apps, I'll see the apps that need to be updated and ill click update. I put in my password, but when I do that, I get an error saying:
    We could not complete your iTunes store request. There is not enough memory available.
    There is an error in the iTunes Store. Please try again later.
    Obviously I have enough memory and space on my computer, but not sure if this is an error with the store itself or with my computer some how. I can download new apps with out a problem, purchase anything and download anything through iTunes, even after that error pops up, but I just cant update any apps. I can update them on my phone, and if I sync my phone with iTunes, and then try updating apps that might not be on my phone when I updated them, it will work then. Not sure what would cause this, and its not that big of a deal, just an annoyance and something I find a bit odd.
    Thanks for any info and advice.

    What part of no wifi did you not understand?
    I'm well aware that I can update through the app store, if you had read the original question properly you would see that.

  • Issue with vlc steaming through dolphin ftp client

    I am not sure if i should post this here or in the multimedia section excuse me if i am mistaken. I have been using archlinux in almost 4 weeks with gnome 3. I have installed kde today after removing gnome(pacman -Rscn gnome). I have a small home server running ftp server where i have some media files(.mkv). In gnome i usually used nautilus to access the ftp folder(sftp://servername.dyndns.org/srv/) and run vlc to stream the medias. Tried to do the same with kde dolphin with no luck.
    First i was not able to view the folder with dolphin. I researched abd found this thread with a solution:
    http://forum.kde.org/viewtopic.php?f=18 … 5&start=15
    Now i am able to access the folder, but can't stream any media using vlc.
    The following errors are from vlc:
    Your input can't be opened:
    VLC is unable to open the MRL.
    sftp://servername.dyndns.org/srv/filename.mkv
    Check the log for details.
    Going into tools->messages gives the followings:
    main error: open of
    sftp://servername.dyndns.org/srv/filename.mkv failed:(null)
    I suspect something is wrong the ftp client configuration in dolphin. This bug report also bothers me also :
    http://old.nabble.com/-Bug-274170--New% … 05158.html
    Other thing is that i am able to open the media files using other media players(dragon player, mplayer), but then the files are automatically downloaded into the local folder /var/tmp/kdecache-username/krun/filename.mkv. The media player then loads the file from there. Its the same if i open a text file in the server, edit it and save it. Its first downloaded to the /var/ folder then asked to upload back to the server when closed.
    Its my conclusion that the ftp client in dolphin does not work properly or KDE KIO works different then whatever is used in gnome/nautilus. I hope i have explained the issue as good as possible and would appreciate any help or lead to how to solve this.

    Thanks for your reply, after checking some ideas I found that to get the ftp to work I needed to use the internal IP 10.0.0.1 for it rather than the old normal IP like before the firewall(probably a very beginner error sorry for that). And I discovered the exact issue causing clients to not see their characters if not using Hamachi.
    Hamachi treats everyone join to the network as though they are local I believe, so when the server send character info via Hamachi it thinks it is sending the info locally and then Hamachi itself sends it out to the extrenal client, while tracing the data I found that the login process sends a 33 byte packet of data to the client via TCP from port 5051 out to the client on a rnadom port usually in the range of 40000-50000 telling the client to send a request to the other process to ask for the character information.
    Now for some reason I see when a client logs in through Hamachi that packet is sent correctly to their Hamachi IP and recived fine.(sent from 10.0.0.1:5051 to the Hamachi IP:40k-50k) but when a client tries to log in using a normal IP with Hamachi turned off, the log in process does send the 33 byte packet from 10.0.0.1:5051 to the client WAN IP through the usual port but the client never recieves this packet and as such doesn't not request the character information.
    So my guess is something on the 5505 is disallowing the log in process to send the data externally to the clients WAN IP's? Though this is very odd because it does allow the client to actually log in to the account and seems to recieve at least part of that information fine.
    If any help that might resolve this for me can be given I would very much appreciate it, this issue is limiting my client base and as such my income and business as a whole. Thank you in advance for any help given.

  • Issue with sending mail through java stored procedure in Oracle

    Hello
    I am using Oracle 9i DB. I created a java stored procedure to send mail using the code given below. The java class works fine standalone. When its run from Java, mail is sent as desired. But when the java stored procedure is called from pl/sql "Must issue a STARTTLS command first" error is thrown. Please let me know if am missing something. Tried the same code in 11.2.0.2 DB and got the same error
    Error:
    javax.mail.MessagingException: 530 5.7.0 Must issue a STARTTLS command first. va6sm31201010igc.6
    Code for creating java stored procedure: (T1 is the table created for debugging)
    ==================================================
    create or replace and compile java source named "MailUtil1" AS
    import java.util.Enumeration;
    import java.util.Properties;
    import javax.mail.Message;
    import javax.mail.Session;
    import javax.mail.Transport;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeMessage;
    public class MailUtil1 {
    public static void sendMailwithSTARTTLS(String host, //smtp.projectp.com
    String from, //sender mail id
    String fromPwd,//sender mail pwd
    String port,//587
    String to,//recepient email ids
    String cc,
    String subject,
    String messageBody) {
    try{
    Properties props = System.getProperties();
    props.put("mail.smtp.starttls.enable", "True"); // added this line
    props.put("mail.smtp.host", host);
    props.put("mail.smtp.user", from);
    props.put("mail.smtp.password", fromPwd);
    props.put("mail.smtp.port", port);
    props.put("mail.smtp.auth", "true");
    #sql { insert into t1 (c1) values ('1'||:host)};
    Session session = Session.getDefaultInstance(props, null);
    MimeMessage message = new MimeMessage(session);
    message.setFrom(new InternetAddress(from));
    #sql { insert into t1 (c1) values ('2')};
    InternetAddress[] toAddress = new InternetAddress[1];
    // To get the array of addresses
    for( int i=0; i < toAddress.length; i++ ) { // changed from a while loop
    toAddress[i] = new InternetAddress(to);
    //System.out.println(Message.RecipientType.TO);
    for( int i=0; i < toAddress.length; i++) { // changed from a while loop
    message.addRecipient(Message.RecipientType.TO, toAddress);
    if (cc!=null) {
    InternetAddress [] ccAddress = new InternetAddress[1];
    for(int j=0;j<ccAddress.length;j++){
    ccAddress[j] = new InternetAddress(cc);
    for (int j=0;j<ccAddress.length;j++){
    message.addRecipient(Message.RecipientType.CC, ccAddress[j]);
    message.setSubject(subject);
    message.setText(messageBody);
    message.saveChanges();
    #sql { insert into t1 (c1) values ('3')};
    Enumeration en = message.getAllHeaderLines();
    String token;
    while(en.hasMoreElements()){
    token ="E:"+en.nextElement().toString();
    #sql { insert into t1 (c1) values (:token)};
    token ="ConTyp:"+message.getContentType();
    #sql { insert into t1 (c1) values (:token)};
    token = "Encod:"+message.getEncoding();
    #sql { insert into t1 (c1) values (:token)};
    token = "Con:"+message.getContent();
    #sql { insert into t1 (c1) values (:token)};
    Transport transport = session.getTransport("smtp");
    #sql { insert into t1 (c1) values ('3.1')};
    transport.connect(host, from, fromPwd);
    #sql { insert into t1 (c1) values ('3.2')};
    transport.sendMessage(message, message.getAllRecipients());
    #sql { insert into t1 (c1) values ('3.3')};
    transport.close();
    #sql { insert into t1 (c1) values ('4')};
    catch(Exception e){
    e.printStackTrace();
    String ex= e.toString();
    try{
    #sql { insert into t1 (c1) values (:ex)};
    catch(Exception e1)
    Edited by: user12050615 on Jan 16, 2012 12:18 AM

    Hello,
    Thanks for the reply. Actually I have seen that post before creating this thread. I thought that I could make use of java mail to work around this problem. I created a java class that succesfully sends mail to SSL host. I tried to call this java class from pl-sql through java stored procedure. That did not work
    So, is this not supported in Oracle ? Please note that I have tested this in both 9i and 11g , in both the versions I got the error. You can refer to the code in the above post.
    Thanks
    Srikanth
    Edited by: user12050615 on Jan 16, 2012 12:17 AM

  • Issue with Consolidate Action through Batch Process

    We find that when "Load" reports an error, "Consolidate" does not fire - only from Batch. When processing manually, Consolidate fires regardless of Load errors.
    We are using an Essbase load rule that results in records continuing to be loaded, when there are kickouts. So, the Essbase API is returning an error code to FDM [that's fine].
    We want to run a calc script whether or not the load errors.
    Again, with a "manual" process - no problem. But Batch stops prior to firing Consolidate.
    We checked the Batch flag - we set it to "10" (Consolidate) and even "12" (Check).
    Any thoughts?
    We are trying to avoid altering the Load Action code to execute the Essbase calc within that code set.
    Any inputs regarding this issue would be greatly appreciated.
    Thanks

    Thanks for responding back. I have seen the link before.
    We have HR_PL_ADMINISTRATOR_000 role. The role has P_ASRCONT P_ORGIN and P_PERNR object. Object  P_ORGIN needs to be set as
    Authorization level            Read
    Infotype                           *
    Personnel Area                *
    Employee Group              *
    Employee Subgroup         *
    Subtype                           *
    Organizational Key            *
    in order to show the Hire Process in execute hiring link on the Portal. If we put a restriction on personal area, we do not see the Hire process on the execute hiring on the portal.
    Kindly advice.
    Thanks,
    Gowri

  • Issue with running pages through jDev, wls starts but no target url is provided.

    Hi all,
    I recently downloaded an older version of jDev for a new assignment - Studio Edition Version 11.1.1.6.0 - Build JDEVADF_11.1.1.6.0CLOUD_GENERIC_121118.1600.6229.
    I created a basic wls domain and I've tried running simple jspx pages, at which point a weblogic appears to have started without issue. However, my page never runs and no target domain is provided. Below is how my log appears and it just seems to hang. I'm my experience a window always popped up in my default browser with the domain and it is also shown in the log. Going to my expected default domain (http://127.0.0.1:7101/Home.jspx for example) results in a 404. I sure its something stupid, but I'm not sure how to address this issue. Any advice would be appreciated.
    *** Using port 7101 ***
    <Jul 7, 2013 5:01:48 PM EDT> <Notice> <Security> <BEA-090082> <Security initializing using security realm myrealm.>
    <Jul 7, 2013 5:01:52 PM EDT> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STANDBY>
    <Jul 7, 2013 5:01:52 PM EDT> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STARTING>
    <Jul 7, 2013 5:02:19 PM EDT> <Notice> <LoggingService> <BEA-320400> <The log file C:\Users\dslack\AppData\Roaming\JDeveloper\system11.1.1.6.38.62.29\DefaultDomain\servers\DefaultServer\logs\DefaultDomain.log will be rotated. Reopen the log file if tailing has stopped. This can happen on some platforms like Windows.>
    <Jul 7, 2013 5:02:19 PM EDT> <Notice> <LoggingService> <BEA-320401> <The log file has been rotated to C:\Users\dslack\AppData\Roaming\JDeveloper\system11.1.1.6.38.62.29\DefaultDomain\servers\DefaultServer\logs\DefaultDomain.log00017. Log messages will continue to be logged in C:\Users\dslack\AppData\Roaming\JDeveloper\system11.1.1.6.38.62.29\DefaultDomain\servers\DefaultServer\logs\DefaultDomain.log.>
    <Jul 7, 2013 5:02:19 PM EDT> <Notice> <Log Management> <BEA-170027> <The Server has established connection with the Domain level Diagnostic Service successfully.>
    <Jul 7, 2013 5:02:19 PM EDT> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to ADMIN>
    <Jul 7, 2013 5:02:19 PM EDT> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to RESUMING>
    <Jul 7, 2013 5:02:19 PM EDT> <Notice> <Server> <BEA-002613> <Channel "Default" is now listening on 127.0.0.1:7101 for protocols iiop, t3, ldap, snmp, http.>
    <Jul 7, 2013 5:02:19 PM EDT> <Notice> <WebLogicServer> <BEA-000331> <Started WebLogic Admin Server "DefaultServer" for domain "DefaultDomain" running in Development Mode>
    <Jul 7, 2013 5:02:19 PM EDT> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to RUNNING>
    <Jul 7, 2013 5:02:19 PM EDT> <Notice> <WebLogicServer> <BEA-000360> <Server started in RUNNING mode>
    Regards - Dylan

    Hi dslack,
    Please delete the default domain from the following path. Close Jdev before deleting and restart , it will create a new domain.
    C:\Users\dslack\AppData\Roaming\JDeveloper\system11.1.1.6.38.62.29\DefaultDomain
    Thanks
    Sandeep

  • Performance issue with Filtering a SortedList

    Hello,
    I'm using RangeSlider from ControlsFX to control a TableView's entries based on their timestamp
    private final ObservableList<DataEntry> dataEntries = FXCollections.observableArrayList();
    private final FilteredList<DataEntry> filteredDataEntries = new FilteredList(dataEntries);
    private final SortedList sl_SortedDataEntries = new SortedList(filteredDataEntries);
    private final TableView<DataEntry> dataTableView = new TableView<>();
    public static RangeSlider dateRangeSlider = new RangeSlider(0,1,0,1);
    Then, in my initialize() I set the following
    dataTableView .setItems( sl_SortedDataEntries );
    sl_SortedDataEntries.comparatorProperty().bind(dataTableView .comparatorProperty());
    dateRangeSlider.lowValueProperty().addListener(new ChangeListener<Number>() {                                                                             >>>> I do this for both the highValueProperty as well
                @Override
                public void changed (ObservableValue<? extends Number> message, Number oldValue, Number newValue) {
                    filteredDataEntries.setPredicate( p -> p.getDataEntryInstant().isAfter(Instant.ofEpochMilli(newValue.longValue()))
                            && p.getDataEntryInstant().isBefore(Instant.ofEpochMilli(dateRangeSlider.highValueProperty().longValue())));
    If I'm working on a TableView with 22K rows, I can filter the content of the TableView as desired (more or less) if I've not sorted the data.  If the data is sorted, using the slider to filter it takes forever (5-10 min) for the computation to complete.  Doing the filtering in it's own task, obviously takes care of that "app is hung" feeling but the data in the table still takes a while to refresh based on the new predicate.
    What am I missing here?

    Seems to work ok for me. Haven't tested very fully: here's my test case (sorry for posting excessive amounts of code, about as short as I could get it).
    import java.time.*;
    import java.time.format.*;
    import java.util.*;
    import org.controlsfx.control.RangeSlider;
    import javafx.application.Application;
    import javafx.beans.binding.Bindings;
    import javafx.beans.property.*;
    import javafx.beans.value.ChangeListener;
    import javafx.collections.*;
    import javafx.collections.transformation.*;
    import javafx.scene.Scene;
    import javafx.scene.control.*;
    import javafx.scene.control.cell.PropertyValueFactory;
    import javafx.scene.layout.*;
    import javafx.stage.Stage;
    public class TableFilteringAndSortingTest extends Application {
        private final int HOURS_PER_YEAR = 365 * 24 ;
        private final ZonedDateTime Jan1_2013 = ZonedDateTime.of(2013, 1, 1, 0, 0, 0, 0, ZoneId.systemDefault());
        @Override
        public void start(final Stage primaryStage) throws Exception {
            TableView<UserTask> taskTable = new TableView<>();
            TableColumn<UserTask, String> nameColumn = createTableColumn("Name", String.class);
            final DateTimeFormatter formatter = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.SHORT);
            TableColumn<UserTask, ZonedDateTime> dueDateColumn = createTableColumn("Due Date", ZonedDateTime.class);
            dueDateColumn.setCellFactory(dataFeatures -> new TableCell<UserTask, ZonedDateTime>() {
                @Override
                public void updateItem(ZonedDateTime dueDate, boolean empty) {
                    if (empty) {
                        setText(null);
                    } else {
                        setText(formatter.format(dueDate));
            TableColumn<UserTask, String> assigneeColumn = createTableColumn("Assignee", String.class);
            taskTable.getColumns().addAll(Arrays.asList(nameColumn, dueDateColumn, assigneeColumn));
            final ObservableList<UserTask> tableData = createTableData();
            final FilteredList<UserTask> filteredData = new FilteredList<>(tableData, t -> true);
            final SortedList<UserTask> sortedData = new SortedList<>(filteredData);
            sortedData.comparatorProperty().bind(taskTable.comparatorProperty());
            taskTable.setItems(sortedData);
            final RangeSlider rangeSlider = new RangeSlider(0, HOURS_PER_YEAR, 0, HOURS_PER_YEAR);
            rangeSlider.setStyle("-fx-padding: 10px;");
            final Label lowLabel = new Label();
            final Label highLabel = new Label();
            lowLabel.textProperty().bind(
                    Bindings.createStringBinding(
                            () -> formatter.format(Jan1_2013.plusHours((long) rangeSlider.getLowValue())),
                            rangeSlider.lowValueProperty()
            highLabel.textProperty().bind(
                    Bindings.createStringBinding(
                            () -> formatter.format(Jan1_2013.plusHours((long) rangeSlider.getHighValue())),
                            rangeSlider.highValueProperty()
            ChangeListener<Boolean> rangeChangingListener =
                    (observable, oldValue, newValue) -> {
                        if (! newValue) {
                            final ZonedDateTime low = Jan1_2013.plusHours((long)rangeSlider.getLowValue());
                            final ZonedDateTime high = Jan1_2013.plusHours((long) rangeSlider.getHighValue());
                            sortedData.comparatorProperty().unbind();
                            sortedData.setComparator(null);
                            filteredData.setPredicate( task -> {
                                final ZonedDateTime dueDate = task.getDueDate() ;
                                return dueDate.isAfter(low) && dueDate.isBefore(high) ;                    
                            sortedData.comparatorProperty().bind(taskTable.comparatorProperty());
            rangeSlider.lowValueChangingProperty().addListener(rangeChangingListener);
            rangeSlider.highValueChangingProperty().addListener(rangeChangingListener);
            BorderPane root = new BorderPane();
            root.setCenter(taskTable);
            VBox range = new VBox(5);
            AnchorPane labels = new AnchorPane();
            AnchorPane.setLeftAnchor(lowLabel, 5.0);
            AnchorPane.setRightAnchor(highLabel, 5.0);
            labels.getChildren().addAll(lowLabel, highLabel);
            range.getChildren().addAll(rangeSlider, labels);
            root.setBottom(range);
            primaryStage.setScene(new Scene(root, 600, 400));
            primaryStage.show();
        private ObservableList<UserTask> createTableData() {
            final int NUM_ITEMS = 20_000 ;
            final Random RNG = new Random();
            final List<UserTask> data = new ArrayList<>();
            for (int i=1; i<= NUM_ITEMS; i++) {
                ZonedDateTime dueDate = Jan1_2013.plusHours(RNG.nextInt(HOURS_PER_YEAR));
                data.add(new UserTask("Task "+i, "James", dueDate));
            return FXCollections.observableArrayList(data);
        private <T> TableColumn<UserTask, T> createTableColumn(String name, Class<T> type) {
            String propertyName = convertToPropertyName(name);
            TableColumn<UserTask, T> col = new TableColumn<UserTask, T>(name);
            col.setCellValueFactory(new PropertyValueFactory<UserTask, T>(propertyName));
            return col ;
        private String convertToPropertyName(String name) {
            boolean first = true ;
            StringBuilder stringBuilder = new StringBuilder();
            for (String word : name.split("\\s")) {
                if (first) {
                    stringBuilder.append(word.toLowerCase());
                    first = false ;
                } else {
                    if (word.length() > 0) {
                        stringBuilder.append(Character.toUpperCase(word.charAt(0)));
                        if (word.length() > 1) {
                            stringBuilder.append(word.substring(1));
            return stringBuilder.toString();
        public static void main(String[] args) { launch(args); }
        public final static class UserTask {
            private final StringProperty assignee ;
            private final ObjectProperty<ZonedDateTime> dueDate ;
            private final ReadOnlyStringWrapper name ;
            public UserTask(String name, String assignee, ZonedDateTime dueDate) {
                this.assignee = new SimpleStringProperty(this, "assignee", assignee);
                this.dueDate = new SimpleObjectProperty<>(this, "dueDate", dueDate);
                this.name = new ReadOnlyStringWrapper(this, "name", name);
            public String getName() { return name.get(); }
            public ReadOnlyStringProperty nameProperty() { return name.getReadOnlyProperty(); }
            public String getAssignee() { return assignee.get(); }
            public void setAssignee(String assignee) { this.assignee.set(assignee); }
            public StringProperty assigneeProperty() { return assignee ; }
            public ZonedDateTime getDueDate() { return dueDate.get() ; }
            public void setDueDate(ZonedDateTime dueDate) { this.dueDate.set(dueDate); }
            public ObjectProperty<ZonedDateTime> dueDateProperty() { return dueDate ; }

  • Issue with Cost Settlement through CJ88

    Dear All,
    I have maintained "Total Values check" in budget profile under time frame and "overall check" under availability control.
    When i am creating service orders then availability control is working properly. But when i am trying to do settlement using cj88 then system is not allowing me to do settlement. It is giving message that budget is exceeded.Even though i have sufficient budget.
    Can someone tell me why Availability control is behaving differently?How can i settle costs?I need to settle costs of the project against asset account and all WBS costs should get settled against parent WBS. I had maintained settlement rule for the same.
    Regards,
    Kamal

    Gentlemen,
    The solution is temporary as activating/de-activating availability control each time is not viable at the time of settlement run....check the following;
    1. If the settlement cost element is a secondary cost element and flasgged as 21 (Internal Settlement).
    2. Check the accounting documents after the settlement transaction is posted and look for the sender & reciever cost element.
    3. Else request you to kindly explain your chart of account structure only to find out if the settlement reciever cost element is part of COGS (Cost of Goods Sold) cost element group.
    4. If the date of creating service entry sheet is beyond the fiscal year as you have suggested that you have activiated both the indicators (Overall & Annual Values) i.e. if date of creation of service order and date of confirmation of service entry sheet.
    Hope this is useful
    Regards
    Kaashif M

  • Issue with setting a default value to a Tabular Form field

    Hi -
    I'm running into an issue setting the default value of a tabular form column. I'm trying to set the default value to the row number (#rownum#). This used to work in previous versions, but now it's returning 0. Is there a was to set this value in the default value attribute of the field with a substitution string?
    Thank you in advance for help!

    Share with us what worked in previous versions.
    Jeff

Maybe you are looking for

  • Disk Warrior 3.0.3 on OSX 10.6.8?

    I'm having major problems with my iMac (2.4 Ghz Intel Core 2 Duo/2 GB 66 MHz DDR2 SDRAM/running OSX version 10.6.8). Very, very slow to login, hangs up during normal use, slows to a crawl, etc. I did some searching on this forum and have tried some s

  • How can we sum three members in pov and generate report

    Hi Everyone I am trying to generate report in Hyperion Financial reporting studio 9.3 . I have to pov with one dimension name BAH and we have five members under it. I have to sum four members and generate report and one report with one dimension . sh

  • What is the best way to install standby database?

    Hello. I'm trying to develop a good scenario for implementing standby database. I've already installed and configured standby. It's working. Is there any best practice for installing database instance for standby (i.e. using SWPM)?

  • Urgent :Getting error "No ALE scenario active in Profit Center Accounting"

    Hi Experts I am working on a LSWM project ,which uses BAPI BAPI_PROFITCENTER_CREATE for upload of data,but I am facing a strange problem during the IDOC posting the error "No ALE scenario active in Profit Center Accounting" is shown and the status of

  • Working with images – Resizing, Add arrow & text boxes etc

    I am using RH HTML for updating our Web application Help from RoboHelp V3 to V6. It involves lot of images. I found the picture quality good only using Word in the combination of RoboScreenCapture. I need to confirm that the method and steps for capt