Last array value

This seems like a simple problem but the solution escapes me.  I am currently reading data from an excel spreadsheet.  If I wanted to read data from from the last cell in a column or the last point in a 1D array, how would I go about doing so.  The location of the point I'm interested will be dependent upon the length of the test so I can't simply index it.  Any suggestions?
LabVIEW 2012 - Windows 7
CLAD

For Excel, there's a range property you can use. One example can be found here. If you need other examples, search for forum for Excel and range. To determine the last element in a LabVIEW array, use Array Size and subtract 1 from it.

Similar Messages

  • How do I display array values in a text field?

    Hi there-
    I have a small Flash movie I'm trying to complete, it's my
    first go around with Flash 8 so I appreciate your patience:
    I built an array with some actionscript which seems to work
    fine (I can trace it and all is well in the trace window). Now I'm
    simply trying to display it to my Flash movie screen and I've built
    a dynamic text window which is working, except that I only ever get
    the last array element to appear in the dynamic text window. I've
    traced the code and see all of my array values, but when I use
    "myResults_txt.text=picker_array;" I only see the last position's
    value in my array. I tried playing with the "multiline" attribute
    for the text field, it didn't seem to make any difference.
    I'm sure it's probably something silly that I've missed, but
    how do you display an array, with all of it's values to a dynamic
    text field (I even tried using the textArea component but ran into
    the same problem).
    Thanks in advance for any help-
    rich

    Thanks for your input. I tried just about everything but
    ended up re-writing the contents of the array to a var and looping
    through the var. Not my first choice but it got me to done.
    Thanks again,
    Rich

  • Making an average of the last 100 values?

    Hi everyone,
    I am acquiring a signal every 1000mS with Labview 7.1. I need to make an average of the last 100 values every 1000mS. I know how to do this with shift registers but it would be a bit long to do it this way...There must be a better way
    Would anybody have an example of an array that takes into consideration the new value that has just been acquired, so that I can make an average of the array?
    Thank you very much for your help,
    Toto

    Hi Toto,
    Here is the first thing I thought of.  Initialize an array of 1000 elements, and replace an element each iteration of the loop.  Use the Quotient and Remainder function along with the iteration count of the loop to replace the oldest element in the array.  Add the array and divide by 1000 in each iteration to get the current average.  I've attached the VI (saved in LabVIEW 7.1), along with a screenshot for anyone who wants to see it but doesn't have LabVIEW 7.1 or later.
    Good luck,
    -D
    Message Edited by Darren on 02-05-2006 07:40 PM
    Darren Nattinger, CLA
    LabVIEW Artisan and Nugget Penman
    Attachments:
    Running_average.vi ‏11 KB
    Running_average.jpg ‏32 KB

  • Get every 10 sec a int.value and need to take the sum of the last 18 values

    Hi,
    i get every 10 sec a int.value and need to take the sum of the last 18 values (3 minutes).
    the programm should work permanently.
    I tried with a 1d-array but didn´t get a result. Could anyone help me?
    Best regards
    kasche

    Use the example in the posted link, then add another shift register for your sum of all elements. Dont add all the elements every time, add them to a running total when they come in. You will need to evaluate how big this number is going to get, however, and decide if you should use an I64 for your running total of all elements. Even this will overflow eventually. 
    So your code would look like that posted by GerdW in the above link, then add a shift register with a starting value of 0. Then add your input value to the value comming from this shift register and send the output to the shift register's output terminal. This creates your running total of all values. The code by GerdW provides your "last 18 elements" total in a very efficient manner, just change the 15 to an 18.
    I have attached a sample bit of code to make it clear. I saved it in LV 8.0 so more people can open it.
    CyberTazer
    Software Systems Engineer
    Attachments:
    Running 18 total.vi ‏11 KB

  • Grabbing Array Value and setting a hidden input

    Not sure if anyone can help but I am having an issue grabbing a certain value from an array and setting a hidden input inside a loop that then is grabbed outside the loop using a document.getElementById.
    Example to what I am trying to do.
    I have a Oracle Package that returns an array for a shopping cart. Each line has its on value and the value can either be 'N', 'P', or 'Y'. Depending on if any of the lines return an 'N' or a 'P' then something else needs to happen.
    So say I have a cart that has 5 lines in it.
    Line 0 = 'Y'
    Line 1 = 'N'
    Line 2 = 'N'
    Line 3 = 'Y'
    Line 4 = 'Y'
    Since one of the lines returns an 'N' I now want to set a hidden input with a value of 'N'. (Right now I have it setting that value in the cart display loop, which maybe be wrong.)
    <input type="hidden" id="AllowCheckOut" name="AllowCheckOut" value="N">
    Once the hidden input is set then outside the loop I am doing the following to determine if the 'Checkout' button should be displayed or not.
    if (document.getElementById('AllowCheckOut').value == "N") {
    isDisabled = true;
    The reason I am having to do it this way is because the 'Checkout' button is at the parent .jsp page and this is being determined in the child .jsp page.
    The problem I am having is even though I am doing an if else logic in the loop to look for an 'N' value which it does find, but it looks like it is always setting the hidden input value to whatever the last line value is which is 'Y' instead of setting it to 'N' since one of the lines had an 'N' in it.
    If anyone understands what I am trying to do can you please explain what I may be doing wrong or need to do.
    Thanks

    Also you have strings there delimited by single quotes, which is invalid in Java.
    Are you sure this is Java and not Javascript?
    Though a cart implemented in Javascript seems problematical to me.

  • How to fetch last transactioned values for given period

    Hi,
    I'm working on a report, here I'm fetching data from j_2irg1bal table for some period. it has data to internal table like
    e.g. : given period 01-04.2009 to  30.04.2009
    date        mantr  opening balance closing balance
    04.04.2009  1007     100             130
    08.04.2009  1007     130              80
    here for given date two record are available,
    i need to capture last updated value i.e. for date 08.04.2009.
    Kindly suggest your ideas to move with this

    Hi,
    Assume that your values are in internal table ITAB.  Then,
    Sort ITAB by date DESCENDING.
    Doing so, your records gets sorted in Descending Order with respect to Date. And the Last updated record comes in the first position.
    And now,
    Read table ITAB index 1.
    The above code, fetches the last record into the Work-Area.
    That's it.
    Rgds,
    Ramani N

  • How to get the last "reported" value in a cross tab

    Dear all,
    based on a BeX Query Universe I have built a report with a cross tab in webI.
    Maybe you can help me with the following issue. There I have a problem: I want to get in the Total-column always the last reported value, e.g. for Number Total Customers "66", not for Mar or Apr, because they are null.
    Calendar Month                      |Jan| |Feb| |Mar| |Apr| |Total|
    Number Total Customers         |54|    |66|  | |      | |       66
    Number Active Customers      |57|    |71|  | |      | |       71
    I hope that you understand my problem and could help as soon as possible.
    Thanks a lot in advance for your support.
    Best regards.
    Edited by: HOLWUE on Feb 8, 2010 1:40 PM

    Hi,
    If this question is related to Webi then post in the below forum.
    http://scn.sap.com/community/businessobjects-web-intelligence/content?filterID=content~objecttype~objecttype[thread]
    Regards,
    Sujit.

  • Using an index to access the last n values of a certain combination

    I have a large table of the following form:
    Name Typ
    ID NUMBER
    M_DATE DATE
    M_LOC NUMBER
    M_ARTICLE VARCHAR2(30)
    M_TYPE VARCHAR2(30)
    M_MEASURE VARCHAR2(50)
    VALUE NUMBER
    In this table there is only a small number of different locations, articles, types and maesures but a large number of m_date values.
    I want to access the last 10 values for a certain combination of locations, articles, types and measures.
    I have an index
    create index i_res_2 on results (m_loc, m_article, m_type, m_measure, m_date);
    In my opinion it should be possible to access the last 10 values directly by this index, but
    when I do my select in the following way it seems to me that first all datasets with the same
    locations, articles, types and maesures are selected, then sorted by date and then the last 10
    dates are selected. As those datasets are spread over the whole table it needs a higher number
    of physical reads. Is there a way to have an index on m_date and an other form of this query
    that selects the requested values with less phyical reads? (Database version is 10.2)
    SQL> select
    2 id,
    3 m_date,
    4 value
    5 from (
    6 select
    7 id,
    8 m_date,
    9 value,
    10 rank() over (order by m_date desc) r
    11 from results
    12 where m_loc = '14001'
    13 and m_article = '11211-00-00'
    14 and m_type = '0002'
    15 and m_measure = '032')
    16 where r <= 10
    17 order by m_date asc;
    ID M_DATE Value
    3931958 05.03.10 69.00
    3931960 05.03.10 69.00
    3905712 10.03.10 68.60
    3999535 10.03.10 69.70
    3985125 11.03.10 69.40
    3957851 11.03.10 69.60
    3949799 21.03.10 68.70
    4017369 21.03.10 69.00
    3951981 22.03.10 68.80
    3983554 22.03.10 68.80
    Abgelaufen: 00:00:03.00
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
    | 0 | SELECT STATEMENT | | 1 | 48 | 6 (34)| 00:00:01 |
    | 1 | SORT ORDER BY | | 1 | 48 | 6 (34)| 00:00:01 |
    |* 2 | VIEW | | 1 | 48 | 5 (20)| 00:00:01 |
    |* 3 | WINDOW SORT PUSHED RANK | | 1 | 39 | 5 (20)| 00:00:01 |
    | 4 | TABLE ACCESS BY INDEX ROWID| RESULTS | 1 | 39 | 4 (0)| 00:00:01 |
    |* 5 | INDEX RANGE SCAN | I_RES_2 | 1 | | 3 (0)| 00:00:01 |
    Predicate Information (identified by operation id):
    2 - filter("R"<=10)
    3 - filter(RANK() OVER ( ORDER BY INTERNAL_FUNCTION("M_DATE") DESC )<=10)
    5 - access("M_LOC"=14001 AND "M_ARTICLE"='11211-00-00' AND "M_TYPE"='0002' AND
    "M_MEASURE"='032')
    Statistiken
    1 recursive calls
    0 db block gets
    547 consistent gets
    474 physical reads
    0 redo size
    766 bytes sent via SQL*Net to client
    380 bytes received via SQL*Net from client
    2 SQL*Net roundtrips to/from client
    2 sorts (memory)
    0 sorts (disk)
    10 rows processed

    I found a solution, which is much better in terms of physical reads and consistent gets even if the optimizer calculates higher costs. But I still think, that there should be an easier way to do this:
    SQL> select
    2 id, m_date, value from results
    3 where
    4 (m_loc, m_article, m_type, m_measure, m_date)
    5 in
    6 (select m_loc, m_article, m_type, m_measure, m_date
    7 from (
    8 select /*+ first_rows(10) */ m_loc, m_article, m_type, m_measure, m_date
    9 from results
    10 where m_loc = '14001'
    11 and m_article = '11370-00-00'
    12 and m_type = '0002'
    13 and m_measure = '032'
    14 order by m_loc,m_article,m_type,m_measure,m_date desc
    15 ) where rownum < 10);
    ID M_DATE VALUE
    2495995 01.02.09 70,4
    2457657 19.01.09 66,9
    2556262 13.02.09 67,4
    2496232 01.02.09 67,6
    2465051 20.01.09 67
    2454994 19.01.09 67,4
    2545951 13.02.09 67,4
    2502216 01.02.09 67,5
    2497533 01.02.09 67,2
    9 Zeilen ausgewählt.
    Ausführungsplan
    Plan hash value: 3924867000
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
    | 0 | SELECT STATEMENT | | 1 | 122 | 8 (25)| 00:00:01 |
    | 1 | TABLE ACCESS BY INDEX ROWID| RESULTS | 1 | 39 | 3 (0)| 00:00:01 |
    | 2 | NESTED LOOPS | | 1 | 122 | 8 (25)| 00:00:01 |
    | 3 | VIEW | VW_NSO_1 | 1 | 83 | 4 (25)| 00:00:01 |
    | 4 | HASH UNIQUE | | 1 | 31 | | |
    |* 5 | COUNT STOPKEY | | | | | |
    | 6 | VIEW | | 1 | 31 | 4 (25)| 00:00:01 |
    |* 7 | SORT ORDER BY STOPKEY| | 1 | 31 | 4 (25)| 00:00:01 |
    |* 8 | INDEX RANGE SCAN | I_RES_2 | 1 | 31 | 3 (0)| 00:00:01 |
    |* 9 | INDEX RANGE SCAN | I_RES_2 | 1 | | 2 (0)| 00:00:01 |
    Predicate Information (identified by operation id):
    5 - filter(ROWNUM<10)
    7 - filter(ROWNUM<10)
    8 - access("M_LOC"=14001 AND "M_ARTICLE"='11370-00-00' AND "M_TYPE"='0002'
    AND "M_MEASURE"='032')
    9 - access("M_LOC"="$nso_col_1" AND "M_ARTICLE"="$nso_col_2" AND
    "M_TYPE"="$nso_col_3" AND "M_MEASURE"="$nso_col_4" AND "M_DATE"="$nso_col_5")
    Statistiken
    1 recursive calls
    0 db block gets
    36 consistent gets
    14 physical reads
    0 redo size
    748 bytes sent via SQL*Net to client
    381 bytes received via SQL*Net from client
    2 SQL*Net roundtrips to/from client
    1 sorts (memory)
    0 sorts (disk)
    9 rows processed

  • Return array value based on selection criteria

    I have one data field that holds text data similar to below:
    "Meeting Room 1 (Projector), Meeting Room 2 (Whiteboard), Meeting Room 3 (Video Conferencing)"
    "Meeting Room 3 (LCD Display), Meeting Room 1 (Video Conferencing), Meeting Room 2 (Whiteboard)"
    The meeting rooms are not always in the same order, I cant count on Meeting Room 1 being followed by Meeting Room 2 etc.
    My objective is to only return the meeting room that has the Whiteboard.
    I'm aware that I can use SPLIT to seperate the Meeting Rooms by the comma and place their components into an array.
    What I'm not sure how to do is return the meeting room with the Whiteboard when that could be [1] in the Array or [2] or [3] in the array.
    I need to return the array value based on its contents. Could someone help me 'search' the array created by the SPLIT command and always return that value with the word 'Whiteboard'

    This works
    whileprintingrecords;
    global stringvar x:='';
    global numbervar n:=1;
    While n <= Ubound(split('......, Meeting Room X (Whiteboard),..............', ",")) Do
    if split('..........., Meeting Room X (Whiteboard), ............', ",")[n] like '*Whiteboard*'
    then x:=split('.............., Meeting Room X (Whiteboard), ..............', ",")[n];
    n := n + 1;
    x;
    Just replace my string with your field.
    Ian

  • Formula to calculate the last active value in a row?

    When using a simpe table, what formula will display the last active value in the row? Some of the cells are blank. I want a column to show the most recent value, which in this case will be the rightmost, non-blank cell.

    B2 through J2 are your data
    B3 =IF(B2="","",COLUMN())
    Fill that to the rest of row 3
    A2 =INDEX(B2:J2,MATCH(MAX(B3:J3),B3:J3,1))
    If there are no values in the row, the answer will be an error triangle. You can put the IFERROR function around the formula and give it an answer when there is an error.

  • While P.O creation material automatic capture the last Purchase value

    Dear all
    Please guide me for the following :
    I need a scenario like while creation of new P.O if material already purchase then system automatic capture the last purchase value as per the given material....
    Thanks & Regards,
    Neha

    Prompt the last Purchase Order Price for the Material
    If you want the system to take the price from the last Purchase Order, then do not maintain the conditions in the info record because it has precedence over the last PO. This means that the netprice field in the info record should be left blank.
    In the case when you have already maintained the conditions in the info record (or netprice), try to delete them or make them invalid by changing the validity date.
    Even though no price was maintained, the info record will still keep track of the Order price history.
    To check the Order price history, go into the material info record and click Environment -> Order price history
    Edited by: Sachein on Oct 20, 2011 6:54 AM

  • Last Purchase value of particular material in cube pur_c02

    Dear Friends,
    I have a cube PUR_C02 and i would like to get the last purchase value of any particular Material.
    Can anybody help me how to get it.
    Thanks with regards
    Malik

    Hi Malik,
    You can get the last value with exception aggregation on the keyfigure you want.
    For this you need to change the aggregation settings for the key figure.
    Regards,

  • Last year value

    I am having a table inv_sales_trgt_val and columns
    branch_cd number(3),
    vndr# number(3),
    yymm number(6) ,
    vgroup# number(3),
    sales_trgt_amt number(11,2),
    sales_actl_amt number(11,2),
    cuml_trgt_amt number(11,2),
    cuml_actl_amt number(11,2),
    last_yr_yymm_amt number(11,2)
    In report i need to get sum(sales_actl_amt) which is present year and sum(last_yr_yymm_amt) which is last year ,i am getting sum(sales_actl_amt) correct value but sum(last_yr_yymm_amt) getting different value .so from sales_actl_amt can i get last year value in report.
    please help me
    thank you.

    Hi Joss,
    In SQL Server Analysis Services, we can can compare revenue with the hierarchy periods (year, month, day) by using the PARALLELPERIOD function, and now you want to compare with custom periods. (NOTE: We cannot compare it with the PARALLELPERIOD function
    since
    PARALLELPERIOD function returns a member from a prior period in the same relative position as a specified member. So if the first time span not equal to the second one (such as the first period is 3 days, and the second period is 2 month)).  Here
    is a sample query about PARALLELPERIOD function for your reference.
    with
    set Hotels as
    [Hotels].[Hotel ID].&[1015],
    [Hotels].[Hotel ID].&[5640],
    [Hotels].[Hotel ID].&[8800]
    set Period as [Arrival Date].[Date].[Month].&[2012]&[1]:[Arrival Date].[Date].[Month].&[2012]&[12]
    member [Arrival Date].[Date].[0] as sum({ Period })
    member [Total Amount N-1] as (PARALLELPERIOD([Arrival Date].[Date].[Year], 1, [Arrival Date].[Date].[Year].&[2012]), [Measures].[Total Amount])
    select
    [Measures].[Total Amount],
    [Measures].[Total Amount N-1]
    } on 0,
    nonemptycrossjoin
    Hotels,
    Hotels.[Hotel].children,
    *{[Arrival Date].[Date].[0]}
    } on 1
    from [Booking_Cube]
    Regards,
    Charlie Liao
    TechNet Community Support

  • Question about the vi : Average Last Five Values

    Hello,
    I found the vi to make the average of the last five values here : https://decibel.ni.com/content/docs/DOC-4013
    But i think that it is not really the average of the last five values...
    The problem in my opinion is that the shift register on the left should contain only 4 and not 5 elements.
    Can someone check it ?
    Thanks to answer

    That looks like the correct fix to me.  The previous version was definitely wrong.
    I wanted to add a comment to that article in the community zone, but couldn't find a way to do it event though I was logged in.
    There is a comment that the results are in valid for the first 4 iterations.  The way to fix that is to divide by the number of iteration that have occurred using the In range and coerce function to limit it to 5.
    Attachments:
    Example_VI_BD.png ‏15 KB

  • Urgent: Formular question: get first/last month value with qty value

    We've got a query result as the following:
    Jan_2007 -- Feb_2007 -- Mar_2007 -- Apr_2007
    0 --- 54 --- 0 --- 3
    23 ---0 --- 12 --- 7
    In the above query result,
    1st row shows the sales quantity in Jan_2007 is 0, in Feb_2007 is 54, in Mar_2007 is 0, and in Apr_2007 is 3.
    2nd row shows the sales quantity in Jan_2007 is 23, in Feb_2007 is 0, in Mar_2007 is 12, and in Apr_2007 is 7.
    We would like to add a new column to get the first/last month value with quantity, e.g., in 1st row, the 1st month value with quantity value (>0) is Feb_2007, and the last month value with quantity value (>0) is Apr_2007. Therefore the 1st month value with qty is Feb_2007 and the last month value with qty is Apr_2007. In 2nd row, the first month value with qty is Jan_2007 and the last month value with qty is Apr_2007. But how to use formular to get the 1st/last month values with qty?
    We will give you reward points!

    Hello Kevin,  
    You can create forumula using [Boolean Operator|http://help.sap.com/saphelp_nw04/helpdata/en/23/17f13a2f160f28e10000000a114084/content.htm]
    IF<Logic Expression> THEN <Expression1> ELSE <Expression2> can also be made using a formula in the form
    You can also use the [AND, OR Logical operators |http://help.sap.com/saphelp_nw04/helpdata/en/23/17f13a2f160f28e10000000a114084/content.htm]to check all the keyfigure columns.
    Thanks
    Chandran

Maybe you are looking for