Charts with large datasets?

I'm writing an application that requires graphing of multi-series sql statements over moderately large datasets. Think 45-90k data points or so.
I've noticed that with datasets larger than 5k or so, the flash charts eat a lot of cpu time when rendering and I haven't gotten flash charts to display 15k data points appropriately. I get a message about flash having a long running script.
Does anybody have suggestions for how to display 50,000+ data point charts in apex? Is there a recommended tool to integrate with apex that would create the chart server-side as a graphic and then push the graphic to the client? Also, if possible I would like to call this tool directly from DB jobs to push graphs out to people via email on a recurring basis.
Any suggestions would be very much appreciated.
Thanks,
Matt

Thanks Mike.
I originally worked exclusively in Mac. It was the only game in town at one time. I have been working on higher end Windows-based workstations for the past 10 years or so (I also do some video production). Apple products are 'kool,' just not cost-effective. I am currently running Win7 on a dual-quad core with 8GB Ram and 3+TB high-speed storage.
I used DeltaGraph for several years but their PostScript was version 1.0. I had a lot of problems with the files, such as not ungrouping grouped objects, font problems and difficulties applying newer effects -- even after re-saving to current version AI. At version 5, I querried Red Rock regarding upgrade of PS support but they said it was not in their plans. I also found that setting up some plots was terrifically complicated in DG. It was quicker to set up simple geometry in layered plots in Illustrator. I have not looked at DG 6 but will check on their PS status.
I have not looked at importing Excel via PDF. I often do test plots from the source worksheets for reference in Excel but have never considered the results to be workable or usable in a published format. I will take another look at Excel per your suggestion.
It sure would be great if AI charting were a bit more robust and reliable.

Similar Messages

  • Is anyone working with large datasets ( 200M) in LabVIEW?

    I am working with external Bioinformatics databasesa and find the datasets to be quite large (2 files easily come out at 50M or more). Is anyone working with large datasets like these? What is your experience with performance?

    Colby, it all depends on how much memory you have in your system. You could be okay doing all that with 1GB of memory, but you still have to take care to not make copies of your data in your program. That said, I would not be surprised if your code could be written so that it would work on a machine with much less ram by using efficient algorithms. I am not a statistician, but I know that the averages & standard deviations can be calculated using a few bytes (even on arbitrary length data sets). Can't the ANOVA be performed using the standard deviations and means (and other information like the degrees of freedom, etc.)? Potentially, you could calculate all the various bits that are necessary and do the F-test with that information, and not need to ever have the entire data set in memory at one time. The tricky part for your application may be getting the desired data at the necessary times from all those different sources. I am usually working with files on disk where I grab x samples at a time, perform the statistics, dump the samples and get the next set, repeat as necessary. I can calculate the average of an arbitrary length data set easily by only loading one sample at a time from disk (it's still more efficient to work in small batches because the disk I/O overhead builds up).
    Let me use the calculation of the mean as an example (hopefully the notation makes sense): see the jpg. What this means in plain english is that the mean can be calculated solely as a function of the current data point, the previous mean, and the sample number. For instance, given the data set [1 2 3 4 5], sum it, and divide by 5, you get 3. Or take it a point at a time: the average of [1]=1, [2+1*1]/2=1.5, [3+1.5*2]/3=2, [4+2*3]/4=2.5, [5+2.5*4]/5=3. This second method required far more multiplications and divisions, but it only ever required remembering the previous mean and the sample number, in addition to the new data point. Using this technique, I can find the average of gigs of data without ever needing more than three doubles and an int32 in memory. A similar derivation can be done for the variance, but it's easier to look it up (I can provide it if you have trouble finding it). Also, I think this funtionality is built into the LabVIEW pt by pt statistics functions.
    I think you can probably get the data you need from those db's through some carefully crafted queries, but it's hard to say more without knowing a lot more about your application.
    Hope this helps!
    Chris
    Attachments:
    Mean Derivation.JPG ‏20 KB

  • Using DataSet with large datasets

    I have a product, like a shirt, that comes in 800 colors.
    I've created an xml file with all the color id's, names and RGB
    codes (5 attributes in all) and this xml file is 5,603 lines long.
    It takes a noticeably long time to load. I'm using the auto-suggest
    widget to then show subsets of this list based on ID or color name.
    Is there an example of a way to connect to a php-driven
    datasource, so I can query a database and return the matches to the
    auto-suggest widget?
    Thanks, Scott

    In my Googling I came across this Cold Fusion example:
    http://www.brucephillips.name/blog/index.cfm/2007/3/31/Use-Sprys-New-Auto-Suggest-Widget-T o-Handle-Large-Numbers-of-Suggestions

  • Pivot - Performance Issue with large dataset

    Hello,
    Database version : Oracle 10.2.0.4 - Linux
    I'm using a function to return a pivot query depending on an input "RUN_ID" value
    For example, i consider two differents "RUN_ID" (e.g. 119 and 120) with exactly the same dataset
    I have a performance issue when i run the result query with the "RUN_ID"=120.
    Pivot:
    SELECT   MAX (a.plate_index), MAX (a.plate_name), MAX (a.int_well_id),
             MAX (a.row_index_alpha), MAX (a.column_index), MAX (a.is_valid),
             MAX (a.well_type_id), MAX (a.read_index), MAX (a.run_id),
             MAX (DECODE (a.value_type || a.value_index,
                          'CALC190', a.this_value,
                          NULL
             MAX (DECODE (a.value_type || a.value_index,
                          'CALC304050301', a.this_value,
                          NULL
             MAX (DECODE (a.value_type || a.value_index,
                          'CALC306050301', a.this_value,
                          NULL
             MAX (DECODE (a.value_type || a.value_index,
                          'CALC30050301', a.this_value,
                          NULL
             MAX (DECODE (a.value_type || a.value_index,
                          'CALC3011050301', a.this_value,
                          NULL
             MAX (DECODE (a.value_type || a.value_index,
                          'CALC104050301', a.this_value,
                          NULL
             MAX (DECODE (a.value_type || a.value_index,
                          'CALC106050301', a.this_value,
                          NULL
             MAX (DECODE (a.value_type || a.value_index,
                          'CALC10050301', a.this_value,
                          NULL
             MAX (DECODE (a.value_type || a.value_index,
                          'CALC1011050301', a.this_value,
                          NULL
             MAX (DECODE (a.value_type || a.value_index,
                          'CALC204050301', a.this_value,
                          NULL
             MAX (DECODE (a.value_type || a.value_index,
                          'CALC206050301', a.this_value,
                          NULL
             MAX (DECODE (a.value_type || a.value_index,
                          'CALC20050301', a.this_value,
                          NULL
             MAX (DECODE (a.value_type || a.value_index,
                          'CALC2011050301', a.this_value,
                          NULL
             MAX (DECODE (a.value_type || a.value_index,
                          'CALC80050301', a.this_value,
                          NULL
             MAX (DECODE (a.value_type || a.value_index,
                          'CALC70050301', a.this_value,
                          NULL
             MAX (DECODE (a.value_type || a.value_index,
                          'RAW0', a.this_value,
                          NULL
             MAX (DECODE (a.value_type || a.value_index,
                          'RAW5030', a.this_value,
                          NULL
             MAX (a.dose), MAX (a.unit), MAX (a.int_plate_id), MAX (a.run_name)
        FROM vw_well_data a
       WHERE a.run_id = :app_run_id
    GROUP BY a.int_well_id, a.read_index
    Run the query :
    SELECT Sql_FullText,(cpu_time/100000) "Cpu Time (s)",
                    (elapsed_time/1000000) "Elapsed time (s)",
                    fetches,buffer_gets,disk_reads,executions
    FROM v$sqlarea
    WHERE Parsing_Schema_Name ='SCHEMA';
    With results :
    SQL_FULLTEXT     Cpu Time (s)     Elapsed time (s)     FETCHES     BUFFER_GETS     DISK_READS     EXECUTIONS
    query1 (RUN_ID=119)      22.15857     3.589822     1     2216     354     1
    query2 (RUN_ID=120)      1885.16959     321.974332     3     7685410     368     3
    Explain Plan for RUNID 119_
    PLAN_TABLE_OUTPUT
    Plan hash value: 3979963427
    | Id  | Operation                          | Name                 | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT                   |                      |   261 | 98397 |   434   (2)| 00:00:06 |
    |   1 |  HASH GROUP BY                     |                      |   261 | 98397 |   434   (2)| 00:00:06 |
    |   2 |   VIEW                             | VW_WELL_DATA         |   261 | 98397 |   433   (2)| 00:00:06 |
    |   3 |    UNION-ALL                       |                      |       |       |            |          |
    |*  4 |     HASH JOIN                      |                      |   252 | 21168 |   312   (2)| 00:00:04 |
    |   5 |      NESTED LOOPS                  |                      |   249 | 15687 |   112   (2)| 00:00:02 |
    |*  6 |       HASH JOIN                    |                      |   249 | 14442 |   112   (2)| 00:00:02 |
    |   7 |        TABLE ACCESS BY INDEX ROWID | PLATE                |    29 |   464 |     2   (0)| 00:00:01 |
    |*  8 |         INDEX RANGE SCAN           | IDX_PLATE_RUN_ID     |    29 |       |     1   (0)| 00:00:01 |
    |   9 |        NESTED LOOPS                |                      | 13286 |   544K|   109   (1)| 00:00:02 |
    |  10 |         TABLE ACCESS BY INDEX ROWID| RUN                  |     1 |    11 |     1   (0)| 00:00:01 |
    |* 11 |          INDEX UNIQUE SCAN         | PK_RUN               |     1 |       |     0   (0)| 00:00:01 |
    |  12 |         TABLE ACCESS BY INDEX ROWID| WELL                 | 13286 |   402K|   108   (1)| 00:00:02 |
    |* 13 |          INDEX RANGE SCAN          | IDX_WELL_RUN_ID      | 13286 |       |    46   (0)| 00:00:01 |
    |* 14 |       INDEX UNIQUE SCAN            | PK_WELL_TYPE         |     1 |     5 |     0   (0)| 00:00:01 |
    |  15 |      TABLE ACCESS BY INDEX ROWID   | WELL_RAW_DATA        | 26361 |   540K|   199   (2)| 00:00:03 |
    |* 16 |       INDEX RANGE SCAN             | IDX_WELL_RAW_RUN_ID  | 26361 |       |    92   (2)| 00:00:02 |
    |  17 |     NESTED LOOPS                   |                      |     9 |   891 |   121   (2)| 00:00:02 |
    |* 18 |      HASH JOIN                     |                      |     9 |   846 |   121   (2)| 00:00:02 |
    |* 19 |       HASH JOIN                    |                      |   249 | 14442 |   112   (2)| 00:00:02 |
    |  20 |        TABLE ACCESS BY INDEX ROWID | PLATE                |    29 |   464 |     2   (0)| 00:00:01 |
    |* 21 |         INDEX RANGE SCAN           | IDX_PLATE_RUN_ID     |    29 |       |     1   (0)| 00:00:01 |
    |  22 |        NESTED LOOPS                |                      | 13286 |   544K|   109   (1)| 00:00:02 |
    |  23 |         TABLE ACCESS BY INDEX ROWID| RUN                  |     1 |    11 |     1   (0)| 00:00:01 |
    |* 24 |          INDEX UNIQUE SCAN         | PK_RUN               |     1 |       |     0   (0)| 00:00:01 |
    |  25 |         TABLE ACCESS BY INDEX ROWID| WELL                 | 13286 |   402K|   108   (1)| 00:00:02 |
    |* 26 |          INDEX RANGE SCAN          | IDX_WELL_RUN_ID      | 13286 |       |    46   (0)| 00:00:01 |
    |  27 |       TABLE ACCESS BY INDEX ROWID  | WELL_CALC_DATA       |   490 | 17640 |     9   (0)| 00:00:01 |
    |* 28 |        INDEX RANGE SCAN            | IDX_WELL_CALC_RUN_ID |   490 |       |     4   (0)| 00:00:01 |
    |* 29 |      INDEX UNIQUE SCAN             | PK_WELL_TYPE         |     1 |     5 |     0   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       4 - access("WELL_RAW_DATA"."RUN_ID"="WELL"."RUN_ID" AND
                  "WELL"."INT_WELL_ID"="WELL_RAW_DATA"."INT_WELL_ID")
       6 - access("PLATE"."RUN_ID"="WELL"."RUN_ID" AND "PLATE"."INT_PLATE_ID"="WELL"."INT_PLATE_ID")
       8 - access("PLATE"."RUN_ID"=119)
      11 - access("RUN"."RUN_ID"=119)
      13 - access("WELL"."RUN_ID"=119)
      14 - access("WELL"."WELL_TYPE_ID"="TSF_LAYOUT_WELL_TYPE"."WELL_TYPE_ID")
      16 - access("WELL_RAW_DATA"."RUN_ID"=119)
      18 - access("WELL"."RUN_ID"="WELL_CALC_DATA"."RUN_ID" AND
                  "WELL"."INT_WELL_ID"="WELL_CALC_DATA"."INT_WELL_ID")
      19 - access("PLATE"."RUN_ID"="WELL"."RUN_ID" AND "PLATE"."INT_PLATE_ID"="WELL"."INT_PLATE_ID")
      21 - access("PLATE"."RUN_ID"=119)
      24 - access("RUN"."RUN_ID"=119)
      26 - access("WELL"."RUN_ID"=119)
      28 - access("WELL_CALC_DATA"."RUN_ID"=119)
      29 - access("WELL"."WELL_TYPE_ID"="TSF_LAYOUT_WELL_TYPE"."WELL_TYPE_ID")
    Explain Plan for RUNID 120_
    PLAN_TABLE_OUTPUT
    Plan hash value: 599334230
    | Id  | Operation                           | Name                      | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT                    |                           |     2 |   754 |    24   (5)| 00:00:01 |
    |   1 |  HASH GROUP BY                      |                           |     2 |   754 |    24   (5)| 00:00:01 |
    |   2 |   VIEW                              | VW_WELL_DATA              |     2 |   754 |    23   (0)| 00:00:01 |
    |   3 |    UNION-ALL                        |                           |       |       |            |          |
    |*  4 |     TABLE ACCESS BY INDEX ROWID     | WELL_RAW_DATA             |     1 |    21 |     3   (0)| 00:00:01 |
    |   5 |      NESTED LOOPS                   |                           |     1 |    84 |     9   (0)| 00:00:01 |
    |   6 |       NESTED LOOPS                  |                           |     1 |    63 |     6   (0)| 00:00:01 |
    |   7 |        NESTED LOOPS                 |                           |     1 |    58 |     6   (0)| 00:00:01 |
    |   8 |         NESTED LOOPS                |                           |     1 |    27 |     3   (0)| 00:00:01 |
    |   9 |          TABLE ACCESS BY INDEX ROWID| RUN                       |     1 |    11 |     1   (0)| 00:00:01 |
    |* 10 |           INDEX UNIQUE SCAN         | PK_RUN                    |     1 |       |     0   (0)| 00:00:01 |
    |  11 |          TABLE ACCESS BY INDEX ROWID| PLATE                     |     1 |    16 |     2   (0)| 00:00:01 |
    |* 12 |           INDEX RANGE SCAN          | IDX_PLATE_RUN_ID          |     1 |       |     1   (0)| 00:00:01 |
    |* 13 |         TABLE ACCESS BY INDEX ROWID | WELL                      |     1 |    31 |     3   (0)| 00:00:01 |
    |* 14 |          INDEX RANGE SCAN           | IDX_WELL_RUN_ID           |    59 |       |     2   (0)| 00:00:01 |
    |* 15 |        INDEX UNIQUE SCAN            | PK_WELL_TYPE              |     1 |     5 |     0   (0)| 00:00:01 |
    |* 16 |       INDEX RANGE SCAN              | IDX_WELL_RAW_DATA_WELL_ID |     2 |       |     2   (0)| 00:00:01 |
    |* 17 |     TABLE ACCESS BY INDEX ROWID     | WELL_CALC_DATA            |     1 |    36 |     8   (0)| 00:00:01 |
    |  18 |      NESTED LOOPS                   |                           |     1 |    99 |    14   (0)| 00:00:01 |
    |  19 |       NESTED LOOPS                  |                           |     1 |    63 |     6   (0)| 00:00:01 |
    |  20 |        NESTED LOOPS                 |                           |     1 |    58 |     6   (0)| 00:00:01 |
    |  21 |         NESTED LOOPS                |                           |     1 |    27 |     3   (0)| 00:00:01 |
    |  22 |          TABLE ACCESS BY INDEX ROWID| RUN                       |     1 |    11 |     1   (0)| 00:00:01 |
    |* 23 |           INDEX UNIQUE SCAN         | PK_RUN                    |     1 |       |     0   (0)| 00:00:01 |
    |  24 |          TABLE ACCESS BY INDEX ROWID| PLATE                     |     1 |    16 |     2   (0)| 00:00:01 |
    |* 25 |           INDEX RANGE SCAN          | IDX_PLATE_RUN_ID          |     1 |       |     1   (0)| 00:00:01 |
    |* 26 |         TABLE ACCESS BY INDEX ROWID | WELL                      |     1 |    31 |     3   (0)| 00:00:01 |
    |* 27 |          INDEX RANGE SCAN           | IDX_WELL_RUN_ID           |    59 |       |     2   (0)| 00:00:01 |
    |* 28 |        INDEX UNIQUE SCAN            | PK_WELL_TYPE              |     1 |     5 |     0   (0)| 00:00:01 |
    |* 29 |       INDEX RANGE SCAN              | IDX_WELL_CALC_RUN_ID      |   486 |       |     3   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       4 - filter("WELL_RAW_DATA"."RUN_ID"=120)
      10 - access("RUN"."RUN_ID"=120)
      12 - access("PLATE"."RUN_ID"=120)
      13 - filter("PLATE"."INT_PLATE_ID"="WELL"."INT_PLATE_ID")
      14 - access("WELL"."RUN_ID"=120)
      15 - access("WELL"."WELL_TYPE_ID"="TSF_LAYOUT_WELL_TYPE"."WELL_TYPE_ID")
      16 - access("WELL"."INT_WELL_ID"="WELL_RAW_DATA"."INT_WELL_ID")
      17 - filter("WELL"."INT_WELL_ID"="WELL_CALC_DATA"."INT_WELL_ID")
      23 - access("RUN"."RUN_ID"=120)
      25 - access("PLATE"."RUN_ID"=120)
      26 - filter("PLATE"."INT_PLATE_ID"="WELL"."INT_PLATE_ID")
      27 - access("WELL"."RUN_ID"=120)
      28 - access("WELL"."WELL_TYPE_ID"="TSF_LAYOUT_WELL_TYPE"."WELL_TYPE_ID")
      29 - access("WELL_CALC_DATA"."RUN_ID"=120)I need some advice to understand the issue and to improve the performance.
    Thanks,
    Grégory

    Hello,
    Thanks for your response.
    Stats are computed recently with DBMS_STATS package (case 2) and we have histogramm on 'RUN_ID' columns.
    I tried to use the deprecated "analyze" method (case 1) and obtained better results!
    DECLARE
       -- Get tables used in the view vw_well_data --
       CURSOR c1
       IS
          SELECT table_name, last_analyzed
            FROM user_tables
           WHERE table_name LIKE 'WELL%';
    BEGIN
       FOR r1 IN c1
       LOOP
          -- Case 1 : Analyze method : Perf is good --
          EXECUTE IMMEDIATE    'analyze table '
                              || r1.table_name
                              || ' compute statistics ';
          -- Case 2 : DBMS_STATS --
          DBMS_STATS.gather_table_stats ('SCHEMA', r1.table_name);
       END LOOP;
    END;The explain plans are the same as before
    Any explanations, suggestions ?
    Thanks,
    Gregory

  • WinRT bug report - ListView with large dataset being clipped

    I think I've found a bug in the Windows store (WinRT 8.1) version of the ListView (I've not tried on windows phone).
    When I create a page with a ListView and bind it to an ItemsSource with many items I find that as I start to scroll through these items the rendered ListViewItems will suddenly disappear as if they are hidden behind another control.
    I have created a simple example to demonstrate the issue.  Create a blank Universal app and replace the contents of the MainPage.xaml and MainPage.xaml.cs of the Win8 app with the code below.  Build and run the code and use the mouse to drag the
    scrollbar handle down to item 41351 and you will see that all items after that are not displayed.
    This looks like a bug to me but what does everyone else think?
    Does anyone know of a work-around?
    MainPage.xaml
    <Page
    x:Class="WinRTListViewClipping.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:WinRTListViewClipping"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    x:Name="Root">
    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
    <ListView ItemsSource="{Binding Items}"/>
    </Grid>
    </Page>
    MainPage.xaml.cs
    using System;
    using System.Collections.Generic;
    using System.IO;
    using System.Linq;
    using System.Runtime.InteropServices.WindowsRuntime;
    using Windows.Foundation;
    using Windows.Foundation.Collections;
    using Windows.UI.Xaml;
    using Windows.UI.Xaml.Controls;
    using Windows.UI.Xaml.Controls.Primitives;
    using Windows.UI.Xaml.Data;
    using Windows.UI.Xaml.Input;
    using Windows.UI.Xaml.Media;
    using Windows.UI.Xaml.Navigation;
    // The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238
    namespace WinRTListViewClipping
    /// <summary>
    /// An empty page that can be used on its own or navigated to within a Frame.
    /// </summary>
    public sealed partial class MainPage : Page
    public static readonly DependencyProperty ItemsProperty =
    DependencyProperty.Register(
    "Items",
    typeof(List<string>),
    typeof(MainPage),
    new PropertyMetadata(new List<string>()));
    public List<string> Items
    get { return (List<string>)GetValue(ItemsProperty); }
    set { SetValue(ItemsProperty, value); }
    public MainPage()
    DataContext = this;
    for (int idx = 0; idx < 100000; idx++)
    Items.Add("Item: " + idx.ToString());
    this.InitializeComponent();

    I've noticed an annoying feature of the WinRT ListView and I've created a simple example to demonstrate the problem.
    With the ListView I'm experiencing unwanted clipping where a lot of items are displayed.  In the following example the ListView works fine on the first 41350 items but after that you cannot see them.  They still seem to be there because you can
    move the focus using the cursor keys, but you just cannot see them.
    Does anyone know why this happens and if there's a work around or fix for it?
    Windows Store Example - XAML
    <Page
    x:Class="WinRTListViewClipping.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:WinRTListViewClipping"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    x:Name="Root">
    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
    <ListView ItemsSource="{Binding Items}"/>
    </Grid>
    </Page>
    Windows Store Example - Code Behind
    using System;
    using System.Collections.Generic;
    using System.IO;
    using System.Linq;
    using System.Runtime.InteropServices.WindowsRuntime;
    using Windows.Foundation;
    using Windows.Foundation.Collections;
    using Windows.UI.Xaml;
    using Windows.UI.Xaml.Controls;
    using Windows.UI.Xaml.Controls.Primitives;
    using Windows.UI.Xaml.Data;
    using Windows.UI.Xaml.Input;
    using Windows.UI.Xaml.Media;
    using Windows.UI.Xaml.Navigation;
    // The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238
    namespace WinRTListViewClipping
    /// <summary>
    /// An empty page that can be used on its own or navigated to within a Frame.
    /// </summary>
    public sealed partial class MainPage : Page
    public static readonly DependencyProperty ItemsProperty =
    DependencyProperty.Register(
    "Items",
    typeof(List<string>),
    typeof(MainPage),
    new PropertyMetadata(new List<string>()));
    public List<string> Items
    get { return (List<string>)GetValue(ItemsProperty); }
    set { SetValue(ItemsProperty, value); }
    public MainPage()
    DataContext = this;
    for (int idx = 0; idx < 100000; idx++)
    Items.Add("Item: " + idx.ToString());
    this.InitializeComponent();

  • To update large dataset in columnar database (Sybase IQ)

    Hi,
    I want to update a column with random values in Sybase IQ.The no of rows are very large(approx 2 crore).
    I have created a procedure using cursor.
    it is working fine with low dataset but having performance issue with large dataset.
    Is there a workaround for this issue.
    regards,
    Neha Khetan

    Hi Eugene,
    Is it possible to implement this in BDB JE somehowYes, you can create a new separate database for storing the sets of integers. Each record in this database would be one partition (e.g., 1001-2000) for one record in the "main" database.
    The key to this database would be a two part key:
    - the key to the "main" database, followed by
    - the beginning partition value (e.g., 1001)
    For example:
    Main Database:
      Key     Data
       X      string/integer parameters for X
       Y      string/integer parameters for Y
    Integer Partition Database:
      Key     Data
      X,1     Set of integers in range 1-1000 for X
      X,1001  Set of integers in range 1001-2000 for X
      Y,1     Set of integers in range 1-1000 for Y
      Y,1001  Set of integers in range 1001-2000 for Y
       ...Two part keys are easy to implement with a tuple binding. You simply read/write the two fields for the record key, one after another, in the same way that you read/write multiple fields in the record data.
    Mark

  • Working with and manipulating large datasets

    What experience has everyone had working with and
    manipulating large datasets in coldfusion? I imagine this is more
    an sql server question in my specific case but I would be very
    interested if someone could enlighten me on what I need to look out
    for any potential pitfalls and best practises working with
    coldfusion and what I should learn. Thanks in advance for any
    pointers

    I guess it depends on the purpose of the application in
    question. We are running a scientific data mining application in
    ColdFusion for the last 5-6 years without any major glitches that
    will force us to rethink about ColdFusion. The dataset in this
    application are quite large with 30-40 different tables and some of
    tables have more than 100 million records.
    However our queries are usually highly optimized with
    intelligent use of index and hints (we use Oracle).

  • Pages chart problem with large cells

    I have some documents on Pages that include charts with lots of text.  If the text in a cell is longer than will fit on the page, it becomes hidden because the next page starts at the top of the next cell.  Making the font smaller isn't enough.  The document has been converted from a word document, although I would hope that wouldn't make a difference.

    Oops I meant table not chart.  It's the text in a table cell that is too long for the cell on one page, and disappears behind the bottom of the cell.  It's like the cell is a window on the text, and I can't see what is below the window ledge. 

  • Need help in creating a chart from 3 datasets

    Need help in creating a chart in SSRS from 3 datasets
    Can someone help me in creating a chart from 3 datasets, however datasource is same.

    Thank you Olaf...
    could anyone help me in using union all with the below
     WITH a AS (
    SELECT
    clientid,
    DATEPART(year, row_date) AS 'Year',
    DATEPART(month, row_date) AS 'Month',
        value ,
        CASE metricid WHEN 16 THEN 'FCR' ELSE 'Cases' END AS metric
    FROM XXXXXX AS V
    WHERE metricid IN (16, 11)
    AND row_date BETWEEN '2012-01-01' AND '2014-10-01'
    AND value IS NOT NULL)
    , b AS (
    SELECT     clientid ,
        Year ,
        Month ,
        value AS 'Cases',
        metric 
    FROM a
    WHERE metric = 'cases')
    , c AS (
    SELECT     clientid ,
        Year ,
        Month ,
        value AS 'FCR',
        metric  
    FROM a
    WHERE metric = 'FCR')
    , d AS (
    SELECT b.YEAR, b.MONTH, c.FCR, b.Cases 
    FROM b INNER JOIN c 
    ON c.clientid = b.clientid
    AND c.[YEAR] = b.[year] 
    AND c.[month] = b.[month]
    WHERE c.fcr <> 0 AND b.cases <> 0
    ,E AS (
    SELECT [Year], [Month], SUM(FCR) AS FCR, SUM(Cases) AS Cases
    FROM d
    GROUP BY [Year], [Month])
    select YEAR, MONTH, 
    CASE MONTH 
    WHEN 1 THEN 'Jan'
    WHEN 2 THEN 'Feb'
    WHEN 3 THEN 'Mar'
    WHEN 4 THEN 'Apr'
    WHEN 5 THEN 'May'
    WHEN 6 THEN 'Jun'
    WHEN 7 THEN 'Jul'
    WHEN 8 THEN 'Aug'
    WHEN 9 THEN 'Sep'
    WHEN 10 THEN 'Oct'
    WHEN 11 THEN 'Nov'
    WHEN 12 THEN 'Dec'
    END AS MonthName
    ,e.FCR AS FCRCases
    ,e.Cases AS TotalCases
    ,CASE 
    WHEN [month] IN (11, 12, 1) THEN 1
    WHEN [month] IN (2, 3, 4) THEN 2
    WHEN [month] IN (5, 6, 7) THEN 3
    WHEN [month] IN (8, 9, 10) THEN 4
    END AS 'Quarter'
    --,CONVERT(DECIMAL(18, 2),(e.FCR/e.Cases)*100) AS FCRRaw
    from e
    order by YEAR, MONTH
    **************2nd query*************
    WITH a AS (
    SELECT
    clientid,
    DATEPART(year, row_date) AS 'Year',
    DATEPART(month, row_date) AS 'Month',
        value, 
        CASE metricid WHEN 56 THEN 'numerator' ELSE 'denominator' END AS metric
    FROM XXXXXXX.[Values] AS V
    WHERE metricid IN (56, 10)
    --WHERE metricid IN (11,16)
    AND row_date BETWEEN '2013-10-01' AND '2014-02-01'
    AND value IS NOT NULL)
    , b AS (
    SELECT     clientid ,
        Year ,
        Month ,
        value AS 'numerator',
        metric
    FROM a
    WHERE metric = 'numerator')
    , c AS (
    SELECT     clientid ,
        Year ,
        Month ,
        value AS 'denominator',
        metric
    FROM a
    WHERE metric = 'denominator')
    , d AS (
    SELECT b.YEAR, b.MONTH, c.denominator, b.numerator 
    FROM b INNER JOIN c 
    ON c.clientid = b.clientid
    AND c.[YEAR] = b.[year] 
    AND c.[month] = b.[month]
    WHERE c.denominator <> 0 AND b.numerator <> 0
    , e AS (
    SELECT [Year], [Month], SUM(numerator) AS numerator, SUM(denominator) AS denominator
    FROM d
    GROUP BY [Year], [Month]
    SELECT *, 
    CASE 
    WHEN [month] IN (11, 12, 1) THEN 1
    WHEN [month] IN (2, 3, 4) THEN 2
    WHEN [month] IN (5, 6, 7) THEN 3
    WHEN [month] IN (8, 9, 10) THEN 4
    END AS 'Quarter'
    FROM e
    ORDER BY 1,2
    ******************3rd query**************
    WITH a AS (
    SELECT --L.[LocationGroupId],
    -- T.locationid,
    -- T.AccountId,
    TR.datestamp,
    /*Convert(NVARCHAR, DatePArt(year, TR.datestamp)) + '-' + Convert(NVARCHAR, DatePArt(month, TR.datestamp)) + '-01'*/ 
    TR.Period AS ValueDate,
    CASE WHEN TR.TargetResultState = 0 THEN 0 WHEN TR.TargetResultState = 1 THEN 1 WHEN TR.TargetResultState = 2 THEN 1 ELSE 0 END AS Met,
    CASE WHEN CONVERT(DATE, Convert(NVARCHAR, DatePArt(year, TR.datestamp)) + '-' + Convert(NVARCHAR, DatePArt(month, TR.datestamp)) + '-01') > T.Startdate AND CONVERT(DATE, Convert(NVARCHAR, DatePArt(year, TR.datestamp))
    + '-' + Convert(NVARCHAR, DatePArt(month, TR.datestamp)) + '-01') < T.Enddate THEN 1 ELSE 0 END AS ActiveTarget
    FROM XXXXXX AS TR
    INNER JOIN dbo.Target T ON TR.TargetID = T.ID
    --INNER JOIN dbo.Location L ON T.Locationid = L.Id
    WHERE --locationid <> - 1 AND 
    TR.Period IN ('201306', '201307', '201308', '201309', '201310', '201311', '201312', '201401'))
    select ValueDate, SUM(Met) AS Met, Count(ActiveTarget) AS ActiveTargets,
    right(ValueDate,2) as Month
    ,left(ValueDate,4) as Year
    ,CASE 
    WHEN right(ValueDate,2) IN (11, 12, 1) THEN 1
    WHEN right(ValueDate,2) IN (2, 3, 4) THEN 2
    WHEN right(ValueDate,2) IN (5, 6, 7) THEN 3
    WHEN right(ValueDate,2) IN (8, 9, 10) THEN 4
    END AS 'Quarter'
    from a
    group by ValueDate
    order by ValueDate

  • SSRS 2008: how to show an empty chart with legend and x and y axis when no data available

    Hi,
    I am using SSRS 2008, I generated one chart in report designer with the data from Analysis Services (Cube).
    According to the dataset, there is no data returned when I run the query. so when I preview the chart, there is nothing but "no data available" showing on the chart.
    Here I want to know is there any possible to show an empty chart with legend and x and y axis?
    If it is possible, can you tell me how can I make it?
    Best Regards.
    Connie Zhu

    Hi,
    When there is no data, the chart displays the message "no data available". But using a little work around, you can display an empty chart.
    Please find the below steps given to achieve this
    1. Create a new dataset using TSQL to return 1 row of data having the category field and value field set to 0. Add the fields that are necessary for the category fields, series fields and datafields.
       A simple example would be like
       SELECT 'abc' as Category, 0 as Amount
    2. Add a new chart, set the category field to 'Category' and set the data field to Amount from above dataset created in step 1.
    3. In the new chart, right click the category axis and select axis properties, Click on the labels tab, check on
    'Hide axis labels' and then click ok
    4. Now set the Visibility property of both the charts depending on the rows returned from your main dataset
       a. click on your main chart and set its Hidden property to :
    =iif(CountRows("MainDataSet"),false,true) 
       b. click on the new blank chart added and set its Hidden proprety to (the opposite) :
    =iif(CountRows("MainDataSet"),true,false) 
       Note : Please change the dataset name in above expression "MainDataset" to the name of your chart's dataset
    5. Resize the new chart to the same size as your main chart, then position the new chart on the place as the main chart.
       (Note : You can set the position of new chart to be same by copying the location property from the main chart) 
    6. Now run and observe the result. When there are no rows returned by your main dataset, the new chart (the blank chart) should be displayed.
    I've added a working sample of this kind of a report
    here.
    Hope this helps. Please feel free to discuss if you have any questions.
    Please click "Mark as Answer" if this resolves your problem or "Vote as Helpful" if you find it helpful.
    BH

  • Slimbox not working with Spry Dataset

    Hi there,
    I'm trying to populate a page with Spry Dataset and use Slimbox2 to show a set of 4 images when a thumbnail is clicked.
    The original webpage WITHOUT Spry Dataset is here:
    http://shadowmuseum.com/portfolio/p-web.html
    Currently it works with just slimbox, but as soon as I add a Spry Dataset, the large images won't load anymore. When a thumbnail is clicked on, it opens the 1st large image of the set in a new page, completely removing the lightbox effect.
    I've scouted the internet for solutions; it's been suggested that slimbox doesn't work because spry doesn't have time to load the content first. But I'm not savvy with javascript at all, so have no idea how to work around it....
    Any help would be greatly appreciated.
    Thanks a lot.
    P.S. Below is the HTML code for the page with both spry & slimbox:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"><!-- InstanceBegin template="/Templates/bone.dwt" codeOutsideHTMLIsLocked="false" -->
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><meta name="keywords" content="Shadow Museum, design, photography, london, web, web design, ana, ana lorraine lui, benjamin, backhouse, E1, E8, N16, graphic design, st martins, creative, agency, bespoke, multi-disciplinary" /><meta name="description" content="London based bespoke multi-disciplinary creative agency. Services include web design, photography, print design, and filmmaking." />
    <!-- InstanceBeginEditable name="doctitle" -->
    <title>Shadow Museum || London-based bespoke multi-disciplinary creative agency</title>
    <script type="text/javascript" src="../zzAssets/scripts/Lightbox/jquery-1.3.1.min.js"></script>
    <script type="text/javascript" src="../zzAssets/scripts/Lightbox/js/slimbox2.js"></script>
    <script src="../zzAssets/scripts/SpryAssets/xpath.js" type="text/javascript"></script>
    <script src="../zzAssets/scripts/SpryAssets/SpryData.js" type="text/javascript"></script>
    <link rel="stylesheet" href="../zzAssets/scripts/Lightbox/css/slimbox2.css" type="text/css" media="screen" />
    <!-- InstanceEndEditable -->
    <link href="../zzAssets/scripts/main.css" rel="stylesheet" type="text/css" />
    <script src="../zzAssets/scripts/SpryAssets/SpryMenuBar.js" type="text/javascript"></script>
    <link href="../zzAssets/scripts/SpryAssets/SpryMenuBarHorizontal.css" rel="stylesheet" type="text/css" />
    <script type="text/javascript" src="../zzAssets/scripts/clock/clockp.js"></script>
    <script type="text/javascript" src="../zzAssets/scripts/clock/clockh.js"></script>
    <!-- InstanceBeginEditable name="head" -->
    <script type="text/javascript">
    <!--
    var dsWeb = new Spry.Data.XMLDataSet("p-web.xml", "portfolio/project");
    dsWeb.setColumnType("info", "html");
    //-->
    </script>
    <!-- InstanceEndEditable --><!-- InstanceParam name="footer" type="boolean" value="true" --><!-- InstanceParam name="clock" type="boolean" value="true" -->
    </head>
    <body>
    <div id="clock_a"></div>
    <div id="menu">
      <ul id="mainMenu" class="MenuBarHorizontal">
        <li><a href="../index.html">Home</a>      </li>
        <li><a href="../news/news.html">News</a></li>
        <li><a class="MenuBarItemSubmenu" href="#">About</a>
            <ul>
              <li><a href="../about/our_story.html">Our Story</a></li>
              <li><a href="../about/our_values.html">Our Values</a></li>
            </ul>
        </li>
        <li><a href="#" class="MenuBarItemSubmenu">Services</a>
          <ul>
            <li><a href="../services/web_design.html">Web Design</a></li>
            <li><a href="../services/print_design.html">Print Design</a></li>
            <li><a href="../services/photography.html">Photography</a></li>
            <li><a href="../services/filmmaking.html">Filmmaking</a></li>
            </ul>
        </li>
        <li><a href="#" class="MenuBarItemSubmenu">Portfolio</a>
          <ul>
            <li><a href="p-web.html">Web Design</a></li>
            <li><a href="p-print.html">Print Design</a></li>
            <li><a href="p-photography.html">Photography</a></li>
            <li><a href="p-filmmaking.html">Filmmaking</a></li>
          </ul>
        </li>
        <li><a href="../contact/contact.html">Contact</a></li>
      </ul>
    </div>
    <!-- InstanceBeginEditable name="content area" -->
    <div id="content">
      <div id="p-web">
        <h2>Web  Portfolio</h2>
         <div class="SpryHiddenRegion" spry:region="dsWeb">
        <table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr spry:repeat="dsWeb">
            <td align="center" valign="top">
                   <a href="../zzAssets/images/p-web/{pic1}" rel="{label}" title="{title}"><img src="../zzAssets/images/p-web/{thm}" width="180" height="130" /></a>
                   <a href="../zzAssets/images/p-web/{pic2}" rel="{label}" title="{title}"></a>
                   <a href="../zzAssets/images/p-web/{pic3}" rel="{label}" title="{title}"></a>
                   <a href="../zzAssets/images/p-web/{pic4}" rel="{label}" title="{title}"></a>
              </td>
            <td align="left" valign="top">
                   <h3>{title}</h3>
                   {info}
                   <p><a href="http://{url}" target="_blank">{url-label}</a></p>
              </td>
          </tr>
        </table>
         </div>
        <p> </p>
      </div>
    </div>
    <!-- InstanceEndEditable -->
    <div id="footer">
      <div id="watermarkRight">
        <table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
          <tr>
            <td align="left" valign="top">©2009 Shadow Museum | Company Number 6576238
              | <a href="../terms.html" class="colourless">Terms &amp; Conditions</a></td>
            <td align="right" valign="top">contact us: <a href="mailto:[email protected]">[email protected]</a></td>
          </tr>
        </table>
      </div>
    </div>
    <script type="text/javascript">
    <!--
    var MenuBar1 = new Spry.Widget.MenuBar("mainMenu", {imgDown:"SpryAssets/SpryMenuBarDownHover.gif", imgRight:"SpryAssets/SpryMenuBarRightHover.gif"});
    //-->
    </script>
    </body>
    <!-- InstanceEnd --></html>

    You are not re-initializing the lightbox library code after Spry have generated the markup.
    You can use the Spry region observer onPostUpdate to get notified of region re-generation and recall the initialization code of the lightbox.

  • Chart with parameters in SSRS 2012

    Hello,
      I want to do a chart (line chart particularly, but I will take an answer for any chart as they all probably work similarly) with one parameter passed (hospitalid) and two values returned (BedDays and MonthYear).  MonthYear is how the horizontal
    line is divided, by each month, and the BedDays should be the number of patient stays in beds in that month.  Doesn't matter if it's sum of bed days or bed days, because a sum is made in the stored procedure, and MonthYear is unique.
      I have spend a few days on this problem, working a lot on it, and I keep running into errors, trying various methods.  I don't know where all my errors could be coming from, it could be in the aspx, it could be in the report design, or it could
    be in the code behind, so I am hoping someone can give me a step by step solution to this problem which should be simple, but apparently is not because there is no worthwhile help that I can find on the internet.  It should work for SSRS 2012, I do not
    have a choice of using an earlier version for this project.  Please include everything I need to do in the report GUI, in the aspx file, and in the code behind, as any little error in any of these could keep this from working and make it very difficult
    for me to pinpoint what is going wrong.
      Please help!

    I'm using Visual Studio 2013.  According to what I read, there is no report preview in newer versions?
    I created a report and then added a line chart.
    I used my connection and under Data Set Name I put: AllevantReportDataSetB
    Under Choose the Dataset, I selected AllevantReportDataSetB as the data source. 
    For "Name" I chose DataSetB
    The stored procedure works (that is all you need to know, because the inner detail shouldn't make a difference), and when a parameter @facilityid is passed to it, it returns a table with the first column named MonthYear which is a date of all of the months,
    years, and the first of each month from the beginning to end of the data - and the second column is BedDays, the number of total stays in a bed for all of the patients at the facility.
    In Category groups, I have MonthYear, and in Values I have BedDays (actually [Sum(BedDays)], but the sum shouldn't matter, because the MonthYears are unique so there is only one MonthYear, there is not more than one of the same month in the whole data set)
    My .aspx is the following:
    <rsweb:ReportViewer ID="ReportViewer1"
    runat="server"
    ProcessingMode="Remote"
    Font-Names="Verdana"
    Font-Size="8pt"
    InteractiveDeviceInfos="(Collection)"
    WaitMessageFont-Names="Verdana"
    WaitMessageFont-Size="14pt"
    Width="95%"
    Height="99%" ShowDocumentMapButton="False"
    ShowPromptAreaButton="False" Visible="true">
    <LocalReport ReportEmbeddedResource="MySolution.Report5.rdlc">
    <DataSources>
    <rsweb:ReportDataSource DataSourceId="Report1DataSource" Name="DataSetB" />
    </DataSources>
    </LocalReport>
    </rsweb:ReportViewer>
    And my VB code behind is the following:
    Protected Function GetReportDataTable() As DataTable
    Dim Conn As New SqlConnection(ConfigurationManager.ConnectionStrings("sql").ToString)
    Dim Command As New SqlCommand("BedDays", Conn)
    Dim BedDaysDataTable As New DataTable()
    BedDaysDataTable.Columns.Add("MonthYear", GetType(DateTime))
    BedDaysDataTable.Columns.Add("BedDays", GetType(Int32))
    Command.CommandType = CommandType.StoredProcedure
    Command.Parameters.Add("@facID", SqlDbType.Int).Value = 20
    Command.Connection = Conn
    Conn.Open()
    Dim DataReader As SqlDataReader = Command.ExecuteReader()
    BedDaysDataTable.Load(DataReader)
    Conn.Close()
    Return BedDaysDataTable
    End Function
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    If Not IsPostBack Then
    FillMetricsDDL()
    FillFacilityDDL()
    Dim rds As ReportDataSource
    rds = New ReportDataSource("Report1DataSource", GetReportDataTable)
    Dim ReportParameters As New List(Of ReportParameter)
    ReportParameters.Add(New ReportParameter("@facID", 20))
    ReportViewer1.LocalReport.DataSources.Add(rds)
    ReportViewer1.LocalReport.ReportPath = "Report5.rdlc"
    ReportViewer1.LocalReport.Refresh()
    End If
    Common.Chosen(Me)
    End Sub
      I am getting the error where the report should be
    Unable to connect to the remote server, no connection could be made because the target machine actively refused it.                                        
    But I suppose once this error is resolved, there will be more, because I really do not quite know exactly how SSRS charts with parameters in SSRS 2012 are suppossed to work, in code behind, in aspx, and in the charting, and how it all ties together.  So
    some complete guidance to show ALL the places where I am going wrong here would be much appreciated, not just an attempt to solve the one error I have above, which may not be the sum total of all of my problems here.
    Unless, of course, it IS the only error which would be GREAT.

  • Issues when Downloading Large Datasets to Excel and CSV

    Hi,
    Hoping someone could lend a hand on the issues described below.
    I have a prompted dahsboard that, dependent upon prompts selected, can return detail datasets. THe intent of this dashboard is to AVOID giving end users Answers Access, but still providing the ability to pull large amounts of detail data in an ad-hoc fashion. When large datasets are returned, end users will download the data to thier local machines and use excel for further analysis. I have tried two options:
    1) Download to CSV
    2) Download data to Excel
    For my test, I am uses the dashboard prompts to return 1 years (2009) worth of order data for North America, down to the day level of granularity. Yes alot of detail data...but this is what many "dataheads" at my organization are requesting...(despite best efforts to evangelize the power of OBIEE to do the aggregation for them...). I expext this report to return somewhere around 200k rows...
    Here are the results:
    1) Download to CSV
    Filesize: 78MB
    Opening the downloaded file is failrly quick...
    126k rows are present in the CSV file...but the dataset abruptly ends in Q3(August) 2009. The following error appears at the end of the incomplete dataset:
    <div><script language="javascript" src="res/b_mozilla/browserdom.js"></script><script language="javascript" src="res/b_mozilla/common.js"></script><div class="ErrorMessage">Odbc driver returned an error (SQLFetchScroll).</div><div style="margin-top:2pt" onclick="SAWMoreInfo(event); return false;"><img class="ErrorExpanderImg" border="0" src="res/sk_oracle10/common/errorplus.gif" align="absmiddle">  Error Details<div style="margin-left:15px;display:none" compresssrc="res/sk_oracle10/common/errorminus.gif">                                                                                                                        
    <div class="ErrorCodes">Error Codes: <span dir="ltr">OPR4ONWY:U9IM8TAC</span></div>                                                                                                                        
    <div style="margin-top:4pt"><div class="ErrorSubInfo">State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred.                                                                                                                        
    [nQSError: 46073] Operation 'stat()' on file '/opt/apps/oracle/obiee/OracleBIData/tmp/nQS_31951_2986_15442940.TMP' failed with error: (75) ,Çyô@BÀŽB@B¨Ž¡pÇôä재ü5HB. (HY000)</div></div></div></div></div>                                                                                                                        
    2) Download to Excel
    Filesize: 46MB
    Opening the Excel file is extremely painful...over 20 minutes to open the file...making excel unusable during the opening process...defeinately not acceptable for end users.
    When opened the file contains only 65k rows...when there should be over 200k...
    Can you please help me understand the limitations of detail data output (downloading) from OBIEE...or provide workarounds for the circumstances above?
    Thanks so much in advance.
    Adam
    Edited by: AdamM on Feb 9, 2010 9:01 PM
    Edited by: AdamM on Feb 9, 2010 9:02 PM

    @chandrasekhar:
    Thanks for your response. I'll try with the export button but also willing to know how to create button on toolbar.And by clicking on that button a popup box will come having two radio buttons asking to download the report either in .xls or in .csv format. I am looking for the subroutines for that.
    Thanks.
    Message was edited by:
            cinthia nazneen

  • Multiple Line Charts with Column Chart

    I want to show two line charts with a column chart.  Everything goes on the screen fine, except the two line charts origination point always starts at the same point despite the numbers being different.  For example, the ls1 might read 280, 190, 180 and the ls2 is 175, 188, 177 but both origination points start at 280.  The other two datapoints should also be close together but they have a substantial gap of about 50 between them.  Obviosuly I want to have two separate lines.  I have also tried moving the line series below the first lines series with no success.
    <mx:ColumnChart dataTipFunction="formatDataTip"id="
    myChart" dataProvider="
    {FCVData}" showDataTips="
    true"selectionMode="
    single"change="event.stopImmediatePropagation()"
    width="
    100%" height="95%" y="50">
    <!-- vertical axis -->
    <mx:verticalAxis>
    <mx:LinearAxis title="mytitle" labelFunction="defineVerticalLabel"id="
    v1"baseAtZero="
    true" />
    </mx:verticalAxis>
    <mx:horizontalAxis>
    <mx:CategoryAxis dataProvider="
    {MYData}" categoryField="
    YEAR" 
    />
    </mx:horizontalAxis>
    <mx:series>
    <mx:ColumnSeries id="
    pb"color="
    #FFFFFF"xField="
    YEAR" yField="B
    UDGET" displayName="
    Budget"hideDataEffect="
    zoomOut" showDataEffect="
    zoomIn">
    <mx:fill>
    <mx:SolidColor color="{colColor1}"/>
    </mx:fill>
    </mx:ColumnSeries>
    <mx:LineSeries id="ls2" dataProvider="
    {MYData}" yField="
    ACTUAL"displayName="
    Actual" 
    >
    <mx:itemRenderer>  
    <mx:Component>  
    <mx:DiamondItemRenderer/>  
    </mx:Component>  
    </mx:itemRenderer>  
    <mx:lineStroke>
    <mx:Stroke color="
    {lineColor2}" weight="
    5" alpha="
    .5" 
    />
    </mx:lineStroke>  
    <mx:verticalAxis>
    <mx:LinearAxis id="v3" baseAtZero="true"/>
    </mx:verticalAxis>
    </mx:LineSeries>
    <mx:ColumnSeries
    id="
    asytd"color="
    #FFFFFF"xField="
    YEAR" yField="
    SPEND" displayName="
    Spend "hideDataEffect="
    zoomOut" showDataEffect="
    zoomIn">
    <mx:fill>
    <mx:SolidColor color="{colColor2}"/>
    </mx:fill>
    </mx:ColumnSeries>
    <mx:LineSeries id="ls1" dataProvider="
    {MYData}" yField="
    PLAN"displayName="
    Plan" 
    >
    <mx:itemRenderer>  
    <mx:Component>  
    <mx:CrossItemRenderer/>  
    </mx:Component>  
    </mx:itemRenderer>  
    <mx:lineStroke>
    <mx:Stroke color="
    {lineColor1}" weight="
    5" alpha="
    .5" 
    />
    </mx:lineStroke>  
    <mx:verticalAxis>
    <mx:LinearAxis title="title" id="v2" baseAtZero="true"/>
    </mx:verticalAxis>
    </mx:LineSeries>
    </mx:series>
    <mx:verticalAxisRenderers>
    <mx:AxisRenderer placement="left" axis="{v1}"/>
    <mx:AxisRenderer placement="right" axis="{v2}"/>
    <mx:AxisRenderer visible="false" placement="right" axis="{v3}"/>
    </mx:verticalAxisRenderers>
    </mx:ColumnChart>

    Hi,
    Still Trying:
    I've now got this code to function:
    var i:int = 0;
                    for each (var cat:* in event.result.chart.categories.category){
                        //mx.controls.Alert.show(cat.label);
                        var z:int = 0;
                        for each (var valuee:* in event.result.chart.dataset){
                            //mx.controls.Alert.show(event.result.chart.dataset[z].seriesName);
                            //mx.controls.Alert.show(valuee.sete[i].value);
                            z++;
                        i++
    which works fine, how can I get in into Array to make a dataset for the flex charts?
    Thanks,
    Elad

  • Loading Matrix Bound to UDO with Large Data Set

    Hello Experts,
    I have been looking on the forums for the best method out there to effectively load a Matrix that is bound to a User Defined Object (UDO).  In short, I will explain to you what I would like to do.  I have a form that has a matrix on it bound to a User Defined Object.  This matrix takes data stored in other UDO forms/tables and processes it to extract new information. 
    Unfortunately, the resulting dataset is quite large (up to 1000 rows).  I realize if this were just a "report" I could easily do this with a Grid.  I also realize if this were just a Matrix bound to a User Defined Table, I could bind it to a DataTable and perform the query that way.  However, since this is a Matrix bound to a DBDataSource (as I would like to have SAP handle any updates/finds) I believe my only options are to try and use a DBDataSource.Query method and try to work with Conditions. 
    The DBDataSource.Query method has not proven to be effective due to the complexity of the query and the multiple tables involved.  I have read from others on the forum that I could just load the matrix by temporarily databinding the matrix to a DataTable and then, after it is loaded, switch the databinding back to the DBDataSource but this does not work as it comes back with an error informing me (rightly so) that there are already rows in the matrix.
    One final option would be to use the User Interface (UI) to cycle through and update each cell of the matrix with the results of a recordset, but, as I said, this can be a large dataset and that could take hours (literally).
    In short, I was wondering if anyone out there can advise me on the most effective options I have.  Is there  a way to quickly load a matrix bound to a DBDataSource?  Is there someway I can load the matrix by binding it to a DataTable and then quickly move this information over to the DBDataSource (I already attempted this and the method I used was as slow as using the UI to update the Matrix)?  Are there effective ways to use the DBDataSource.Query method that I do not know much about (and cannot find many examples of how this functionality is truly used)?  Should I abandon the DBDataSource (though I believe this is the SAP preferred method) and, if so, is there another technique to appropriately update the database other than using DBDataSource?  Others have mentioned handling the updates to the database themselves but I am not sure what this means (maybe it means using SQL UPDATE/INSERT?).  Is there a ways to Flush matrix information to a DBDataSource if the DBDataSource was not used in the loading and is not currently bound to the matrix? 
    Sorry for the numerous amount of questions but thanks for the advise.

            Dim oForm As SAPbouiCOM.Form
            Dim creationPackage As SAPbouiCOM.FormCreationParams
            creationPackage = sbo_application.CreateObject(SAPbouiCOM.BoCreatableObjectType.cot_FormCreationParams)
            creationPackage.UniqueID = "MyFormID"
            creationPackage.FormType = "MyFormID"
            creationPackage.ObjectType = "UDO_TEST"
            creationPackage.BorderStyle = SAPbouiCOM.BoFormBorderStyle.fbs_Fixed
            oForm = sbo_application.Forms.AddEx(creationPackage)
            oForm.Visible = True
            oForm.Width = 300
            oForm.Height = 400
            Dim oItem As SAPbouiCOM.Item
            oItem = oForm.Items.Add("1", BoFormItemTypes.it_BUTTON)
            oItem.Top = 336
            oItem.Left = 5
            oItem = oForm.Items.Add("2", BoFormItemTypes.it_BUTTON)
            oItem.Top = 336
            oItem.Left = 80
    Now put and Edit box to DocEntry
            oItem = oForm.Items.Add("3", SAPbouiCOM.BoFormItemTypes.it_EDIT)
            oItem.Top = 5
            oItem.Left = 5
            oItem.Width = 100
            Dim oEditText As SAPbouiCOM.EditText = oItem.Specific
            oForm.DataSources.DataTables.Add("oMatrixDT")
            oItem = oForm.Items.Add("oMtrx1", SAPbouiCOM.BoFormItemTypes.it_MATRIX)
            oItem.Top = 20
            oItem.Left = 20
            oItem.Width = oForm.Width - 30
            oItem.Height = oForm.Height - 100
            Dim oMatrix As SAPbouiCOM.Matrix = oItem.Specific
            Dim oColumn As SAPbouiCOM.Column = oMatrix.Columns.Add("#", SAPbouiCOM.BoFormItemTypes.it_EDIT)
            oColumn.TitleObject.Caption = "#"
            oColumn = oMatrix.Columns.Add("oClmn0", SAPbouiCOM.BoFormItemTypes.it_LINKED_BUTTON)
            oColumn.TitleObject.Caption = "BP Code"
            Dim oLinkedButton As SAPbouiCOM.LinkedButton = oColumn.ExtendedObject
            oLinkedButton.LinkedObject = SAPbouiCOM.BoLinkedObject.lf_BusinessPartner
            ' Now bind Columns to UDO Objects in Add Mode
            oEditText.DataBind.SetBound(True, "@UDO_TEST", "DocEntry")
            oMatrix.Columns.Item("oClmn0").DataBind.SetBound(True, "@UDO_TEST1", "U_CARDCODE")
            oForm.DataBrowser.BrowseBy = "3"

Maybe you are looking for

  • BIP eBusiness Suite Dates - How to include the last day of the month?

    How can I get my report to include the last day of the month 'without' forcing my users to enter the non-intuitive first of the next month as a parm? I have a report that will generally be run for a month but can be run for any pair of dates represen

  • Single copies of songs in iTunes library/double copies of songs on iPod.

    I bought an album from the iTunes Store. A friend later gave me the same album in CD form, so I ripped the disc onto my computer so that I could have non-DRM protected files of the music. Now my iTunes library included both the DRM protected files fr

  • "S" check box in sales order

    Hi: When I am entering the material in the item of sales order,the S check box(beside order quantity column) automatically checked,and there is no delivery data/material available data/loading data popped up in the line item,but the mrp setting of th

  • Acrobat Pro 9 - Disable thumbnail preview in PDF file icons on Desktop

    After upgrading to Acrobat Pro 9, the file icons of PDF files on my Windows 7  desktop changed to showing a thumbnail preview. I want to get the standard PDF file icon back for all PDF files. Can someone please tell me how? Thanks.

  • "Inherit" DIR authorizations from linked material

    Hello All, we would like to control DIR authorizations dependent on material master authorizations. Example: User has "read"-authorization for material master (via authorization group of material master) means he has automatically "read"-authorizatio