Global Change or filter based on Min and Max dates

Hi Guys,
Hopefully there is a genius out there that is an expert with filters and or global changes, I am after a solution and can’t work out if it is possible to do in P6.
Based on a filter (using codes to select a group of activities) I want to write a value into two date UDF Fields can I:
Run a global change to give the earliest and latest date in the group and write the result to all tasks in the group? or
Is there a mindate maxdate option in Global change or filter? Or
If these tasks were grouped in the activity view can a global change be written to fill down the dates that the summary level is displaying, which are essentially the min and max dates of the groups.  
I could do this pretty easily in excel but I have over a 100 projects and doing the import one at a time is not feasible.
I could create LOE’s but as my variables are constantly changing and due to the volume also not an option.
Summary bars are not an option eithers as I am writing the UDF’s to get all the bars I want on one line, 
An option for me might be to do it using Legare but I would prefer to see if I can get it done in P6 first.
Cheers
Rob

Yes, you can do it in one report.
I created a sample report from efashion:
Year | Lines | Sales Revenue
2001 | Accessories | $250
2003 | Accessories | $550
2001 | City Skirts | $1050
2003 | City Skirts | $1150...........
Create 2 variables 1) Count and 2) Difference:
1) Count  as formula - =Count([Lines]) In Report
2) Difference as formula - =Sum([Sales revenue]) Where (Max([Year]) In Report = [Year]) - Sum([Sales revenue]) Where (Min([Year]) In Report = [Year])
You can replace the formula with your report variables. Then just drag Site ID, Count and Difference variables to your report.
Thanks
Jai

Similar Messages

  • Difference of value of a dimension based on min and max

    Database: Oracle 10g
    BO-BOXIr3
    Let me explain the exact problem again.
    As per the below code, I have the data in this format in my table:
    Code:
    Date              Site ID     KWH
    1/2/2009 00:00     IN-1     22
    1/2/2009 01:00     IN-1     28
    1/3/2009 03:00     IN-2     25
    1/3/2009 04:00     IN-2     46
    1/4/2009 00:00     IN-3     28
    1/4/2009 10:00     IN-3     34
    1/5/2009 08:00     IN-4     31
    1/5/2009 09:00     IN-4     55
    1/5/2009 11:00     IN-4     77
    1/6/2009 00:00     IN-5     34
    Now want to build a report with following columns:
    Site     Count     KWH
    IN-1     2     6 (ex.-28-22)
    IN-2     2     21
    IN-3     2     6
    IN-4     3     46 (ex.-77-31)
    IN-5     2     34
    SITE- distinct site name.
    COUNT-count is number of repetitions of site id between min and max date.
    KWH -(Delta between the min and max date)
    To get the above result I have created 3 report from different queries since not able to get these al in a single report viz Count, Max Value and Min value. Well I have all these 3 reports or table on a single page.
    Count-this report will give the count between the dates
    Max Value-this report will give me the values of kwh for max dates for each site id
    Min Value-this report will give me the values of kwh for min dates for each site id
    Now want to create a single report based on these 3 reports which contains the column
    Site|Count|KWH
    IS IT POSSIBLE?
    Or
    Is it possible to build such report in a single one with all the required column which I mentioned?
    The variables which I created to get the max & min dates,
    Mx_dt= =Max([Query 2].[Hourly]) In ([Query 2].[SITE_ID])
    Mn_dt= =Min([Query 3 (12)].[Hourly]) In ([Query 3 (12)].[SITE_ID])
    For filtering on report used following variables:
    if_st_mn=If([mn_dt])=[Hourly] Then "ok" Else "no"
    if_st_mx =If([mx_dt])=[Hourly] Then "ok" Else "no"
    will filter on "ok" to get the max and min date values.
    rest of the variable in the snap are not usable.

    Yes, you can do it in one report.
    I created a sample report from efashion:
    Year | Lines | Sales Revenue
    2001 | Accessories | $250
    2003 | Accessories | $550
    2001 | City Skirts | $1050
    2003 | City Skirts | $1150...........
    Create 2 variables 1) Count and 2) Difference:
    1) Count  as formula - =Count([Lines]) In Report
    2) Difference as formula - =Sum([Sales revenue]) Where (Max([Year]) In Report = [Year]) - Sum([Sales revenue]) Where (Min([Year]) In Report = [Year])
    You can replace the formula with your report variables. Then just drag Site ID, Count and Difference variables to your report.
    Thanks
    Jai

  • Trying to represent Min and Max date on a rtf. template, please help :-(

    Hi all,
    I'm a little bit disappointed. I make effort to write questions with the hope someone in this forum can help me, but it seems nobody has interest about it.
    I try once again:
    I am tryin to represent a From Date and To Date. My XML File looks like:
    <ServiceRequest
    <Created
    08/04/2003 07:34:21</Created
    <aENumber
    </aENumber
    <CheckResultCommentUAW
    </CheckResultCommentUAW
    <CheckResultCommentUAW
    </CheckResultUAW
    <ABCCategory
    </ABCCategory
    <ChargeNumber
    </ChargeNumber
    <ABCEndDate
    </ABCEndDate
    <ABCStatus
    </ABCStatus
    <ABCTransferStatus
    </ABCTransferStatus
    <ClosedDate
    </ClosedDate
    <ContactAccountName
    FGD Enterprise</ContactAccountName
    <ContactCTIFaxInbound
    </ContactCTIFaxInbound
    <ContactCTIPhoneOutbound
    +4904217280677</ContactCTIPhoneOutbound
    <ContactDepartment
    </ContactDepartment
    <ContactEmailAddress
    [email protected]</ContactEmailAddress
    <ContactFirstName
    Kate</ContactFirstName
    <ContactLastName
    Middleton</ContactLastName
    <ContactSalutation
    Miss</ContactSalutation
    <ContactSubject
    Psychoth.</ContactSubject
    <ContactTitle
    </ContactTitle
    <ContactType
    Doctor</ContactType
    <CreatorFirstName
    Iris</CreatorFirstName
    <CreatorName
    Ramos</CreatorName
    <Description
    Questions about Suprare.</Description
    <JoinedContactAccountId
    1-L8-676</JoinedContactAccountId
    <PTCNumber
    </PTCNumber
    <Product
    Novasitin</Product
    <ProductBusinessUnit
    BU Winters</ProductBusinessUnit
    <SRNumber
    1-1043652</SRNumber
    <SRType
    Speciality Service Request</SRType
    <SolutionDescription
    WLvbf</SolutionDescription
    <Status
    Open</Status
    <TemporaryContactName
    </TemporaryContactName
    <TemporaryPhoneNumber
    </TemporaryPhoneNumber
    <ABCDateReceived
    </ABCDateReceived
    <ABCLinkedProductName
    Novasitin 1</ABCLinkedProductName
    <ABCNoofUnitsReceived
    </ABCNoofUnitsReceived
    <ABCRefundReplacement
    </ABCRefundReplacement
    <ABCSampleStatusReceived
    </ABCSampleStatusReceived
    <ABCSolutionDescription
    </ABCSolutionDescription
    <VisitCompleteAddress
    The Parskinson 3</VisitCompleteAddress
    <Login
    A456788</Login
    <ListOfSRInternalProducts
    <SRInternalProducts
    <MaterialNumber
    134152</MaterialNumber
    <ProductName
    Novasitin 1</ProductName
    <BatchNumber
    </BatchNumber
    <ReplacementRefnd
    </ReplacementRefnd
    <SampleAmount
    </SampleAmount
    <SampleRecievedDate
    </SampleRecievedDate
    <SampleStatus
    </SampleStatus
    </SRInternalProducts
    <SRInternalProducts
    <MaterialNumber
    KTA</MaterialNumber
    <ProductName
    Novasitin</ProductName
    <BatchNumber
    </BatchNumber
    <ReplacementRefnd
    </ReplacementRefnd
    <SampleAmount
    </SampleAmount
    <SampleRecievedDate
    </SampleRecievedDate
    <SampleStatus
    </SampleStatus
    </SRInternalProducts
    </ListOfSRInternalProducts
    </ServiceRequest
    </listOf_ssServiceRequest
    As you see the date has the format 08/04/2003 07:34:21, but I want to represent it like 04.08.2003. I have this on my template:
    <?xdoxslt:set_variable($_XDOCTX, ‘minYear’, xdoxslt:to_char(concat(substring(Created, 4,2), ‘.‘,substring(Created, 1, 2), ‘.‘,substring(Created, 7, 4)), ‘DD.MM.YYYY’))?>
    <?xdoxslt:set_variable($_XDOCTX, ‘maxYear’, xdoxslt:to_char(concat(substring(Created, 4,2), ‘.‘,substring(Created, 1, 2), ‘.‘,substring(Created, 7, 4)), ‘DD.MM.YYYY’))?>
    and the loop:
    <?for-each:ServiceRequest?>
    <?if: xdoxslt:date_diff(‘s’, xdoxslt:get_variable($_XDOCTX, ‘minYear’), xdoxslt:to_char(concat(substring(Created, 4,2), ‘.‘,substring(Created, 1, 2), ‘.‘,substring(Created, 7, 4)), ‘DD.MM.YYYY’), $_XDOLOCALE, $_XDOTIMEZONE) < 0 ?>
    <?xdoxslt:set_variable($_XDOCTX, ‘minYear’, xdoxslt:to_char(concat(substring(Created, 4,2), ‘.‘,substring(Created, 1, 2), ‘.‘,substring(Created, 7, 4)), ‘DD.MM.YYYY’))?><?end if?>
    <?if: xdoxslt:date_diff(‘s’, xdoxslt:get_variable($_XDOCTX, ‘maxYear’), xdoxslt:to_char(concat(substring(Created, 4,2), ‘.‘,substring(Created, 1, 2), ‘.‘,substring(Created, 7, 4)), ‘DD.MM.YYYY’), $_XDOLOCALE, $_XDOTIMEZONE) > 0?>
    <?xdoxslt:set_variable($_XDOCTX, ‘maxYear’, xdoxslt:to_char(concat(substring(Created, 4,2), ‘.‘,substring(Created, 1, 2), ‘.‘,substring(Created, 7, 4)), ‘DD.MM.YYYY’))?><?end if?><?end for-each?>
    So it gives me all the Service Request records in the time range. For example From Date: 31.01.2005 til To Date 01.02.2005.
    It doesn't give me the To Date result unfortunately, it gives me the correct From Date, but as To Date the result is the same as From Date, what is false.
    The results should be:
    From Date: 31.01.2005
    To Date: 01.02.2005
    Can anybody help me? please?
    Regards

    I can but I was looking for a direct API use if possible here. Our library is so compilcated that I can't use the direct select statement.
    Well thanks, I will be using the select max, min and further writing another API for my use.
    Regards,
    KP

  • Transactions between Min and Max dates

    Hey all,
    I have a requirement to extract data between min(transdate) and max(transdate), i got to do this using a single query, i used two queries, ie. 1 select for selecting the max and min dates and my second query to get the transactions. Can some one give me an idea to solve this, as Max & Min functions are not allowed in the where clause.
    Thanks in Advance
    - Eric

    Why single fetch if you want effeciency then use analytic function
    SQL> SELECT empno,ename,hiredate FROM
      2  (SELECT empno,ename,hiredate,MAX(hiredate) OVER (ORDER BY empno) m,
      3          MIN(hiredate) OVER (ORDER BY empno) mi FROM emp)
      4  WHERE hiredate BETWEEN mi AND m;The least and greatest function returns the smallest and greatest value in a list of expressions.
    The syntax for the least function is:
    least( expr1, expr2, ... )
    Khurram

  • MIN and MAX date for each range

    Hi folks,
    I´ve got the following problem:
    Given a table
    create table t as select 'AT' OM_LANDTEXT, '12345' OM,
                             to_date('01-JAN-2004', 'DD-MON-YYYY') datum from dual
                             union
                             select 'AT' OM, '12345' OM_LANDTEXT,
                             to_date('02-JAN-2004', 'DD-MON-YYYY') datum from dual
                             union
                             select 'AT' OM, '12345' OM_LANDTEXT,
                             to_date('03-JAN-2004', 'DD-MON-YYYY') datum from dual
                             union
                             select 'AT' OM, '12345' OM_LANDTEXT,
                             to_date('05-JAN-2004', 'DD-MON-YYYY') datum from dual
                             union
                             select 'AT' OM, '12345' OM_LANDTEXT,
                             to_date('06-JAN-2004', 'DD-MON-YYYY') datum from dual
                             union
                             select 'AT' OM, '12345' OM_LANDTEXT,
                             to_date('01-FEB-2004', 'DD-MON-YYYY') datum from dual
                             union
                             select 'AT' OM, '12345' OM_LANDTEXT,
                             to_date('02-FEB-2004', 'DD-MON-YYYY') datum from dual
                             union
                             select 'AT' OM, '12345' OM_LANDTEXT,
                             to_date('03-FEB-2004', 'DD-MON-YYYY') datum from dual;
    SQL> select * from t;
    OM OM    DATUM
    AT 12345 01-JAN-04
    AT 12345 02-JAN-04
    AT 12345 03-JAN-04
    AT 12345 05-JAN-04
    AT 12345 06-JAN-04
    AT 12345 01-FEB-04
    AT 12345 02-FEB-04
    AT 12345 03-FEB-04
    8 rows selected.I need to have the first and last date for om and om_landtext for each date range (where "date range" means a set of consecutive dates with no gaps).
    So the ouput should be
    OM OM_LANDTEXT DATVON DATBIS
    AT 12345     01-JAN-04 03-JAN-04
    AT 12345     05-JAN-04 06-JAN-04
    AT 12345     01-FEB-04 03-FEB-04Any ideas...?
    Thanks for your help!
    Best regards,
    Gerd
    Message was edited by: Gerd
    Sorry, I forgot to mention this should be done in pure SQL if possible.
    [email protected]

    This is the plodding, methodical approach I've always taken, which leaves me somewhat in awe of Rod West's solution.
    SELECT om_landtext,
           om,
           MIN(datum) AS min_datum,
           MAX(datum) AS max_datum
      FROM (
    SELECT om_landtext,
           om,
           datum,
           prev_datum,
           COUNT(
             CASE
               WHEN prev_datum IS NULL THEN 'x'
               WHEN prev_datum != datum-1 THEN 'x'
               ELSE NULL
             END
           ) OVER (PARTITION BY om_landtext, om ORDER BY datum) AS grp
      FROM (
    SELECT om_landtext,
           om,
           datum,
           LAG(datum) OVER (PARTITION BY om_landtext, om ORDER BY datum) AS prev_datum
      FROM t
    GROUP BY
           om_landtext,
           om,
           grp;null

  • Single result recording valuation based on min and max  values

    hi,
      Our client requirement is as follows:
                               While entering the single results recording the system should not calculate the average , we need the system should valuate based on the  Minimum and  Maximum values in result entry. Is it possible?. can anyone explain in details.
    Regards,
    Ramu.

    Hi
    This is a standard SAP functionality available in SAP
    As
    Variable Inspection by S-Method
    If you set this indicator, you define the valuation mode for the variable inspection according to the s-method (ISO 3951).
    For a sampling procedure with this valuation mode, valuation occurs using a sampling plan consisting of sample size and k-factor. A quality score is calculated from the measured values of a sample and compared with the k-factor.
    Now you want  Both limits should come into picture while valuating then Check valuation Rule :31 -Variable insp. s-Method (two limits)
    so select the Valuation  mode  : 310- Variable insp. s-Method (two limits)   in sampling procedure.
    I hope this will add some value.
    Regars
    Sujit

  • Finding Min and Max date

    SELECT * FROM (
    SELECT 'STOR_A' STORE_NAME ,'BX1' BOX_NO, 'X11' LOC, '01-JAN-2010' MOVE_DT FROM DUAL UNION ALL
    SELECT 'STOR_A'  ,'BX1' , 'X21' , '03-JAN-2010'  FROM DUAL UNION ALL
    SELECT 'STOR_A'  ,'BX1' , 'X13' , '05-JAN-2010'  FROM DUAL UNION ALL
    SELECT 'STOR_A'  ,'BX1' , 'X41' , '07-JAN-2010'  FROM DUAL UNION ALL
    SELECT 'STOR_A'  ,'BX1' , 'X15' , '09-JAN-2010'  FROM DUAL UNION ALL
    SELECT 'STOR_A'  ,'BX2' , 'X31' , '02-JAN-2010'  FROM DUAL UNION ALL
    SELECT 'STOR_A'  ,'BX2' , 'X71' , '04-JAN-2010'  FROM DUAL UNION ALL
    SELECT 'STOR_A'  ,'BX2' , 'X18' , '06-JAN-2010'  FROM DUAL UNION ALL
    SELECT 'STOR_A'  ,'BX3' , 'X91' , '04-JAN-2010'  FROM DUAL UNION ALL
    SELECT 'STOR_A'  ,'BX3' , 'X10' , '05-JAN-2010'  FROM DUAL UNION ALL
    SELECT 'STOR_A'  ,'BX3' , 'X14' , '07-JAN-2010'  FROM DUAL UNION ALL
    SELECT 'STOR_A'  ,'BX3' , 'X51' , '10-JAN-2010'  FROM DUAL UNION ALL
    SELECT 'STOR_A'  ,'BX3' , 'X16' , '12-JAN-2010'  FROM DUAL UNION ALL 
    SELECT 'STOR_B'  ,'BX2' , 'X41' , '09-JAN-2010'  FROM DUAL UNION ALL
    SELECT 'STOR_B'  ,'BX2' , 'X74' , '11-JAN-2010'  FROM DUAL UNION ALL
    SELECT 'STOR_B'  ,'BX2' , 'X31' , '12-JAN-2010'  FROM DUAL UNION ALL
    SELECT 'STOR_B'  ,'BX2' , 'X68' , '17-JAN-2010'  FROM DUAL
    [pre/]
    I have the data of the Boxes which came to the store and changed the locations on a date.
    how can i select in a single row the as below. Boxwise the date and location on which received in and sent out
    [pre]
    BOX_NO     STORE_NAME     IN_LOC              IN_DATE          OUT_LOC     OUT_DATE
    BX1     STOR_A          X11          01-Jan-10     X15     09-Jan-10
    BX2     STOR_A          X31          02-Jan-10     X18     06-Jan-10
    BX3     STOR_A          X91          04-Jan-10     X16     12-Jan-10
    BX2     STOR_B          X41          09-Jan-10     X68     17-Jan-10
    [pre/]
    Can someone helpout from the query                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

    using aggregate keep first/last functions:
    with my_tab as (SELECT 'STOR_A' STORE_NAME ,'BX1' BOX_NO, 'X11' LOC, to_date('01-JAN-2010', 'dd-MON-yyyy') MOVE_DT FROM DUAL UNION ALL
                    SELECT 'STOR_A'  ,'BX1' , 'X21' , to_date('03-JAN-2010', 'dd-MON-yyyy')  FROM DUAL UNION ALL
                    SELECT 'STOR_A'  ,'BX1' , 'X13' , to_date('05-JAN-2010', 'dd-MON-yyyy')  FROM DUAL UNION ALL
                    SELECT 'STOR_A'  ,'BX1' , 'X41' , to_date('07-JAN-2010', 'dd-MON-yyyy')  FROM DUAL UNION ALL
                    SELECT 'STOR_A'  ,'BX1' , 'X15' , to_date('09-JAN-2010', 'dd-MON-yyyy')  FROM DUAL UNION ALL
                    SELECT 'STOR_A'  ,'BX2' , 'X31' , to_date('02-JAN-2010', 'dd-MON-yyyy')  FROM DUAL UNION ALL
                    SELECT 'STOR_A'  ,'BX2' , 'X71' , to_date('04-JAN-2010', 'dd-MON-yyyy')  FROM DUAL UNION ALL
                    SELECT 'STOR_A'  ,'BX2' , 'X18' , to_date('06-JAN-2010', 'dd-MON-yyyy')  FROM DUAL UNION ALL
                    SELECT 'STOR_A'  ,'BX3' , 'X91' , to_date('04-JAN-2010', 'dd-MON-yyyy')  FROM DUAL UNION ALL
                    SELECT 'STOR_A'  ,'BX3' , 'X10' , to_date('05-JAN-2010', 'dd-MON-yyyy')  FROM DUAL UNION ALL
                    SELECT 'STOR_A'  ,'BX3' , 'X14' , to_date('07-JAN-2010', 'dd-MON-yyyy')  FROM DUAL UNION ALL
                    SELECT 'STOR_A'  ,'BX3' , 'X51' , to_date('10-JAN-2010', 'dd-MON-yyyy')  FROM DUAL UNION ALL
                    SELECT 'STOR_A'  ,'BX3' , 'X16' , to_date('12-JAN-2010', 'dd-MON-yyyy')  FROM DUAL UNION ALL 
                    SELECT 'STOR_B'  ,'BX2' , 'X41' , to_date('09-JAN-2010', 'dd-MON-yyyy')  FROM DUAL UNION ALL
                    SELECT 'STOR_B'  ,'BX2' , 'X74' , to_date('11-JAN-2010', 'dd-MON-yyyy')  FROM DUAL UNION ALL
                    SELECT 'STOR_B'  ,'BX2' , 'X31' , to_date('12-JAN-2010', 'dd-MON-yyyy')  FROM DUAL UNION ALL
                    SELECT 'STOR_B'  ,'BX2' , 'X68' , to_date('17-JAN-2010', 'dd-MON-yyyy')  FROM DUAL)
    select box_no,
           store_name,
           min(loc) keep (dense_rank first order by move_dt) in_loc,
           min(move_dt) in_date,
           max(loc) keep (dense_rank last order by move_dt) out_loc,
           max(move_dt) out_date
    from   my_tab
    group by box_no,
             store_name
    order by store_name, box_no;
    BOX STORE_ IN_ IN_DATE             OUT OUT_DATE
    BX1 STOR_A X11 01/01/2010 00:00:00 X15 09/01/2010 00:00:00
    BX2 STOR_A X31 02/01/2010 00:00:00 X18 06/01/2010 00:00:00
    BX3 STOR_A X91 04/01/2010 00:00:00 X16 12/01/2010 00:00:00
    BX2 STOR_B X41 09/01/2010 00:00:00 X68 17/01/2010 00:00:00Edited by: Boneist on 29-Jul-2010 14:32
    Oh darn it! Too slow! {noformat}*pootles off for more caffeine*{noformat}

  • OBIEE- Calculating Min and Max Values

    Hi Friends,
    I have an Issue with regards to calculating Min/Max Values.
    In my Data base we dont have Message Count. So we created a Logical column in BMM Layer called "Message Count" based on the column "Out/In No" i.e by creating count of it i.e (Count(out/in no)) in BMM
    To calculate Inbound Messages we writing -- filter(Message count using messagetype ='i') at report level
    To calculate Outbound Messages we writing -- filter(Message count using messagetype ='o') at report Level
    To calculate Total Messages we writing----- "Message Count".
    But Now we had an issue to calculate "Min Inbound/Max Inbound/Min Outbound/Max Outbound/Avg In/Avg Out" types of Messages.
    To make it clear definition for MIN and MAx is Like This.
    Say Ravi received(Inbound) messages      2
    Say Roy received(Inbound) messages      5
    Say Kiran received(Inbound) messages   11 on a particular date.
    So for that particular date Min Inbound is 2
    So for that particular date Max Inbound is 11
    and Avg Inbound will be (2+5+11)/3
    On this basis we have to implement it in OBIEE. For any more clarifications please reply to my thread.
    Please reply to my Issue ASAP as it is critical and I am out of time.
    Thanks in Advance.
    Regards

    Hi,
    Do you mean to ask minimum stock in a plant and maximum stock in  a plant over a period of time?
    Due to receipts stocks flows in to the storage location of a plant. May be in one period there will be less stock or in one period there will be maximum stock.
    May be history tables like MBEWH or MARDH or the report MC.9 ( you need to provide the period as input) etc for your case.If this is  not your requirement please reply back.
    Regards

  • Avg, Min and Max with a serious twist.....ASO

    Hi,
    I need to calc the Avg, Min and Max on Revenue. That's simple. However Every row of data the revenue falls into a bucket/range. For example revenue is in buckets '0 to 50' or '51 to 100' or '101 to 150' lets say. As I load data I load a '1' into a 'Count' measure depending on which bucket that row of data falls into. So I can get a total count for each bucket. So '0 to 50' might have a Count of 3. '51 to 100' might also have 3 and '101 to 150' has a 2. So my range count looks like:
    0 to 50 - 3
    51 to 100 - 3
    101 to 150 -2
    The trick is they only want the Avg, Min and Max on the rows that makeup the highest 'Count'. In this case that's 3. Problem is there are two ranges that meet this criteria. When that happens they want the Min, Max and Avg of the rows that make up the '51 to 100' bucket since it's the highest range.
    I can easily get the '3' by using the Max formula. So I know what the highest bucket is. Problem is I can't figure out for the life of me, how to pass only those rows that make up the '51 to 100' bucket into the Avg, Min and Max function.....
    I'm stumped and in dire need of something here. I have a spreadsheet that explains the problem better. If somehow I can get a flag on those rows I can easily Avg, Min and Max it. I just can't seem to figure out how to get a flag on only those rows of data.
    I'm willing to share my mocked up example and spreadsheet and .otl and sample data etc....
    Please help :)

    Why does this verify with Min?
    Min ( Filter ( CROSSJOIN ( Descendants ( [Service].CurrentMember),
    Filter ( CROSSJOIN ( Descendants ( [Segment].CurrentMember),
    Filter ( CROSSJOIN ( Leaves ( [Ranges].CurrentMember),
    Filter ( CROSSJOIN ( Descendants ( [Customer Type].CurrentMember),
    Filter ( CROSSJOIN ( Descendants ( [Zip Code].CurrentMember),
    Filter ( CROSSJOIN ( Descendants ( [Disposal Option].CurrentMember),
    Filter ( CROSSJOIN ( Descendants ( [Tickets].CurrentMember),
    Filter ( CROSSJOIN ( Descendants ( [Yardages].CurrentMember),
    Filter ( Descendants ( [Contract Year].CurrentMember),
    [High Range Max] = ( [High Range Max] , [All FHRev Ranges] ) )),
    [High Range Max] = ( [High Range Max] , [All FHRev Ranges] ) )),
    [High Range Max] = ( [High Range Max] , [All FHRev Ranges] ) )),
    [High Range Max] = ( [High Range Max] , [All FHRev Ranges] ) )),
    [High Range Max] = ( [High Range Max] , [All FHRev Ranges] ) )),
    [High Range Max] = ( [High Range Max] , [All FHRev Ranges] ) )),
    [High Range Max] = ( [High Range Max] , [All FHRev Ranges] ) )),
    [High Range Max] = ( [High Range Max] , [All FHRev Ranges] ) )),
    [High Range Max] = ( [High Range Max] , [All FHRev Ranges] ) ) , [FHRev] )
    And when I just change to Tail and put a 1 at the end it fails?
    Tail ( Filter ( CROSSJOIN ( Descendants ( [Service].CurrentMember),
    Filter ( CROSSJOIN ( Descendants ( [Segment].CurrentMember),
    Filter ( CROSSJOIN ( Leaves ( [Ranges].CurrentMember),
    Filter ( CROSSJOIN ( Descendants ( [Customer Type].CurrentMember),
    Filter ( CROSSJOIN ( Descendants ( [Zip Code].CurrentMember),
    Filter ( CROSSJOIN ( Descendants ( [Disposal Option].CurrentMember),
    Filter ( CROSSJOIN ( Descendants ( [Tickets].CurrentMember),
    Filter ( CROSSJOIN ( Descendants ( [Yardages].CurrentMember),
    Filter ( Descendants ( [Contract Year].CurrentMember),
    [High Range Max] = ( [High Range Max] , [All FHRev Ranges] ) )),
    [High Range Max] = ( [High Range Max] , [All FHRev Ranges] ) )),
    [High Range Max] = ( [High Range Max] , [All FHRev Ranges] ) )),
    [High Range Max] = ( [High Range Max] , [All FHRev Ranges] ) )),
    [High Range Max] = ( [High Range Max] , [All FHRev Ranges] ) )),
    [High Range Max] = ( [High Range Max] , [All FHRev Ranges] ) )),
    [High Range Max] = ( [High Range Max] , [All FHRev Ranges] ) )),
    [High Range Max] = ( [High Range Max] , [All FHRev Ranges] ) )),
    [High Range Max] = ( [High Range Max] , [All FHRev Ranges] ) ) , 1 )

  • Performance Issue using min() and max() in one SQL statement

    I have a simple query that selects min() and max() from one column in a table in one sql statment.
    The table has about 9 Million rows and the selected column has a non unique index. The query takes 10 secs. When i select min() and max() in separate statements, each takes only 10 msecs:
    This statement takes 10 secs:
    select min(date_key) , max(date_key)
    from CAPS_KPIC_BG_Fact_0_A
    where date_key != TO_DATE(('1900-1-1' ),( 'YYYY-MM-DD'))
    This statement takes 10 msecs:
    select min(date_key)
    from MYTABLE
    where date_key != TO_DATE(('1900-1-1' ),( 'YYYY-MM-DD'))
    union all
    select max(date_key) from MYTABLE
    Because the first statement is part of an autmatic generated SQL of an application, i can't change it and i have to optimize the data model. How can i speed up the first statement?

    I've ran similar query on a table that has 10 milliion rows, with an index on the date column
    This is what I have found:
    SQL> set timing on
      1  SELECT MIN(ID_DATE) MIN_DATE, MAX(ID_DATE) MAX_DATE
      2      FROM MY_DATE
      3*     WHERE ID_DATE != TO_DATE(('1900-1-1' ),( 'YYYY-MM-DD'))
    SQL> /
    MIN_DATE  MAX_DATE
    03-APR-76 06-JAN-02
    real: 43383
    SQL> SELECT MIN(ID_DATE) MIN_DATE FROM MY_DATE
      2   WHERE ID_DATE != TO_DATE(('1900-1-1' ),( 'YYYY-MM-DD'))
      3  UNION ALL
      4  SELECT MAX(ID_DATE) MAX_DATE FROM MY_DATE
      5   WHERE ID_DATE != TO_DATE(('1900-1-1' ),( 'YYYY-MM-DD'))
      6  /
    MIN_DATE
    03-APR-76
    06-JAN-02
    real: 20
    SQL> SELECT MIN_DATE, MAX_DATE FROM
      2  (SELECT MAX(ID_DATE) MAX_DATE FROM MY_DATE
      3  WHERE ID_DATE != TO_DATE(('1900-1-1' ),( 'YYYY-MM-DD')) ) A,
      4  (SELECT MIN(ID_DATE) MIN_DATE FROM MY_DATE
      5  WHERE ID_DATE != TO_DATE(('1900-1-1' ),( 'YYYY-MM-DD')) ) B
      6  /
    MIN_DATE  MAX_DATE
    03-APR-76 06-JAN-02
    real: 10
    SQL> My conculsion, there is nothing you can do to the tables that will improve that particular statement.
    Why can't you modify the application?

  • Highlighting Min and Max Values on each line

    Hello,
    Is it possible to highlight the Min and Max values on each row of a Query. For example I have sales below by product line for the last seven quarters. The user
    would like the Max value (150) for Product Line ABC Highlighted as Green and the Min value (1055) color coded as Red. Like wise for each line - DEF 200 as green and 100 as red and GHI - 400 as green and 100 as red.
    FYQ Q207 Q307 Q407 Q108 Q208 Q308 Q408
    ABC     1500     1200     1400     1050     1100     1100     1100
    DEF     1550     1000     1560     1220     1340     1640     2000
    GHI     1000     2000     3000     4000     3250     2220     3750
    Is this possible using Exceptions? or may be any other means? We are on Bex 7.0
    Best Regards,
    Sanjiv

    Hello Sanjiv,  
    I think it can be done by JavaScript, but needs more effort
    [Use of JavaScript Functions|http://help.sap.com/saphelp_nw04/helpdata/en/d9/4a853bc623c075e10000000a114084/content.htm]
    Try the exception available in the BW[BW Stylesheets|http://help.sap.com/saphelp_nw04/helpdata/en/3f/ca453afbf37b54e10000000a11402f/content.htm]
    SAPBEXformats - Formatting cell (scaling factors)
    SAPBEXexcGood1 - Exception with priority good 1
    SAPBEXexcGood2 - Exception with priority good 2
    SAPBEXexcGood3 - Exception with priority good 3
    SAPBEXexcCritical4 - Exception with priority critical 4
    SAPBEXexcCritical5 - Exception with priority critical 5
    SAPBEXexcCritical6 - Exception with priority critical 6
    SAPBEXexcBad7 - Exception with priority bad 7
    SAPBEXexcBad8 - Exception with priority bad 8
    SAPBEXexcBad9 - Exception with priority bad 9
    See this thread,
    Change the colour of a cell text depending on the value Web Reports (NW04s)
    Thanks
    Chandran
    Edited by: Chandran Ganesan on Mar 19, 2008 4:27 PM

  • Select just the values between min and max of an accumulated value over day

    Hello Forum,
    a value is accumulated over a day and over a period of time. Next day the value is reseted and starts again to be accumulated:
    with sampledata as (select to_date('09.09.2012 00:04:08', 'dd.mm.yyyy hh24:mi:ss') ts, 120 val from dual union all
                       select to_date('09.09.2012 01:03:08', 'dd.mm.yyyy hh24:mi:ss') ts, 120 val from dual union all
                       select to_date('09.09.2012 02:54:11', 'dd.mm.yyyy hh24:mi:ss') ts, 120 val from dual union all
                       select to_date('09.09.2012 03:04:08', 'dd.mm.yyyy hh24:mi:ss') ts, 120 val from dual union all
                       select to_date('09.09.2012 04:04:19', 'dd.mm.yyyy hh24:mi:ss') ts, 120 val from dual union all
                       select to_date('09.09.2012 05:04:20', 'dd.mm.yyyy hh24:mi:ss') ts, 120 val from dual union all
                       select to_date('09.09.2012 06:12:02', 'dd.mm.yyyy hh24:mi:ss') ts, 23 val from dual union all
                       select to_date('09.09.2012 07:12:03', 'dd.mm.yyyy hh24:mi:ss') ts, 29 val from dual union all
                       select to_date('09.09.2012 08:12:04', 'dd.mm.yyyy hh24:mi:ss') ts, 30 val from dual union all
                       select to_date('09.09.2012 09:12:11', 'dd.mm.yyyy hh24:mi:ss') ts, 45 val from dual union all
                       select to_date('09.09.2012 10:12:12', 'dd.mm.yyyy hh24:mi:ss') ts, 60 val from dual union all
                       select to_date('09.09.2012 11:12:13', 'dd.mm.yyyy hh24:mi:ss') ts, 75 val from dual union all
                       select to_date('09.09.2012 12:21:24', 'dd.mm.yyyy hh24:mi:ss') ts, 95 val from dual union all
                       select to_date('09.09.2012 13:21:26', 'dd.mm.yyyy hh24:mi:ss') ts, 120 val from dual union all
                       select to_date('09.09.2012 14:21:27', 'dd.mm.yyyy hh24:mi:ss') ts, 142 val from dual union all
                       select to_date('09.09.2012 15:21:30', 'dd.mm.yyyy hh24:mi:ss') ts, 142 val from dual union all
                       select to_date('09.09.2012 16:21:32', 'dd.mm.yyyy hh24:mi:ss') ts, 142 val from dual union all
                       select to_date('09.09.2012 17:21:33', 'dd.mm.yyyy hh24:mi:ss') ts, 142 val from dual union all
                       select to_date('09.09.2012 21:21:33', 'dd.mm.yyyy hh24:mi:ss') ts, 142 val from dual union all
                       select to_date('09.09.2012 23:21:33', 'dd.mm.yyyy hh24:mi:ss') ts, 142 val from dual union all
                       select to_date('10.09.2012 00:04:08', 'dd.mm.yyyy hh24:mi:ss') ts, 142 val from dual union all
                       select to_date('10.09.2012 01:03:08', 'dd.mm.yyyy hh24:mi:ss') ts, 142 val from dual union all
                       select to_date('10.09.2012 02:54:11', 'dd.mm.yyyy hh24:mi:ss') ts, 142 val from dual union all
                       select to_date('10.09.2012 03:04:08', 'dd.mm.yyyy hh24:mi:ss') ts, 142 val from dual union all
                       select to_date('10.09.2012 04:04:19', 'dd.mm.yyyy hh24:mi:ss') ts, 142 val from dual union all
                       select to_date('10.09.2012 05:04:20', 'dd.mm.yyyy hh24:mi:ss') ts, 142 val from dual union all
                       select to_date('10.09.2012 06:12:02', 'dd.mm.yyyy hh24:mi:ss') ts, 14 val from dual union all
                       select to_date('10.09.2012 07:12:03', 'dd.mm.yyyy hh24:mi:ss') ts, 34 val from dual union all
                       select to_date('10.09.2012 08:12:04', 'dd.mm.yyyy hh24:mi:ss') ts, 58 val from dual union all
                       select to_date('10.09.2012 09:12:11', 'dd.mm.yyyy hh24:mi:ss') ts, 70 val from dual union all
                       select to_date('10.09.2012 10:12:12', 'dd.mm.yyyy hh24:mi:ss') ts, 120 val from dual union all
                       select to_date('10.09.2012 11:12:13', 'dd.mm.yyyy hh24:mi:ss') ts, 142 val from dual union all
                       select to_date('10.09.2012 12:21:24', 'dd.mm.yyyy hh24:mi:ss') ts, 153 val from dual union all
                       select to_date('10.09.2012 13:21:26', 'dd.mm.yyyy hh24:mi:ss') ts, 153 val from dual union all
                       select to_date('10.09.2012 14:21:27', 'dd.mm.yyyy hh24:mi:ss') ts, 153 val from dual union all
                       select to_date('10.09.2012 15:21:30', 'dd.mm.yyyy hh24:mi:ss') ts, 153 val from dual union all
                       select to_date('10.09.2012 16:21:32', 'dd.mm.yyyy hh24:mi:ss') ts, 153 val from dual union all
                       select to_date('10.09.2012 21:21:33', 'dd.mm.yyyy hh24:mi:ss') ts, 153 val from dual)
    select   ts, val
    from     sampledata
    order by ts asc;How should I change the select statement to skip all data sets before the first minimum and the duplicates after the maximum of a day in order to get such a result:
    TS     VAL
    09.09.12 06:12     23
    09.09.12 07:12     29
    09.09.12 08:12     30
    09.09.12 09:12     45
    09.09.12 10:12     60
    09.09.12 11:12     75
    09.09.12 12:21     95
    09.09.12 13:21     120
    09.09.12 14:21     142
    10.09.12 06:12     14
    10.09.12 07:12     34
    10.09.12 08:12     58
    10.09.12 09:12     70
    10.09.12 10:12     120
    10.09.12 11:12     142
    10.09.12 12:21     153Thank you

    This solution works perfectly when the accumulated value has its low and its high on the same day. But I found out :( , that there is also data, which has its low yesterday and its high today. For a better understandig of the case, there is a machine, wich is working over 3 Shifts with irregular start and end time. For example Shift1 cann start at 5:50 or at 7:15. The accumulated value of the worked time is accumuated for each shift extra. This solution works for the shift 1 (approximate between 06:00-14:00) and for the shift 2(approximate between 14:00-22:00), because there is the low and the high of the accumulated value on the same day. This solution does not work for the shif 3(approximate between 22:00-06:00), because the high of the accumulated value is or can be the next day.
    So the thread title should be: "Select just the values between min and max of an accumulated value over the same day(today) or over two successive days (yesterday and today)
    Sampledata for shift 1 or shift 2:
    {code}
    with sampledata as (select to_date('09.09.2012 00:04:08', 'dd.mm.yyyy hh24:mi:ss') ts, 120 val from dual union all
    select to_date('09.09.2012 01:03:08', 'dd.mm.yyyy hh24:mi:ss') ts, 120 val from dual union all
    select to_date('09.09.2012 02:54:11', 'dd.mm.yyyy hh24:mi:ss') ts, 120 val from dual union all
    select to_date('09.09.2012 03:04:08', 'dd.mm.yyyy hh24:mi:ss') ts, 120 val from dual union all
    select to_date('09.09.2012 04:04:19', 'dd.mm.yyyy hh24:mi:ss') ts, 120 val from dual union all
    select to_date('09.09.2012 05:04:20', 'dd.mm.yyyy hh24:mi:ss') ts, 120 val from dual union all
    select to_date('09.09.2012 06:12:02', 'dd.mm.yyyy hh24:mi:ss') ts, 23 val from dual union all
    select to_date('09.09.2012 07:12:03', 'dd.mm.yyyy hh24:mi:ss') ts, 29 val from dual union all
    select to_date('09.09.2012 08:12:04', 'dd.mm.yyyy hh24:mi:ss') ts, 30 val from dual union all
    select to_date('09.09.2012 09:12:11', 'dd.mm.yyyy hh24:mi:ss') ts, 45 val from dual union all
    select to_date('09.09.2012 10:12:12', 'dd.mm.yyyy hh24:mi:ss') ts, 60 val from dual union all
    select to_date('09.09.2012 11:12:13', 'dd.mm.yyyy hh24:mi:ss') ts, 75 val from dual union all
    select to_date('09.09.2012 12:21:24', 'dd.mm.yyyy hh24:mi:ss') ts, 95 val from dual union all
    select to_date('09.09.2012 13:21:26', 'dd.mm.yyyy hh24:mi:ss') ts, 120 val from dual union all
    select to_date('09.09.2012 14:21:27', 'dd.mm.yyyy hh24:mi:ss') ts, 142 val from dual union all
    select to_date('09.09.2012 15:21:30', 'dd.mm.yyyy hh24:mi:ss') ts, 142 val from dual union all
    select to_date('09.09.2012 16:21:32', 'dd.mm.yyyy hh24:mi:ss') ts, 142 val from dual union all
    select to_date('09.09.2012 17:21:33', 'dd.mm.yyyy hh24:mi:ss') ts, 142 val from dual union all
    select to_date('09.09.2012 21:21:33', 'dd.mm.yyyy hh24:mi:ss') ts, 142 val from dual union all
    select to_date('09.09.2012 23:21:33', 'dd.mm.yyyy hh24:mi:ss') ts, 142 val from dual union all
    select to_date('10.09.2012 00:04:08', 'dd.mm.yyyy hh24:mi:ss') ts, 142 val from dual union all
    select to_date('10.09.2012 01:03:08', 'dd.mm.yyyy hh24:mi:ss') ts, 142 val from dual union all
    select to_date('10.09.2012 02:54:11', 'dd.mm.yyyy hh24:mi:ss') ts, 142 val from dual union all
    select to_date('10.09.2012 03:04:08', 'dd.mm.yyyy hh24:mi:ss') ts, 142 val from dual union all
    select to_date('10.09.2012 04:04:19', 'dd.mm.yyyy hh24:mi:ss') ts, 142 val from dual union all
    select to_date('10.09.2012 05:04:20', 'dd.mm.yyyy hh24:mi:ss') ts, 142 val from dual union all
    select to_date('10.09.2012 06:12:02', 'dd.mm.yyyy hh24:mi:ss') ts, 143 val from dual union all
    select to_date('10.09.2012 07:12:03', 'dd.mm.yyyy hh24:mi:ss') ts, 144 val from dual union all
    select to_date('10.09.2012 08:12:04', 'dd.mm.yyyy hh24:mi:ss') ts, 145 val from dual union all
    select to_date('10.09.2012 09:12:11', 'dd.mm.yyyy hh24:mi:ss') ts, 146 val from dual union all
    select to_date('10.09.2012 10:12:12', 'dd.mm.yyyy hh24:mi:ss') ts, 147 val from dual union all
    select to_date('10.09.2012 11:12:13', 'dd.mm.yyyy hh24:mi:ss') ts, 148 val from dual union all
    select to_date('10.09.2012 12:21:24', 'dd.mm.yyyy hh24:mi:ss') ts, 153 val from dual union all
    select to_date('10.09.2012 13:21:26', 'dd.mm.yyyy hh24:mi:ss') ts, 153 val from dual union all
    select to_date('10.09.2012 14:21:27', 'dd.mm.yyyy hh24:mi:ss') ts, 153 val from dual union all
    select to_date('10.09.2012 15:21:30', 'dd.mm.yyyy hh24:mi:ss') ts, 153 val from dual union all
    select to_date('10.09.2012 16:21:32', 'dd.mm.yyyy hh24:mi:ss') ts, 153 val from dual union all
    select to_date('10.09.2012 21:21:33', 'dd.mm.yyyy hh24:mi:ss') ts, 153 val from dual)
    , got_analytics     AS
         SELECT ts, val
         ,     MIN (val) OVER ( PARTITION BY TRUNC (ts)
                        ORDER BY      ts DESC
                        )      AS min_val_after
         ,     CASE
              WHEN ROW_NUMBER () OVER ( PARTITION BY TRUNC (ts)
                             ORDER BY     val
                             ,      ts     
                             ) = 1          
              THEN -1 -- Impossibly low val
              ELSE LAG (val) OVER ( PARTITION BY TRUNC (ts)
                             ORDER BY      ts
              END           AS prev_val
         ,     MIN (val) OVER (PARTITION BY     TRUNC (ts))
                        AS low_val_today
         ,     NVL ( LAST_VALUE (val) OVER ( ORDER BY ts
                             RANGE BETWEEN UNBOUNDED PRECEDING
                                  AND     ts - TRUNC (ts) PRECEDING
              , -1
              )          AS last_val_yesterday
         FROM sampledata
    SELECT     ts
    ,     val
    FROM     got_analytics
    WHERE     val          <= min_val_after
    AND     val          > prev_val
    AND     (      val     > low_val_today
         OR     val     != last_val_yesterday
    ORDER BY ts
    {code}
    with the expected results:
    {code}
    1     09.09.2012 06:12:02     23
    2     09.09.2012 07:12:03     29
    3     09.09.2012 08:12:04     30
    4     09.09.2012 09:12:11     45
    5     09.09.2012 10:12:12     60
    6     09.09.2012 11:12:13     75
    7     09.09.2012 12:21:24     95
    8     09.09.2012 13:21:26     120
    9     09.09.2012 14:21:27     142
    10     10.09.2012 06:12:02     143
    11     10.09.2012 07:12:03     144
    12     10.09.2012 08:12:04     145
    13     10.09.2012 09:12:11     146
    14     10.09.2012 10:12:12     147
    15     10.09.2012 11:12:13     148
    16     10.09.2012 12:21:24     153
    {code}
    And the sampledata for shift 3 is:
    {code}
    with sampledata as (select to_date('08.09.2012 00:04:08', 'dd.mm.yyyy hh24:mi:ss') ts, 23 val from dual union ALL
    select to_date('08.09.2012 02:04:08', 'dd.mm.yyyy hh24:mi:ss') ts, 45 val from dual union all
    select to_date('08.09.2012 05:03:08', 'dd.mm.yyyy hh24:mi:ss') ts, 78 val from dual union all
    select to_date('08.09.2012 06:54:11', 'dd.mm.yyyy hh24:mi:ss') ts, 90 val from dual union all
    select to_date('08.09.2012 08:04:08', 'dd.mm.yyyy hh24:mi:ss') ts, 90 val from dual union all
    select to_date('08.09.2012 10:04:19', 'dd.mm.yyyy hh24:mi:ss') ts, 90 val from dual union all
    select to_date('08.09.2012 12:04:20', 'dd.mm.yyyy hh24:mi:ss') ts, 90 val from dual union all
    select to_date('08.09.2012 16:12:02', 'dd.mm.yyyy hh24:mi:ss') ts, 90 val from dual union all
    select to_date('08.09.2012 17:12:03', 'dd.mm.yyyy hh24:mi:ss') ts, 90 val from dual union all
    select to_date('08.09.2012 19:12:04', 'dd.mm.yyyy hh24:mi:ss') ts, 90 val from dual union all
    select to_date('08.09.2012 21:12:11', 'dd.mm.yyyy hh24:mi:ss') ts, 90 val from dual union all
    select to_date('08.09.2012 22:00:12', 'dd.mm.yyyy hh24:mi:ss') ts, 24 val from dual union all
    select to_date('08.09.2012 22:12:13', 'dd.mm.yyyy hh24:mi:ss') ts, 40 val from dual union all
    select to_date('08.09.2012 23:21:24', 'dd.mm.yyyy hh24:mi:ss') ts, 68 val from dual union all
    select to_date('09.09.2012 01:03:08', 'dd.mm.yyyy hh24:mi:ss') ts, 79 val from dual union all
    select to_date('09.09.2012 02:54:11', 'dd.mm.yyyy hh24:mi:ss') ts, 124 val from dual union all
    select to_date('09.09.2012 03:04:08', 'dd.mm.yyyy hh24:mi:ss') ts, 125 val from dual union all
    select to_date('09.09.2012 04:04:19', 'dd.mm.yyyy hh24:mi:ss') ts, 126 val from dual union all
    select to_date('09.09.2012 05:04:20', 'dd.mm.yyyy hh24:mi:ss') ts, 127 val from dual union all
    select to_date('09.09.2012 06:12:02', 'dd.mm.yyyy hh24:mi:ss') ts, 127 val from dual union all
    select to_date('09.09.2012 07:12:03', 'dd.mm.yyyy hh24:mi:ss') ts, 127 val from dual union all
    select to_date('09.09.2012 08:12:04', 'dd.mm.yyyy hh24:mi:ss') ts, 127 val from dual union all
    select to_date('09.09.2012 09:12:11', 'dd.mm.yyyy hh24:mi:ss') ts, 127 val from dual union all
    select to_date('09.09.2012 10:12:12', 'dd.mm.yyyy hh24:mi:ss') ts, 127 val from dual union all
    select to_date('09.09.2012 11:12:13', 'dd.mm.yyyy hh24:mi:ss') ts, 127 val from dual union all
    select to_date('09.09.2012 12:21:24', 'dd.mm.yyyy hh24:mi:ss') ts, 127 val from dual union all
    select to_date('09.09.2012 13:21:26', 'dd.mm.yyyy hh24:mi:ss') ts, 127 val from dual union all
    select to_date('09.09.2012 14:21:27', 'dd.mm.yyyy hh24:mi:ss') ts, 127 val from dual union all
    select to_date('09.09.2012 15:21:30', 'dd.mm.yyyy hh24:mi:ss') ts, 127 val from dual union all
    select to_date('09.09.2012 16:21:32', 'dd.mm.yyyy hh24:mi:ss') ts, 127 val from dual union all
    select to_date('09.09.2012 17:21:33', 'dd.mm.yyyy hh24:mi:ss') ts, 127 val from dual union all
    select to_date('09.09.2012 21:21:33', 'dd.mm.yyyy hh24:mi:ss') ts, 127 val from dual union ALL
    select to_date('09.09.2012 22:21:33', 'dd.mm.yyyy hh24:mi:ss') ts, 5 val from dual union ALL
    select to_date('09.09.2012 22:51:33', 'dd.mm.yyyy hh24:mi:ss') ts, 23 val from dual union all
    select to_date('09.09.2012 23:21:33', 'dd.mm.yyyy hh24:mi:ss') ts, 40 val from dual union all
    select to_date('10.09.2012 00:04:08', 'dd.mm.yyyy hh24:mi:ss') ts, 50 val from dual union all
    select to_date('10.09.2012 01:03:08', 'dd.mm.yyyy hh24:mi:ss') ts, 60 val from dual union all
    select to_date('10.09.2012 02:54:11', 'dd.mm.yyyy hh24:mi:ss') ts, 78 val from dual union all
    select to_date('10.09.2012 03:04:08', 'dd.mm.yyyy hh24:mi:ss') ts, 142 val from dual union all
    select to_date('10.09.2012 04:04:19', 'dd.mm.yyyy hh24:mi:ss') ts, 145 val from dual union all
    select to_date('10.09.2012 05:04:20', 'dd.mm.yyyy hh24:mi:ss') ts, 146 val from dual union all
    select to_date('10.09.2012 06:12:02', 'dd.mm.yyyy hh24:mi:ss') ts, 146 val from dual union all
    select to_date('10.09.2012 07:12:03', 'dd.mm.yyyy hh24:mi:ss') ts, 146 val from dual union all
    select to_date('10.09.2012 08:12:04', 'dd.mm.yyyy hh24:mi:ss') ts, 146 val from dual union all
    select to_date('10.09.2012 09:12:11', 'dd.mm.yyyy hh24:mi:ss') ts, 146 val from dual union all
    select to_date('10.09.2012 10:12:12', 'dd.mm.yyyy hh24:mi:ss') ts, 146 val from dual union all
    select to_date('10.09.2012 11:12:13', 'dd.mm.yyyy hh24:mi:ss') ts, 146 val from dual union all
    select to_date('10.09.2012 12:21:24', 'dd.mm.yyyy hh24:mi:ss') ts, 146 val from dual union all
    select to_date('10.09.2012 13:21:26', 'dd.mm.yyyy hh24:mi:ss') ts, 146 val from dual union all
    select to_date('10.09.2012 14:21:27', 'dd.mm.yyyy hh24:mi:ss') ts, 146 val from dual union all
    select to_date('10.09.2012 15:21:30', 'dd.mm.yyyy hh24:mi:ss') ts, 146 val from dual union all
    select to_date('10.09.2012 16:21:32', 'dd.mm.yyyy hh24:mi:ss') ts, 146 val from dual union all
    select to_date('10.09.2012 21:21:33', 'dd.mm.yyyy hh24:mi:ss') ts, 146 val from dual)
    , got_analytics AS
    SELECT ts, val
    , MIN (val) OVER ( PARTITION BY TRUNC (ts)
    ORDER BY ts DESC
    ) AS min_val_after
    , CASE
    WHEN ROW_NUMBER () OVER ( PARTITION BY TRUNC (ts)
    ORDER BY val
    , ts
    ) = 1
    THEN -1 -- Impossibly low val
    ELSE LAG (val) OVER ( PARTITION BY TRUNC (ts)
    ORDER BY ts
    END AS prev_val
    , MIN (val) OVER (PARTITION BY TRUNC (ts))
    AS low_val_today
    , NVL ( LAST_VALUE (val) OVER ( ORDER BY ts
    RANGE BETWEEN UNBOUNDED PRECEDING
    AND ts - TRUNC (ts) PRECEDING
    , -1
    ) AS last_val_yesterday
    FROM sampledata
    SELECT ts
    , val
    FROM got_analytics
    WHERE val <= min_val_after
    AND val > prev_val
    AND ( val > low_val_today
    OR val != last_val_yesterday
    ORDER BY ts
    {code}
    with the unexpected results:
    {code}
    - ts val
    1     08.09.2012 00:04:08     23
    2     08.09.2012 22:12:13     40
    3     08.09.2012 23:21:24     68
    4     09.09.2012 22:21:33     5
    5     09.09.2012 22:51:33     23
    6     09.09.2012 23:21:33     40
    7     10.09.2012 00:04:08     50
    8     10.09.2012 01:03:08     60
    9     10.09.2012 02:54:11     78
    10     10.09.2012 03:04:08     142
    11     10.09.2012 04:04:19     145
    12     10.09.2012 05:04:20     146
    {code}
    The result should be:
    {code}
    - ts val
    1     08.09.2012 00:04:08     23
    2     08.09.2012 02:04:08     45
    3     08.09.2012 05:03:08     78
    4     08.09.2012 06:54:11     90
    5     08.09.2012 22:00:12     24
    6     08.09.2012 22:12:13     40
    7     08.09.2012 23:21:24     68
    8     09.09.2012 01:03:08     79
    9     09.09.2012 02:54:11     124
    10     09.09.2012 03:04:08     125
    11     09.09.2012 04:04:19     126
    12     09.09.2012 05:04:20     127
    13     09.09.2012 22:21:33     5
    14     09.09.2012 22:51:33     23
    15     09.09.2012 23:21:33     40
    16     10.09.2012 00:04:08     50
    17     10.09.2012 01:03:08     60
    18     10.09.2012 02:54:11     78
    19     10.09.2012 03:04:08     142
    20     10.09.2012 04:04:19     145
    21     10.09.2012 05:04:20     146
    {code}
    Thank you for your help!

  • QoS - Min and Max Thresholds

    Hello Everyone,
    I'm studying QoS and I'm wondering how does a Cisco Engineer find out what the best Minimum and Maximum Threshold rates are when using WRED?
    Where would one find these values?
    I'm under the impression that it requires a study that's based on the size of the queues, is that correct?
    But then, I come to the conclusion that even if the queues are big enough, application critical data like (VOIP) would suffer from delay..
    So, how do you calculate the min and max threshold values..
    Thanks ahead of time..
    PR

    Disclaimer
    The  Author of this posting offers the information contained within this  posting without consideration and with the reader's understanding that  there's no implied or expressed suitability or fitness for any purpose.  Information provided is for informational purposes only and should not  be construed as rendering professional advice of any kind. Usage of this  posting's information is solely at reader's own risk.
    Liability Disclaimer
    In  no event shall Author be liable for any damages whatsoever (including,  without limitation, damages for loss of use, data or profit) arising out  of the use or inability to use the posting's information even if Author  has been advised of the possibility of such damage.
    Posting
    Setting WRED parameters, for optimal performance, is (IMO) very tedious.  Lots of variables involved.
    For starters, it shouldn't normally be applied to traffic that's not rate-adaptive, such as VoIP.
    It works best for multiple large bulk data transfer TCP streams that are using dropped packets for their principle flow control.  Then it can be optimized to maximize their "goodput".
    To answer your question, you might study RED literature, and its many variants, found on the Internet.
    You also want to study, if you're not already very familiar, with how adaptive flow rate protocols, such as TCP, behave when packets are dropped.  (With TCP also be mindful of the different "flavors", i.e. Tahoe, Reno, New-Reno, etc.)
    If you have specific questions, post again to this thread, and I might be able to help.

  • Min and MAx Value in a SELECT Statement

    Hi,
    I have a scenario where I am Selecting the values BETWEEN MIN and MAX values:
    SELECT * FROM ABC WHERE CODE BETWEEN MIN(CODE) AND MAX(CODE)
    ITS GETTING Error as:ORA-00934: group function is not allowed here
    Any help will be needful for me.

    select substr(no,1,3)||to_char(substr(no,4,1)+1) "first missing number"
    from
    with t as
    (select 'ABC1' no from dual
    union select 'ABC2' from dual
    union select 'ABC3' from dual
    union select 'ABC5' from dual
    union select 'ABC6' from dual
    union select 'ABC8' from dual
    select no, lead(no,1,0) over (order by no) next_no from t
    where substr(next_no,4,1) - substr(no,4,1) > 1
    and rownum = 1;

  • Find more than one min and max in 2D array contain 0 rows

    Hi
    I have a 2D array and I would like to find the max and min elements between series of 0s. As you can see in the picture If I remove all 0s from the array and use the max and min function then I will have just one min and one max but I need to find min and max after every 0 rows so you can see from the picture ( just as an example) I will have 3 min and 3 max numbers. Would you please help me with this code. Do you now any algorithm that can find min and max between 0s?
    I have also attached my code to remove 0s and then search for max and min numbers but as I mentioned I need min and max for every part
    Many thanks
    Attachments:
    2.jpg ‏82 KB
    3.jpg ‏27 KB

    Thanks altenbach
    I have attached the vi to this post. I would really apperciate if you help me with this example. The min values should be 100, 1500 and 4000 and the max values should be 1200,2600,5400 so as u mentioned the output should be this 2D array 
    100,1200
    1500,2600
    4000,5400
    Attachments:
    new.vi ‏6 KB

Maybe you are looking for

  • Username and Password

    Hi ,  There is a cmd tool that we use for which we need to enter the uid and pwd in command line, i am writing a script , i would like to know is there a better way of prompting the uid and pwd of command prompt in windows prompt box using powershell

  • LiveCycle Data Services without Java...?

    Hey everyone, I recently came across the really cool LiveCylce DS stuff. The part that most interests me is the managed data features that make the client side coding super simple. Unfortunately, it looks like it only works with a java back-end.  Is

  • Problem With Audio Syncing

    Whenever to try to set my audio in properties from "event" to something else (stream) the options are greyed out.

  • ATI 1900 performance?

    I know the first few ATIs have hit the ground - wondering about performance under OSX & XP. Hopefully, nothing but good news...

  • Views in Oracle DB not seen thru DBConnect

    Has anyone come across a situation where a View created on an Oracle DB is not seen thru DB Connect ? I have views created on an Oracle DB, which can be confirmed independently via pl/sql. When I establish link between a SAP BW and the Oracle DB usin