RE: Simple Time Duration Formulas?

I've recently attempted to import a Microsoft Excel document into Numbers, but the formulas don't seem to translate.
I time scripts so all I need to do is create a formula to add up simple time equations. For example, if D3 is 00:30 and C4 is 01:00 I want C5 to tell me 01:30.
Surely there's any easy way of doing this?
All help gratefully received.

Not really.
In Excel you have time objects.
In Pages we haven't. Your imported cells aren't storing 00:30 but the date_time 12 june 2011 00:30.
Here is a way to achieve your goal :
In C5, type :
=DURATION(0,TIMEVALUE(D3)+TIMEVALUE(C4))
Yvan KOENIG (VALLAURIS, France) dimanche 12 juin 2011 20:53:42
iMac 21”5, i7, 2.8 GHz, 4 Gbytes, 1 Tbytes, mac OS X 10.6.7
Please : Search for questions similar to your own before submitting them to the community
To be the AW6 successor, iWork MUST integrate a TRUE DB, not a list organizer !

Similar Messages

  • Time duration formula help

    Post Author: ztruelove
    CA Forum: Formula
    I am needing to run a monthly report that shows how many hours our company cars have been "checked out" for that particular month. Each record has a "check out date" field in the format YYYY-MM-DD and a "check out time" field in the format 17:00:00  (and two more fields for check in date and time).  My questions are...
    1) How do I extract only the hours for the month I'm reporting on?  Say I'm reporting on October, and the car was checked out on September 29th and returned on October 2nd...how do I just pull the October hours?
    2) I just want to see "business hours" of 08:00 - 17:00.  So if the car was checked out on Friday, October 5th at 17:01 and checked back in on Tuesday, October 9 at 12:00, I would want to see a duration of 13 hours (9 hours from Monday and 4 hours from Tuesday).
    Any suggestions or assistance is greatly appreciated.

    Post Author: V361
    CA Forum: Formula
    You will need to modify the formula, I stole this from another post.
    WhilePrintingRecords;
    DateTimeVar FDay := {?Start Date};DateTimeVar LDay := {?End Date};
    TimeVar BusinessStartTime := TimeValue("8:00");TimeVar BusinessEndTime := TimeValue("17:00");
    NumberVar BSTime;NumberVar BETime;NumberVar Days;NumberVar Weekends;NumberVar FinalDays;DateVar StartDate;DateVar EndDate;NumberVar HalfDays;NumberVar FullDays;NumberVar Hours;
    //Assign Business Start Time and Business End TimeBSTime := hour(BusinessStartTime) + (minute(BusinessStartTime) / 60);BETime := hour(BusinessEndTime) + (minute(BusinessEndTime) / 60);
    //Check if Start Date and End Date fall within "Business Hours"if hour(FDay) in BSTime to BETime    then FDay := FDayelse if hour (FDay) > BETime    then FDay := datetime(date(FDay) + 1, BusinessStartTime)else if hour(FDay) < BSTime    then FDay := datetime(date(FDay), BusinessStartTime);
    if hour(LDay) in BSTime to BETime    then LDay := LDayelse if hour(LDay) > BETime    then LDay := datetime(date(LDay),BusinessEndTime)else if hour(LDay) < BSTime    then LDay := datetime(date(LDay) - 1, BusinessEndTime);
    //Check if Start Date and/or End Date falls on a weekendif DayOfWeek(FDay) = 7    then StartDate := date(FDay) + 2else if DayOfWeek(FDay) = 1    then StartDate := date(FDay) + 1else    StartDate := date(FDay);
    if DayOfWeek(LDay) = 7    then EndDate := date(LDay) + 2else if DayOfWeek(LDay) = 1    then EndDate := date(LDay) + 1else    EndDate := date(LDay);
    //Calculate # of days including Start Date and End DateDays := (EndDate - StartDate) + 1;
    //Calculate # of weekend daysif Days >= 7    then WeekEnds := (Round((Days/7),0))*2else if DayOfWeek(StartDate) > DayOfWeek(EndDate)    then WeekEnds := 2else    WeekEnds := 0;
    //Check if last day on a weekend and calculate final # of daysif DayOfWeek(LDay) = 7    then FinalDays := FinalDays - 1;
    if DayOfWeek(LDay) = 1    then FinalDays := FinalDays - 2;
    FinalDays := Days - Weekends;
    //Calculate final # of hoursif FinalDays <= 1    then        (if hour (LDay) <= BETime            then hours := (time(LDay) - time(FDay)) / 3600        else hours := (BusinessEndTime - time(FDay)) / 3600)    else (HalfDays := ((BusinessEndTime - time(FDay)) / 3600 + (time(LDay) - BusinessStartTime) / 3600);        FullDays := (FinalDays - 2) * 9;        Hours := HalfDays + FullDays;        );
    hours;

  • How to calculate the time duration on a datetime column?

    Hi guys,
    I've done some search on this forum and everywhere else but I can't seem to get this right, at the beggining it sounded like something very simple to accomplish, for the instance with Excel but I'm struggling to get it to work with Crystal Reports on Microsoft Visual Studio 2008.
    I have a datetime column (SQL Server 2000) that I wanted to calculate the the time duration on the report group footer, unfortunatelly the built-in SUM function cannot be applied and I've tried several formulas that I've found on the internet without any luck. I'm using a datetime column to store only the time because I'm stuck with SQL Server 2000 which doesn't have a time data type.
    Would you guys know how to do it by any chance?
    Some sample code I've tried: http://www.minisolve.com/TipsAddUpTime.htm
    Thanks a lot,
    Paul
    Edited by: Paul Doe on Dec 12, 2009 5:41 PM
    Some sample data:
    EMPLOYEE     WORK HOURS
    =========     =================
    JOHN DOE      1900-01-01 01:00:05
    JOHN DOE      1900-01-01 00:20:00
    JOHN DOE      1900-01-01 01:30:15
    =========     =================
    HOURS WORKED: 02:50:20
    Edited by: Paul Doe on Dec 12, 2009 5:42 PM
    Edited by: Paul Doe on Dec 12, 2009 5:45 PM

    Guess what, by further testing the code on the website mentioned above I got it working.
    Pus, I needed to change the grouping on the code, so I had to come up with a way to update the formulas based on the groupping field.
    Considering "call_date" is the field that you are groupping by on the designer use the following code to update the formula:
    CrystalReportObj = new ReportDocument();
    CrystalReportObj.Load("C:\\reportfile.rpt");
    FieldDefinition FieldDef;
    //Get formula
    FormulaFieldDefinition FormulaDef1;
    FormulaDef1 = CrystalReportObj.DataDefinition.FormulaFields["SubHours"];
    //Get formula
    FormulaFieldDefinition FormulaDef2;
    FormulaDef2 = CrystalReportObj.DataDefinition.FormulaFields["subMinSec"];
    //Update the formula to work with the new grouping field,
    //this must be called first else will throw an exception
    FormulaDef1.Text = FormulaDef1.Text.Replace("call_date", "call_extension");
    FormulaDef2.Text = FormulaDef2.Text.Replace("call_date", "call_extension");
    //Get the new field we are grouping by
    FieldDef = CrystalReportObj.Database.Tables[0].Fields["call_extension"];
    //Replace current grouping field with the new one,
    //considering there only one group in the report, index 0
    CrystalReportObj.DataDefinition.Groups[0].ConditionField = FieldDef;
    Have fun.
    Edited by: Paul Doe on Dec 12, 2009 8:43 PM
    Edited by: Paul Doe on Dec 12, 2009 8:53 PM

  • How do I make a simple time-spend, cost tracking sheet? (New to numbers)

    I could not find how to make a simple time-spend = cost tracking sheet for one customer at a time. It is hard for me to keep track of the time I use for arranging music in Logic and Sibelius. I was thinking like A=date, B=what was done, C=start working, D=end working, E=D-C time spend, F=charge for time spend. Sometimes I do work twice or more on a day? (set up E to calkulate total time and F the cost) I do not want to use special software or online service. Thank you for all your help.
    W.W.

    Walter Wedler wrote:
    I could not find how to make a simple time-spend = cost tracking sheet for one customer at a time. It is hard for me to keep track of the time I use for arranging music in Logic and Sibelius. I was thinking like A=date, B=what was done, C=start working, D=end working, E=D-C time spend, F=charge for time spend. Sometimes I do work twice or more on a day? (set up E to calkulate total time and F the cost) I do not want to use special software or online service. Thank you for all your help.
    W.W.
    Hi Walter,
    This topic as come up a couple of times in the past month or so, so a search of the forum should give you at least part of the answer.
    Aside from the formula in column F, you already have the solution.
    in F, the basic formula is =duration x rate
    In the spreadsheet, that is entered as =DUR2HOURS(E)*48
    if the rate is $48/hour
    The IFERROR function is used to avoid error triangles in the rows where column F does not contain a duration.
    Row 5 is a Footer row. The formulas in this row are simple SUM() statements; -=SUM(F) and =SUM(G)
    Column F shows an error because of the 0 (a number, not a duration) in Row 4.
    Regards,
    Barry

  • New, trying for a simple timer

    I'm new to Labview and I'm trying to make what should be a simple timer.
    Specifications:
    (1) A "Start" button starts the timer.
    (2) A "Stop" button stops the timer.
    (3) A knob controls the timer duration.
    (4) Something (right now it's just a sine wave generator) runs while the timer is running.
    (5) A status LED lights while the timer is running.
    (6) The LED and the "something" in #4 turn off when the timer isn't running.
    (7) The timer does not run when the VI starts up.
    (8) The timer may be turned on or off multiple times while the VI runs.
    I can't get #2 and #7 to work.  The Elapsed Time VI keeps running, so putting my Stop button together with the Time Has Elapsed wire on an "Or" operator doesn't work.  Further, upping the knob value (say, from 2 s to 7 s) after the timer runs out will turn everything back on (because the new, later time hasn't arrived yet).  As for #7, I'm not really sure what to do about that.
    Here's a picture of my latest.  Edit: The True condition is nothing more than a False constant wired to the "Busy" LED.
    Message Edited by DJDDA on 09-29-2007 11:24 AM
    Message Edited by DJDDA on 09-29-2007 11:25 AM

    Sorry, I misunderstood.
    Here's one possible solution. Yes, the big loop currently runs at near infinite speed, consuming all CPU. Typically, you want to place a small wait (e.g.50ms) to make the loop time reproducible between machines and limit CPU use.
    You are also generating 100 points, but you are only displaying one. Seems like a waste.
    Why are you using tiny font on the front panel and arbitrary color distinction (everything is red!). Also, the classic controls are a bit ugly and outdated.
    You should also remember that LabVIEW 8.5 is very new and most here don't have it. If you would convert your VI to 8.0 before attaching, many more can inspect it.
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    ScinPan1MOD.vi ‏57 KB

  • How to find out the top 10 data loads based on time duration?.

    Hi,
    We are working on performance tuning. so we want to find out the top 10 loads which had run long time in date wise.
    We need the load start time and end time of the load process, Infosource and datatarget name.
    There are nearly 1000 loads, So it is very difficult to collect the load's timings in RSMO.
    Is there any another alternative to collect the top 10 loads based on time duration in date wise?
    Thanks & Regards,
    Raju

    Hi Gangaraju,
    You can install BI Statistics for getting these type of data.
    Or you check in RSDDSTAT or RSMDATASTATE_EXT or  table for the Load process time.
    Or goto t-code ST13 to get detailed analysis of a Process chain for a given period.
    Hope this helps.
    Regards,
    Ravi Kanth

  • I'm trying to add the "Simple Timer" add-on and I can't get it to add on

    I can't seem to download the Simple Timer application to my desktop. I'm NOT a PC kinda guy so I need help.

    Hi Tatt22-
    In response to your question I went to install the Simple Timer extension and was also not able to install it successfully. I've filed a bug with the Add-ons team so that this will be addressed: [https://bugzilla.mozilla.org/show_bug.cgi?id=699910]

  • How to display time duration (NOT dates) with an input mask in a JTable?

    Background: I am trying to display in a JTable, in two columns, the start position and time duration of an audio clip.
    They are stored as type float internally eg. startPosition = 72.7 seconds.
    However I wish to display on screen in the table in HH:mm:ss:S format. eg. 00:01:12:7. The user can edit the cell and input values to update the internal member fields.
    Problem: I am finding it very difficult to implement this - what with the interactions of MaskFormatter, DefaultCellEditor etc.
    Also using SimpleDateFormat and DateFormatter does not work as they insist on displaying the day, month, year also in the table cell.
    Taking the Swing Tutorial TableFTFEditDemo example as a template,
    (http://java.sun.com/docs/books/tutorial/uiswing/components/example-1dot4/index.html#TableFTFEditDemo)
    does anyone know how to do this?
    I can post my (buggy) modifications to the example code - if it would help.
    Appreciate any help.
    thanks,
    Anil

    Here are my modifications to the TableFTFEditDemo example. If you run it, you get an exception
    like java.lang.NumberFormatException: For input string: "18:00:03.500"
    The two modified classes are taken from the Tutorial and are listed below:
    =================
    * IntegerEditor is a 1.4 class used by TableFTFEditDemo.java.
    import javax.swing.AbstractAction;
    import javax.swing.BorderFactory;
    import javax.swing.DefaultCellEditor;
    import javax.swing.JFormattedTextField;
    import javax.swing.JOptionPane;
    import javax.swing.JTable;
    import javax.swing.JTextField;
    import javax.swing.KeyStroke;
    import javax.swing.SwingUtilities;
    import java.awt.event.ActionEvent;
    import java.awt.event.KeyEvent;
    import java.awt.Color;
    import java.awt.Component;
    import java.awt.Toolkit;
    import java.text.DateFormat;
    import java.text.NumberFormat;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    import javax.swing.text.DateFormatter;
    import javax.swing.text.DefaultFormatterFactory;
    import javax.swing.text.MaskFormatter;
    import javax.swing.text.NumberFormatter;
    class TimeRenderer {
         float seconds;
         TimeRenderer(String str) {
              int hSec = Integer.parseInt(str.substring(0,2)) * 60 * 60;
              int mSec = Integer.parseInt(str.substring(2,4)) * 60;
              int sSec = Integer.parseInt(str.substring(4,6));
              float tSec = Integer.parseInt(str.substring(6,7))/10.0F;
              seconds = hSec + mSec + sSec + tSec;
    * Implements a cell editor that uses a formatted text field to edit Integer
    * values.
    public class IntegerEditor extends DefaultCellEditor {
         JFormattedTextField ftf;
         static Date zeroTime = new Date(0L);
         private boolean DEBUG = true;
         SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss.S");
         MaskFormatter maskFo = new MaskFormatter("##:##:##.#");
         protected MaskFormatter createFormatter(String s) {
              MaskFormatter formatter = null;
              try {
                   formatter = new MaskFormatter(s);
              } catch (java.text.ParseException exc) {
                   System.err.println("formatter is bad: " + exc.getMessage());
                   System.exit(-1);
              return formatter;
         public IntegerEditor(int min, int max) throws ParseException {
              super(new JFormattedTextField(new MaskFormatter("##:##:##.#")));
              ftf = (JFormattedTextField) getComponent();
              // Set up the editor for the cells.
              ftf.setFormatterFactory(new DefaultFormatterFactory(new DateFormatter(sdf)));
              ftf.setFocusLostBehavior(JFormattedTextField.PERSIST);
              // React when the user presses Enter while the editor is
              // active. (Tab is handled as specified by
              // JFormattedTextField's focusLostBehavior property.)
              ftf.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0), "check");
              ftf.getActionMap().put("check", new AbstractAction() {
                   public void actionPerformed(ActionEvent e) {
                        if (!ftf.isEditValid()) { // The text is invalid.
                             ftf.setBorder(BorderFactory.createLineBorder(Color.RED));
                             ftf.setBackground(Color.PINK);
                             ftf.postActionEvent(); // inform the editor
                        } else
                             try { // The text is valid,
                                  ftf.commitEdit(); // so use it.
                                  ftf.postActionEvent(); // stop editing
                             } catch (java.text.ParseException exc) {
         // Override to invoke setValue on the formatted text field.
         public Component getTableCellEditorComponent(JTable table, Object value,
                   boolean isSelected, int row, int column) {
              JFormattedTextField ftf = (JFormattedTextField) super
                        .getTableCellEditorComponent(table, value, isSelected, row, column);
              System.out.println("value:" + value);
    //          long milliseconds =(long) (Float.parseFloat(value.toString()) * 1000);
              long milliseconds =(long) (((Float) value).floatValue() * 1000);
              Date dt = new Date(milliseconds);
              ftf.setValue(dt);
              return ftf;
         // Override to ensure that the value remains an Integer.
         public Object getCellEditorValue() {
              JFormattedTextField ftf = (JFormattedTextField) getComponent();
              Object o = ftf.getValue();
              try {               
                   Calendar cal = Calendar.getInstance();
                   cal.setTime((Date)o);
                   float seconds = cal.getTimeInMillis()/1000.0F;
                   return sdf.format(o);
                   //return new Float(seconds);
              } catch (Exception exc) {
                   System.err.println("getCellEditorValue: can't parse o: " + o);
                   exc.printStackTrace();
                   return null;
         // Override to check whether the edit is valid,
         // setting the value if it is and complaining if
         // it isn't. If it's OK for the editor to go
         // away, we need to invoke the superclass's version
         // of this method so that everything gets cleaned up.
         public boolean stopCellEditing() {
              JFormattedTextField ftf = (JFormattedTextField) getComponent();
              if (ftf.isEditValid()) {
                   try {
                        ftf.commitEdit();
                   } catch (java.text.ParseException exc) {
              } else { // text is invalid
                   ftf.setBorder(BorderFactory.createLineBorder(Color.RED));
                   ftf.setBackground(Color.PINK);
                   return false; // don't let the editor go away
              return super.stopCellEditing();
    //=====================================================
    * TableFTFEditDemo.java is a 1.4 application that requires one other file:
    *   IntegerEditor.java
    import javax.swing.JFrame;
    import javax.swing.JDialog;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.JTable;
    import javax.swing.table.AbstractTableModel;
    import java.awt.Dimension;
    import java.awt.GridLayout;
    import java.text.ParseException;
    * This is exactly like TableDemo, except that it uses a
    * custom cell editor to validate integer input.
    public class TableFTFEditDemo extends JPanel {
        private boolean DEBUG = false;
        public TableFTFEditDemo() throws ParseException {
            super(new GridLayout(1,0));
            JTable table = new JTable(new MyTableModel());
            table.setPreferredScrollableViewportSize(new Dimension(500, 70));
            //Create the scroll pane and add the table to it.
            JScrollPane scrollPane = new JScrollPane(table);
            //Set up stricter input validation for the integer column.
         //   table.setDefaultEditor(Float.class,
           //                        new IntegerEditor(0, 100));
         //If we didn't want this editor to be used for other
         //Integer columns, we'd do this:
         table.getColumnModel().getColumn(3).setCellEditor(
              new IntegerEditor(0, 100));
            //Add the scroll pane to this panel.
            add(scrollPane);
        class MyTableModel extends AbstractTableModel {
            private String[] columnNames = {"First Name",
                                            "Last Name",
                                            "Sport",
                                            "# of Years",
                                            "Vegetarian"};
            private Object[][] data = {
                {"Mary", "Campione",
                 "Snowboarding", new Float(5.7), new Boolean(false)},
                {"Alison", "Huml",
                 "Rowing", new Float(3.5), new Boolean(true)},
                {"Kathy", "Walrath",
                 "Knitting", new Float(2.9), new Boolean(false)},
                {"Sharon", "Zakhour",
                 "Speed reading", new Float(20.8), new Boolean(true)},
                {"Philip", "Milne",
                 "Pool", new Float(10.5), new Boolean(false)}
            public int getColumnCount() {
                return columnNames.length;
            public int getRowCount() {
                return data.length;
            public String getColumnName(int col) {
                return columnNames[col];
            public Object getValueAt(int row, int col) {
                return data[row][col];
             * JTable uses this method to determine the default renderer/
             * editor for each cell.  If we didn't implement this method,
             * then the last column would contain text ("true"/"false"),
             * rather than a check box.
            public Class getColumnClass(int c) {
                 Object obj = getValueAt(0, c);
                 System.out.println("getColumnClass.obj:" + obj);
                return obj.getClass();
            public boolean isCellEditable(int row, int col) {
                //Note that the data/cell address is constant,
                //no matter where the cell appears onscreen.
                if (col < 2) {
                    return false;
                } else {
                    return true;
            public void setValueAt(Object value, int row, int col) {
                if (DEBUG) {
                    System.out.println("Setting value at " + row + "," + col
                                       + " to " + value
                                       + " (an instance of "
                                       + value.getClass() + ")");
                data[row][col] = value;
                fireTableCellUpdated(row, col);
                if (DEBUG) {
                    System.out.println("New value of data:");
                    printDebugData();
            private void printDebugData() {
                int numRows = getRowCount();
                int numCols = getColumnCount();
                for (int i=0; i < numRows; i++) {
                    System.out.print("    row " + i + ":");
                    for (int j=0; j < numCols; j++) {
                        System.out.print("  " + data[i][j]);
                    System.out.println();
                System.out.println("--------------------------");
         * Create the GUI and show it.  For thread safety,
         * this method should be invoked from the
         * event-dispatching thread.
         * @throws ParseException
        private static void createAndShowGUI() throws ParseException {
            //Make sure we have nice window decorations.
            JFrame.setDefaultLookAndFeelDecorated(true);
            //Create and set up the window.
            JFrame frame = new JFrame("TableFTFEditDemo");
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            //Create and set up the content pane.
            TableFTFEditDemo newContentPane = new TableFTFEditDemo();
            newContentPane.setOpaque(true); //content panes must be opaque
            frame.setContentPane(newContentPane);
            //Display the window.
            frame.pack();
            frame.setVisible(true);
        public static void main(String[] args) {
            //Schedule a job for the event-dispatching thread:
            //creating and showing this application's GUI.
            javax.swing.SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                    try {
                             createAndShowGUI();
                        } catch (ParseException e) {
                             // TODO Auto-generated catch block
                             e.printStackTrace();
    }

  • Time duration for Process.waitFor() to wait.

    Can we specify the time duration for the Process.waitFor() after which it resumes?
              Runtime rt=Runtime.getRuntime();
              Process ps=rt.exec("some command");
              ps.waitFor();
    Like here if rt.exec() is taking a lot of time to execute, the ps should wait for a certain period of time for rt to execute and if rt doesnt complete within the specified time then ps should resume.

    I don't know exactly what you are doing but what about: wait(long timeout);

  • Record time duration for fax in vxml

    I am going to get the time duration used for fax sending in vxml:
    <transfer name="mycall" destexpr="'fax://' + phone_num" bridge="false" connecttimeout="120s" maxtime="180s" cisco-longpound="true" cisco-mailtoaddress="'xxxx'" >
    <catch event="telephone.disconnect.transfer">
    <assign name="mydur" expr="mycall$.duration"/>
    <goto next="#timeCount"/>
    </catch>
    </transfer>
    <var name="startTime" expr="new Date();"/>
    <var name="endTime"/>
    <form id="timeCount">
    <block>
    <assign name="document.startTime" expr="startTime.getTime();"/>
    <assign name="document.startTime" expr="Number(startTime);"/>
    <assign name="document.endTime" expr="new Date();"/>
    <assign name="document.endTime" expr="endTime.getTime();"/>
    <assign name="document.endTime" expr="Number(endTime);"/>
    <assign name="mydur" expr="document.endTime - document.startTime;"/>
    </block>
    </form>
    But mycall$.duration is 0 after transferring fax.
    And even if I use codes to count time duration, the duration, mydur, is about the same regardless of the number of pages sent.
    Is it possible to use vxml to record time duration of fax?
    Thank you!

    Paste the following Config:
    sh ver
    sh run
    debug of one call demonstrating the problem :
    debug voip ivr all
    debug vxml all

  • Time duration of events

    Hello,
    I am accessing an Oracle 10.2.0.1.0 Database
    I have the following tables
    CREATE TABLE BT_MAPPING
    ( "TAG_ID" NUMBER(6,0) NOT NULL ENABLE,
    "TAG_NAME" VARCHAR2(30 BYTE) NOT NULL ENABLE,
    "TAG_DESCRIP" VARCHAR2(100 BYTE),
    "TAG_SRC1" VARCHAR2(30 BYTE),
    "TAG_SRC2" VARCHAR2(30 BYTE),
    "TAG_GRP_ID" NUMBER(4,0),
    "TAG_TYPE" VARCHAR2(2 BYTE),
    "TAG_DB" NUMBER(12,6),
    "TAG_ZERO" NUMBER(12,6),
    "TAG_SPAN" NUMBER(12,6),
    "TAG_EU" VARCHAR2(10 BYTE),
    "TAG_MIN" CHAR(1 BYTE),
    "TAG_MAX" CHAR(1 BYTE),
    "TAG_AVG" CHAR(1 BYTE),
    "TAG_DCM" NUMBER(4,0),
    "TAG_TYPE_ID" NUMBER(4,0),
    "TAG_TOTAL" CHAR(1 BYTE)
    and
    CREATE TABLE MT_ANALOGUE
    ( "TAG_ID" NUMBER(6,0) NOT NULL ENABLE,
    "TAG_DATE" DATE NOT NULL ENABLE,
    "TAG_VALUE" NUMBER(12,6),
    "TAG_QUALITY" NUMBER(6,0),
    "TAG_ADJUST_FLAG" CHAR(1 BYTE)
    I need to run a query that would return the tag_id, tag_name, tag_descrip from the bt_mapping table and the tag_date, tag_value from the analogue table when the tag_value is over .10 for the tags that are named BR_FL00_NI to BR_FL14_NI. I have the following which seems to work.
    SELECT
    BT.TAG_ID "TAG_ID", BT.TAG_NAME "TAG_NAME", BT.TAG_DESCRIP "TAG_DESCRIP", MT.TAG_DATE "TAG_DATE", MT.TAG_VALUE "TAG_VALUE"
    FROM
    BT_MAPPING BT, MT_ANALOGUE MT
    WHERE
    MT.TAG_ID=BT.TAG_ID
    AND
    MT.TAG_VALUE &gt; 0.10
    AND
    (BT.TAG_NAME like 'BR_FL0%_NI'
    OR BT.TAG_NAME like 'BR_FL1%_NI'
    OR bt.tag_name = 'BR_FWL00_NI')
    ORDER BY BT.TAG_NAME, MT.TAG_DATE;
    this is a sample of what data the query returns
    TAG_ID                 TAG_NAME                             TAG_DESCRIP                         TAG_DATE                  TAG_VALUE
    40076                    BR_FL01_NI                            Filter #1 Turbidity                       2009-02-05:01:51          0.112088
    40076                    BR_FL01_NI                            Filter #1 Turbidity                       2009-02-05:01:52          0.10696
    40076                    BR_FL01_NI                            Filter #1 Turbidity                       2009-02-05:01:53          0.101343
    40076                    BR_FL01_NI                            Filter #1 Turbidity                       2009-02-05:08:56          0.108181
    40076                    BR_FL01_NI                            Filter #1 Turbidity                       2009-02-05:08:57          0.144567
    40076                    BR_FL01_NI                            Filter #1 Turbidity                       2009-02-05:08:58          0.160684
    40076                    BR_FL01_NI                            Filter #1 Turbidity                       2009-02-05:08:59          0.195116
    40076                    BR_FL01_NI                            Filter #1 Turbidity                       2009-02-05:09:00          0.179976
    40076                    BR_FL01_NI                            Filter #1 Turbidity                       2009-02-05:09:01          0.178266
    40076                    BR_FL01_NI                            Filter #1 Turbidity                       2009-02-05:09:02          0.176557
    40076                    BR_FL01_NI                            Filter #1 Turbidity                       2009-02-05:09:03          0.175336
    40076                    BR_FL01_NI                            Filter #1 Turbidity                       2009-02-05:09:04          0.174359
    40076                    BR_FL01_NI                            Filter #1 Turbidity                       2009-02-05:09:05          0.174359
    40076                    BR_FL01_NI                            Filter #1 Turbidity                       2009-02-05:09:06          0.169475But I am wondering how to query the times that the value is &gt; .10 with a time duration &gt;= 15min and to have the time the tag_value was &gt; 0.10 and the last time the value was &gt; 0.10 with the duration in a new column?
    Something like this
    TAG_ID     TAG_NAME      TAG_DESCRIP        TAG_START_DATE_OVER      TAG_START_VALUE    TAG_END_DATE_OVER      TAG_END_VALUE      DURATION
    40076       BR_FL01_NI      Filter #1 Turbidity     2009-02-05:08:56                     0.108181                      2009-02-05:09:06                 0.169475                     20minI have searched the forums, but didn't find anything that applied. It's possible that I was searching for the wrong phrase. If anyone can provide some help, it would be appreciated.
    Cheers
    Edited by: scada on Feb 24, 2009 10:21 AM

    I will look into analytic functions and your sample code to see if I can get the results. I did forget the sample data, again. I have now included some sample data. so what i need to query is when tag_value is &gt; 0.10 for greater than 15 minutes for tags with tag name like 'BR_FL0%_NI' OR like 'BR_FL1%_NI' OR tag_name = 'BR_FWL00_NI'. I also would need a column in that query to be the time duration that the tag_value was &gt; 0.10.
    thanks again for all the help
    bt_mapping
    CREATE TABLE BT_MAPPING
    ( "TAG_ID" NUMBER(6,0) NOT NULL ENABLE,
    "TAG_NAME" VARCHAR2(30 BYTE) NOT NULL ENABLE,
    "TAG_DESCRIP" VARCHAR2(100 BYTE),
    "TAG_SRC1" VARCHAR2(30 BYTE),
    "TAG_SRC2" VARCHAR2(30 BYTE),
    "TAG_GRP_ID" NUMBER(4,0),
    "TAG_TYPE" VARCHAR2(2 BYTE),
    "TAG_DB" NUMBER(12,6),
    "TAG_ZERO" NUMBER(12,6),
    "TAG_SPAN" NUMBER(12,6),
    "TAG_EU" VARCHAR2(10 BYTE),
    "TAG_MIN" CHAR(1 BYTE),
    "TAG_MAX" CHAR(1 BYTE),
    "TAG_AVG" CHAR(1 BYTE),
    "TAG_DCM" NUMBER(4,0),
    "TAG_TYPE_ID" NUMBER(4,0)
    Insert into bt_mapping
    values (40652,'BR_FL10_NI','Filter #10 Turbidity','BRIPSS03','BRIPSS04',0,'AI',60,0,0,'0','1','1','1',3,2);MT_ANALOGUE TABLE
    CREATE TABLE MT_ANALOGUE
    ( "TAG_ID" NUMBER(6,0) NOT NULL ENABLE,
    "TAG_DATE" DATE NOT NULL ENABLE,
    "TAG_VALUE" NUMBER(12,6),
    "TAG_QUALITY" NUMBER(6,0),
    "TAG_ADJUST_FLAG" CHAR(1 BYTE)
    INSERT INTO MT_ANALOGUE VALUES
    ('40652',to_date('25-feb-2009 10:00','dd-mon-yyyy hh24:mi'),'.018816','0','0');
    INSERT INTO MT_ANALOGUE VALUES
    ('40652',to_date('25-feb-2009 10:01','dd-mon-yyyy hh24:mi'),'.028816','0','0');
    INSERT INTO MT_ANALOGUE VALUES
    ('40652',to_date('25-feb-2009 10:02','dd-mon-yyyy hh24:mi'),'.029548','0','0');
    INSERT INTO MT_ANALOGUE VALUES
    ('40652',to_date('25-feb-2009 10:03','dd-mon-yyyy hh24:mi'),'.029304','0','0');
    INSERT INTO MT_ANALOGUE VALUES
    ('40652',to_date('25-feb-2009 10:04','dd-mon-yyyy hh24:mi'),'.028816','0','0');
    INSERT INTO MT_ANALOGUE VALUES
    ('40652',to_date('25-feb-2009 10:05','dd-mon-yyyy hh24:mi'),'.028571','0','0');
    INSERT INTO MT_ANALOGUE VALUES
    ('40652',to_date('25-feb-2009 10:06','dd-mon-yyyy hh24:mi'),'.029548','0','0');
    INSERT INTO MT_ANALOGUE VALUES
    ('40652',to_date('25-feb-2009 10:07','dd-mon-yyyy hh24:mi'),'.029304','0','0');
    INSERT INTO MT_ANALOGUE VALUES
    ('40652',to_date('25-feb-2009 10:08','dd-mon-yyyy hh24:mi'),'.028816','0','0');
    INSERT INTO MT_ANALOGUE VALUES
    ('40652',to_date('25-feb-2009 10:09','dd-mon-yyyy hh24:mi'),'.028816','0','0');
    INSERT INTO MT_ANALOGUE VALUES
    ('40652',to_date('25-feb-2009 10:10','dd-mon-yyyy hh24:mi'),'.030037','0','0');
    INSERT INTO MT_ANALOGUE VALUES
    ('40652',to_date('25-feb-2009 10:11','dd-mon-yyyy hh24:mi'),'.028327','0','0');
    INSERT INTO MT_ANALOGUE VALUES
    ('40652',to_date('25-feb-2009 10:12','dd-mon-yyyy hh24:mi'),'.029792','0','0');
    INSERT INTO MT_ANALOGUE VALUES
    ('40652',to_date('25-feb-2009 10:13','dd-mon-yyyy hh24:mi'),'.028327','0','0');
    INSERT INTO MT_ANALOGUE VALUES
    ('40652',to_date('25-feb-2009 10:14','dd-mon-yyyy hh24:mi'),'.029792','0','0');
    INSERT INTO MT_ANALOGUE VALUES
    ('40652',to_date('25-feb-2009 10:15','dd-mon-yyyy hh24:mi'),'.029304','0','0');
    INSERT INTO MT_ANALOGUE VALUES
    ('40652',to_date('25-feb-2009 10:16','dd-mon-yyyy hh24:mi'),'.028816','0','0');
    INSERT INTO MT_ANALOGUE VALUES
    ('40652',to_date('25-feb-2009 10:17','dd-mon-yyyy hh24:mi'),'.028816','0','0');
    INSERT INTO MT_ANALOGUE VALUES
    ('40652',to_date('25-feb-2009 10:18','dd-mon-yyyy hh24:mi'),'.029548','0','0');
    INSERT INTO MT_ANALOGUE VALUES
    ('40652',to_date('25-feb-2009 10:19','dd-mon-yyyy hh24:mi'),'.028816','0','0');
    INSERT INTO MT_ANALOGUE VALUES
    ('40652',to_date('25-feb-2009 10:20','dd-mon-yyyy hh24:mi'),'.029792','0','0');
    INSERT INTO MT_ANALOGUE VALUES
    ('40652',to_date('25-feb-2009 10:21','dd-mon-yyyy hh24:mi'),'.029548','0','0');
    INSERT INTO MT_ANALOGUE VALUES
    ('40652',to_date('25-feb-2009 10:22','dd-mon-yyyy hh24:mi'),'.029548','0','0');
    INSERT INTO MT_ANALOGUE VALUES
    ('40652',to_date('25-feb-2009 10:23','dd-mon-yyyy hh24:mi'),'.029304','0','0');
    INSERT INTO MT_ANALOGUE VALUES
    ('40652',to_date('25-feb-2009 10:24','dd-mon-yyyy hh24:mi'),'.028816','0','0');
    INSERT INTO MT_ANALOGUE VALUES
    ('40652',to_date('25-feb-2009 10:25','dd-mon-yyyy hh24:mi'),'.028816','0','0');
    INSERT INTO MT_ANALOGUE VALUES
    ('40652',to_date('25-feb-2009 10:26','dd-mon-yyyy hh24:mi'),'.029304','0','0');
    INSERT INTO MT_ANALOGUE VALUES
    ('40652',to_date('25-feb-2009 10:27','dd-mon-yyyy hh24:mi'),'.028816','0','0');
    INSERT INTO MT_ANALOGUE VALUES
    ('40652',to_date('25-feb-2009 10:28','dd-mon-yyyy hh24:mi'),'.028571','0','0');
    INSERT INTO MT_ANALOGUE VALUES
    ('40652',to_date('25-feb-2009 10:29','dd-mon-yyyy hh24:mi'),'.029304','0','0');
    INSERT INTO MT_ANALOGUE VALUES
    ('40652',to_date('25-feb-2009 10:30','dd-mon-yyyy hh24:mi'),'.029304','0','0');
    INSERT INTO MT_ANALOGUE VALUES
    '40652',to_date('25-feb-2009 10:31','dd-mon-yyyy hh24:mi'),'.017304','0','0');Edited by: scada on Feb 25, 2009 12:08 PM
    Edited by: scada on Feb 25, 2009 1:21 PM
    Edited by: scada on Feb 26, 2009 10:51 AM
    Edited by: scada on Feb 26, 2009 10:58 AM

  • No of questions in sccm 2012 70-243 exam and the time duration

    how many question in sccm 70-243 exam and time duration for the exam

    Hi,
    I can hardly remember but according to Daniel it was 3 hours and 60 questions.
    http://www.danielclasson.com/passed-the-70-243-administering-and-deploying-system-center-2012-configuration-manager-exam/
    Regards,
    Jörgen
    -- My System Center blog ccmexec.com -- Twitter
    @ccmexec

  • How to create simple timer ?

    how to insert a simple timer to this code ?
    void jButton4_actionPerformed(ActionEvent e) {
    jLabel1.setText("Loading ..");
    // insert timer here
    setGetShow("A","t4d"," ","1");
    jLabel1.setText("Done.");
    }

    better use a thread class for this..
    i am not clear the requirement too..
    so please let me know the reauirement [email protected]

  • Can I change the time/duration in a batch way instead of one by one?

    I am using Premiere Pro CS3 and I would like to have 7 seconds per photo and not the default of 5 seconds.  I know you can do each photo separately, by would love a batch performance.  Thanks,  Michele

    Thank you so much for your reply.  I really did not try your approach because I had the question posted on another thread, and was given the following reply and it worked; therefore, just for your information - here it is:
    Huntrex
    98 posts since
    Aug 4, 2009
    1. Jul 5, 2010 9:15 PM in response to: photomom17
    Re: How do I change the time/duration of all clips from the default 5 seconds?
    Go to: Edit -> Preferences -> General. Then customize the "Still Image Default Duration". To get seven seconds per image, enter 210 frames if the project is 29.97fps or 168 frames if it is 24fps.
    In the future you can post to this forum, for older versions of Premiere.
    It worked great!

  • Time duration taken for a job to complete

    Hi
    How do I konw what is the time duration that has taken for any job to be completed  I am looking  in RSMO and i am able to see the start time in the header tab for a job .how do i see the completed time??
    Thanks
    Sheetal

    Hi Sheetal,
    Double click on the start time a popup box would appear in that you can watch the End time as well.
    Also below the Start time you can watch Run time as well,ie the Total Time taken to complete the data load.
    or
    you can check in SM37,
    Copy the Reuqest name from monitor screen and paste it in the SM37 enter the name of the person who scheduled it or enter* to select all users.
    you can find the Job details of that particular request.
    Hope this helps.
    Regards,
    Ravikanth

Maybe you are looking for

  • Read filename of email attachment for sender mail adapter

    Hi All, We have a requirement to read filename of email attachment received from Sender email adapter and send details to SAP by Proxy call. Can we retrieve the filename of email attachment ? Any help on this will be really useful. Regards, Ashish

  • SCCM 2012 R2 with PKI infrastructure

    Hi, Recently i have upgraded my SCCM 2012 R2 test lab from HTTP to HTTPS (PKI) Infrastruture. I have all the things in place. Root CA has been defined and Native mode has been enabled in SCCM server. WEB server cert is in place, DP is also updated an

  • Hr_infotype_operation error

    i am testing hr_infotype_operation  FM for some reason it dumps with the message: COMMIT_IN_PERFORM_ON_COMMIT Error analysis     You cannot call a COMMIT WORK in a FORM not executed by the variants     PERFORM ... ON COMMIT or PERFORM ... ON ROLLBACK

  • Best method to transfer large strings (XML data) to/from stored procedure

    Hi! I'm trying to call a PL/SQL procedure from Java. The procedure inputs a string (XML) that is parsed, and returns a result string (also XML). Typical size of the string is 5kb -> 1mb. I can see two possible solutions: 1) String / LONG 2) CLOB (Usi

  • Synchronous and Asynchronous streams

    Hey, I have an application middle ware that communicates with (a local or alternatively remote ) backend via streams. Atleast that is how I am planning it right now. Nothing implemented yet, only thinking over the design. There is a requirement of co