Counting rows respect to the last status assumed

Hi,
I'm analyzing dossier data in a PowerPivot table.
In particular, I've three tables: the Dossier table, the Calendar table (date, week, month, quarter, semester and year) and the Status table for dossier.
In a same day, a dossier can change his status more times (from created to active, from active to closed, and so on): so in the Dossier table I've more dossier occurences with a status date and a sequence column to replace the time. For a new date, the sequence
column restarts to 1.
I need to count the dossier respect to the selected period (a specific date, a specific month, a specific year, and so on) by considering only the dossier with the last status date minor or equal than the selected period.
Fe, for these dossier data:
Dossier id      Status      Status_Date     Sequence
      1            Created    11/02/2015           1
      1            Active       11/02/2015          2
      1            Closed      11/02/2015          3
I must consider the closed dossier row with sequence = 3 when I select '11/02/2015' date from my calendar. The resulting dossier count has to be equal to 1.
I've created this DAX measure:
LAST_DOSSIER_STATUS_NUMBER:=COUNTROWS(
FILTER( VALUES(Dossier[DOSSIER_ID]);
CALCULATE(MAX(DOSSIER[SEQUENCE])) = CALCULATE( MAX(DOSSIER[SEQUENCE]) ; all(dossier[status_id]) ) ) )
It functions only if I select a date, but not if I select the month (february) or the year (2015).
I've tried to use FILTER and LASTDATE functions inside the CALCULATE( MAX(DOSSIER[SEQUENCE]) ; all(dossier[status_id]) ) expression but with no results.
Any helps for me, please? Thanks

Hi Imke,
for a specific day I could have three status change for a specific dossier, and so I could have three same occurence for a dossier: DISTINCTCOUNT(Dossier[DOSSIER_ID]) should return 1, but respect which status? If I should put the STATUS_ID on the rows of
a pivot table I could see 1 for the created status, 1 for the active status and 1 for the closed status. The goal is to show only 1 value for the closed status, that is the last status assumed for the specific dossier.
For the data posted next:
when I select 11/02/2015 as date I've the desired behaviour
but when I select 2015 as year I don't have the wanted behaviour (see dossier_id 1 and dossier_id 4):
The desired behaviour is to see for dossier_id 1 only status_id 4 and not status_id 2, for dossier_id 4 only status_id 4.
As row labels I've dossier_id and status_id, as filter I've a Time Hierarchy (date, month, year) built on a calendar table.
Thanks

Similar Messages

  • How can i now the number of rows afected by the last query?

    how can i now the number of rows afected by the last query?
    For example:
    i made this update :
    update trl_trial set status = 1 /* Validation */
    where trial_id = cobject_id
    and status = 0; /* Initial */
    if NUMBERS_OF_ROWS = 0 then
    end if;
    how can i do this?
    thank u!!!!

    how can i now the number of rows afected by the last query?
    For example:
    i made this update :
    update trl_trial set status = 1 /* Validation */
    where trial_id = cobject_id
    and status = 0; /* Initial */
    if NUMBERS_OF_ROWS = 0 then
    end if;
    how can i do this?
    thank u!!!! Do the following :
    update trl_trial set status = 1 /* Validation */
    where trial_id = cobject_id
    and status = 0; /* Initial */
    if(SQL%ROWCOUNT = 0 ) then
    else
    end if;
    you can also declare a variable and do
    myvar := SQL%ROWCOUNT;
    SQL%ROWCOUNT returna the # of rows afected by any sql
    statement, like DELETE, UPDATE

  • Fetch-Xml based report (to count User Access in the last 6 months ) for Microsoft Dynamics CRM Online

    Hi,
    I have created a User Access report for CRM on-premise using SQl query in the following format. One row corresponds to one user in organization. Currently, I am using Microsoft Dynamics CRM Online trial version and have two users in my organization.
    I want to the same report for CRM Online environment. Only Fetch-Xml based custom reports are supported by CRM online environment hence this SQL query cannot be used.
    I have already written fetch-xml query to retrieve user access records ("audit" entity records) in "last-x-months" (where x = 1,2,3,4,5,6) as below.
    I am able to retrieve the records with "last-x-months" condition at a time, for example, the last-2-months  in my fetch-xml query only.
    For, example, when I retrieve the records in the last-2-months, it also includes the records in the last month. I want to count the records in the 2nd month only that is the difference between these two. The difference will be my 2nd column.
    Similarly, I want the other columns.  
    For the case in the above example, I have created the two separate datasets to get the record-count for the last month and last-2-months. But, I am not able to use the two datasets in the same table in my report and hence not able to calculate the difference.
    Is there any way to solve this problem?

    Hi,
    I have modified my Fetch-XML query to retrieve all the required User Access records and removed aggregation and counting and grouping from the query as well. Did grouping and counting in SSRS. Now the report works fine as shown in the above picture.

  • How to find out the rows inserted in the last n minutes ?

    Hi all,
    I have a log table where, every time a warning is issued, a new row is added. The table has a field with the sysdate when the warning was issued.
    I'd need to collect all warnings in the last (supposing) 30 minutes and send a mail to the administrator. Looking at some faqs I have elaborated this:
    select * from PROCEDURE_LOGS p where ((p.DATE_LOG - sysdate)*-1440) < 30
    However this does not produce anything.
    Can anybody help me to correct this statement ?
    Thanks a lot
    Frank

    Hi, Frank,
    That looks okay to me. Are you sure you have rows in the table with a date_log in the last 30 minutes? Post some sample data (CREATE TABLE and INSERT statements), and the results you expect from that data for a given value of SYSDATE.
    By the way, you can make the WHERE clause clearer like this:
    select     *
    from      PROCEDURE_LOGS     p
    where      ( (sysdate - p.DATE_LOG)
         * 1440           -- = 24 * 60
         ) < 30but this won't change the results.
    Edited by: Frank Kulash on Dec 1, 2010 9:51 AM
    I just saw Toon's reply:
    where     p.DATE_LOG > sysdate - (30 / 1440)as Toon suggested, is clearer still, and potentially more efficient if ther's an index on date_log.

  • Query to find the latest record with respect to the current status

    Dear gurus
    I have the following data in a table
    Customernum
    bkcode
    reqtdate
    Prevstat
    currstat
    The data will be like this
    CustomerNum bkcode reqdate prevstat currstat
    5900 1 03-Aug-12 0 1
    5900 1 06-Aug-12 1 0
    5900 5 22-Jun-12 0 1
    If a customer has an issue to solved, a record is added with bkcode , register date and currstat will be 1
    If the issue is resolved for the bookingcode,a new record is added, the currentstatus will become 0. and prev stat will show 1. Row no 1 and 2 reflects this case
    If this table is queried for finding the unresolved issues. the output should be only the Last row of the above example. since issue with bookingcode 1 has been resolved
    I have trying hard to get this thing confused what to use Lead or Max
    Kindly guide me

    Hi,
    one way here:
    WITH mytable(CustomerNum, bkcode, reqdate, prevstat, currstat)
    AS
       SELECT 5900, 1, TO_DATE('03-Aug-12', 'DD-Mon-YY'), 0, 1 FROM DUAL UNION ALL
       SELECT 5900, 1, TO_DATE('06-Aug-12', 'DD-Mon-YY'), 1, 0 FROM DUAL UNION ALL
       SELECT 5900, 5, TO_DATE('22-Jun-12', 'DD-Mon-YY'), 0, 1 FROM DUAL
    SELECT CustomerNum, bkcode, reqdate, prevstat, currstat
      FROM (SELECT a.*
                 , ROW_NUMBER() OVER (PARTITION BY CustomerNum, bkcode
                                           ORDER BY reqdate DESC) AS rn
              FROM mytable a
    WHERE rn=1
       AND currstat=1;
    CUSTOMERNUM     BKCODE REQDATE     PREVSTAT   CURRSTAT
           5900          5 22-JUN-12          0          1Regards.
    Al
    Edited by: Alberto Faenza on Dec 18, 2012 5:23 PM
    Changed again!! Previous logic was wrong

  • The last row count

    how can i make it when i after insert the data in a table ,it let me know the new total row number or the last row number.
    example.
    -now got 12 row datas
    -after i insert a new entry
    -it tell me now is row 13
    thanks

    Re: the last row count
    jesperdj Registered: Jun 10, 2003 1:00 AM      Nov 10, 2005 2:05 AM
    Let's get this straight first: You are talking about inserting a row into a database and counting the number of rows in a database table, right?
    Or are you talking about a table in a GUI?
    inserting row into a database is not a problem..and then..where after i insert the data into the database..i will retrieve the whole database and display it in my TAble in GUI...my problem now is..how i make it to highlight the new insert data in my table?or other way to say,how i highlight my newly insert datarow in my table?

  • How do I store the values in the @D array in the below mentioned VI? Only the last row in the Array is populated with values from the image.

    Hello Guys,
    I am trying to build a sinogram from 180 projection images and I am not able to store the summed values into the array as it is moving the values and then populating all the rows except for the last with ZERO.
    Thanks in advance.
    Attachments:
    sinogram.vi ‏53 KB

    Your loop runs only three times, so all you can possibly populate is 3 rows.
    Typically, you would initialize a shift register with the initialized array, then use replace array subset, feeding the modified array back into the shift register. However, in this case you could just autoindex the 1D array at the output tunnel to build the resulting 2D array.
    Sorry, I am not familiar with sinograms. Do you have a link describing the algorithm?
    LabVIEW Champion . Do more with less code and in less time .

  • Cant get the last row in jtable

    Hello all.
    I am trying to get the last row from the table but get "" from it.
    my table has 6 rows and i can get all rows right but the last line I have a problem.
            //creating the table
        for (i=0;i<this.rows;i++)
         model.insertRow(i,new Object[]{"input Y1:",""});
                for ( i=i;i<this.Amount+this.rows;i++)
         model.insertRow(i,new Object[]{"input Amount:",""});
    //end of creatingthis code creats the table that i need and its works right.
    for(i=0;i<rows;i++){
                  fObj.fullData[i] = Double.valueOf(GetData(table, 1, i).toString()).doubleValue();
            int j=0;
            String s=GetData(table, 1, 4).toString();
            //the problem line
            String s1=GetData(table, 1, 5).toString();
        public Object GetData(JTable table, int col_index, int row_index){
        return table.getModel().getValueAt(row_index, col_index);
      }this line i get ""
    String s1=GetData(table, 1, 5).toString();
    Edited by: vitaly87 on 00:41 08/04/2011

    vitaly87 wrote:
    Hello all.
    I am trying to get the last row from the table but get "" from it.
    my table has 6 rows and i can get all rows right but the last line I have a problem.
    this line i get ""
    String s1=GetData(table, 1, 5).toString();Looks right to me, given that your insert ismodel.insertRow(i,new Object[]{"input Amount:",""});(Hint: indexes start at *0* ).
    If it hadn't found the row, I expect you would have got an Exception
    Winston

  • Need to fetch the last record/row from a table

    Hi,
    I have a requirement like fetching the closing balance of the last record of the table and inserting the same into the opening balance of the immediatetly created next record.
    In simple words, I need to fetch a value from the last row of the record.
    For example, I use the below query,
    select rownum, empno, ename from emp
    where rownum = (select count(rownum) from emp);
    But, the above query does not return any of the record.
    Hence, need help on this.
    Regards,
    Shivakumar A
    Edited by: shiva on Mar 27, 2011 10:14 PM

    Rows in a table are inherently unordered. In order to introduce the concept of "first" and "last", you would need to specify how to order the rows which would require that there was one or more columns in the table that you could order by in order to determine the "last" record.
    In your closing balance example, if we assume that there is something like a BALANCE_DATE column,
    SELECT account_number, balance_amount, balance_date
      FROM (
        SELECT account_number,
               balance_amount,
               balance_date,
               rank() over (partition by account_number order by balance_date desc) rnk
          FROM table_of_balances )
    WHERE rnk = 1Justin

  • If I add a row to my spreadsheet, how do I get the footer cell to show the last amount in the table automatically?

    Balance Forward
    $0.00
    Date
    Code
    Check Number
    Transaction/Description
    Deposit
    Withdrawl
    Ending Balance
    I am able to set up the Ending Balance to show the value of the cell right above it as long as I dont need anymore rows. If I add a row the value of the ending balance is stuck on the row or rows above the newly addd ones. All of my other formulas contiune on when a row is added, Is there a formula that can be added so that when a row is added the ending balance value moves to the last cell in the row?

    Cobb425 wrote:
    Thank you badunit for your responses and help. Jerrolds formula worked for me a little bit better for what I was looking to do. Thank you again for your help
    Whatever works best for you. Jerry's formula assumed your table might not be totally full, that there might be empty rows at the bottom.  Mine assumed there were no empty rows; it gave the value of the cell directly above it, as you asked. With Jerry's formula, be sure you enter your data in order by date or keep it sorted that way to ensure you get the correct "Ending Balance".  If your last row does not have the most recent date, the formula will return the balance from a different row.
    I don't see the advantage in Jerry's "Balance Forward" formula over the simpler one I provided.

  • How can I get only the last 2 rows?

    How can I narrow down a query to get only the last two rows in a table ?
    Thanks,
    Mohan

    Thanks a lot Ram for your suggestion but already I have a query which returns a set of rows, of which I would like to further filter and get the last two rows
    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Ramanuj Bangad ([email protected]):
    try out something like this if it helps.
    Example:
    select * from users
    where rownum <= (select count(*) from users)
    minus
    select * from users
    where rownum <= (select count(*) -2 from users )
    <HR></BLOCKQUOTE>
    null

  • Trying to get the last row from a resultset

    Hi,
    I'm trying to do a query to postgreSQL and have it return the last updated value, (last row).
    My prepared statement is returning the correct results, but i'm having a problem getting the latest value.
    I'm using a comboBox to drive a textfield, to load the last entered values in depending on which item in the comboBox is selected.
    I've tried a variety of things and most seem to return the first row, not showing the updated values.
    Or, if it does work, it takes to long to load, and i get an error.
    here is the working code;
    Object m = machCBX.getSelectedItem():
    try { PreparedStatment last = conn.prepareStatement("SELECT part, count FROM production WHERE machine = ?",
    ResultSet.TYPE_SCROLL_INSENSITIVE,  //tried both INSENSITIVE and SENSITIVE
    ResultSet.CONCUR_READ_ONLY);
    last.setString(1, String.valueOf(m));
    rs. = last.executeQuery();
    if(rs.isAfterLast) == false ) {
    rs.afterLast();
    while(rs.previous()) {
    String p = rs.getString("part");
    int c = rs.getInt("count");
    partJTX.setText(p);
    countJTX.setText(c);
    }this grabs values, but they are not the last entered values.
    Now if i try to use rs.last() it returns the value i'm looking for but takes to long, and i get:
    Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space I also know using ra.last() isn't the best way to go.
    I'm just wondering if there is another way other than getting into vectors and row count? or am i better off to go with the later?
    thanks
    -PD

    OK, you've got a major misunderstanding...
    The relational database model is built on the storage of sets - UNORDERED sets. In other words, when you hand a database a SELECT statement without an ORDER BY clause, the database is free to return the results in any order.
    Now it so happens that most databases will happen to return data retrieved by an unordered SELECT, at least for a while, in the same order that it was inserted, especially if no UPDATE or DELETE activity has occured, and no database maintenance has occured. However, eventually most tables have some operation that creates a "space" in the underlying storage, or causes a row to expand and have to be moved or extended, or something. Then the database will start returning unordered results in a different order. If you (or other people) never ever ever UPDATE or DELETE a table, then on some databases the data might well come out in insertion order for a very very long time; given human nature and the way projects tend to work, relying on that is a sucker's bet, IMHO.
    In other words, if you want the "most recent" something, you need to store a timestamp with your data. (With some databases, you might be able to take advantage of some non-standard feature to get "last updates" or "row change timestamps", but I know of no such for Postgres.
    While this won't solve your major problem, above, your issue with rs.last is probably occuring because Postgres by default will prefetch your entire ResultSet. Use Statement.setFetchSize() to change that (PreparedStatement inherits the method, of course).

  • How to identify the last instance of a dynamic table row

    Hi all,
    I am trying to figure out how to create an action for my form in Livecycle Designer ES2 that will affect the most recent instance of a dynamic table row. I have a table with a repeatable row where the user will enter information about a purchased part and I have buttons that allow the user to add and remove rows. I need to create an additional add row button that will add a new instance of the repeatable table row (this is not an issue) and will disable and change the background color of the first cell in the added row. The problem I am having is how to have an action that affects the last instance of a row.
    If anyone knows how to do this in Javascript I would appreciate some advice/help.

    Hi,
    I think this is beyond what an action will provide. You will a have to write some JavaScript directly.  When you call the addInstance method it returns the new row, so you can do something like;
    var row = Table1._Row1.addInstance();
    row.TextField1.border.fill.color.value = "255,0,0";
    row.TextField1.access = "protected";
    To find the last row and do the same thing you can do something like;
    var row = Table1.resolveNode("Row1[" + (Table1._Row1.count - 1) + "]");
    row.TextField1.border.fill.color.value = "255,0,0";
    row.TextField1.access = "protected";
    Regards
    Bruce

  • Getting the count of rows present in the oracle table

    Hi all,
    i want to get the total number of rows present in the sql table to the appmodule.
    After applying the some view criteria to the view object. if it try with getallrowsinrange it was giving count of rows present in the viewobject but i want total number of rows present in the sql table.
    How can i get that
    I am using jdev 11.1.1.5
    Thanks in advance

    I threw something together, quick and dirty, feel free to optimize.
    Assuming that you want the table count, I put the code into a EntityDefImpl subclass since this is what represents a table in the middle-tier.
    public class EmpDefImpl
          extends EntityDefImpl {
       * This is the default constructor (do not remove).
      public EmpDefImpl( ) {}
      //~ Methods ****************************************************************************
      public long getTableRowCount( DBTransaction transaction ) {
        String query = getQuery( );
        String countQuery = String.format( "SELECT COUNT(*) FROM (%s)", query );
        long count = 0;
        ViewObject vo = transaction.createViewObjectFromQueryStmt( countQuery );
        try {
          vo.executeQuery( );
          Row row = vo.first( );
          Number number = (Number)row.getAttribute( 0 );
          count = number.longValue( );
        } finally {
          vo.remove( );
        return count;
    }Depending on your type map, you might not get a oracle.jbo.domain.Number, but something else, so the cast might need correction.
    Usage example:
    public class EmpEditViewImpl extends ViewObjectImpl {
      public EmpEditViewImpl() {
      protected void executeQueryForCollection( Object object, Object[] object2, int i ) {
        super.executeQueryForCollection( object, object2, i );
        EmpDefImpl def = ( EmpDefImpl )getEntityDef( 0 );
        long tableRowCount = def.getTableRowCount( getDBTransaction() ) );
        // Do something with it
    }As you can see, the code is pretty generic. You might also be able to put this into an ADF extension base class.
    Sascha
    Edited by: Sascha Herrmann on Jun 7, 2012 2:39 PM

  • Import the last row written in a database

    Hello!
    I want know what i have to do to import the last row written in a table from a MySQL database.
    I'm using labview database toolkit.
    Thank you in advanced.
    Larson

    Hi Larson
    I total agree that my first suggestion isn't what you want but I wanted to put the idea across that you can retrieve records from table in the order they were written using a simple SQL command.
    When dealing with databases I always design my queries using Design View in MS Access. Once you have the query designed you can then convert the query you have just designed in Design View to SQL by changing to SQL View.
    So this example SQL statement would return the MAX Timestamp.
    SELECT Max(tblTimeStampTest.Timestamp) AS MaxOfTimestamp
    FROM tblTimeStampTest;
    Say the timestamp was 12/14/2005 8:18:33
    SELECT tblTimeStampTest.*
    FROM tblTimeStampTest
    WHERE (((tblTimeStampTest.Timestamp)=#12/14/2005 8:18:33#));
    This will return your last record as long at the timestamps are unique and records are written in timestamp order. You can then use Build Text Express VI or Format into String to build your SQL strings that have variables like the timestamp above.
    I have no experience with mySQL but I would assume MS Access could interface to it somehow either through ODBC or MS Access Projects so that can build you SQL commands.
    David

Maybe you are looking for

  • Follow Up on Resolution

    So kind of a follow up on this. If a project is going to be viewed primarly on a computer screen via either a DVD or possibly as an MP4 file or maybe even a WMV file, should the codec be the same for the best viewing result. In other words when I'm e

  • Error in basic web dynpro application

    i went through the following link https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/cb243c45-0801-0010-eb9c-88669007f130 and it has a tutorial to creating a web dynpro application i have done all the steps,but when the explorer

  • How do I save my iTune songs to another hard drive?

    I have purchased 418 iTune songs over the years and want to save them to another hard drive in case my computer crashes. I have tried to do that with my HP Simple Save external hard drive and the songs show up as gibberish. I see lots of blogs on the

  • PKGBUILD - PixelLight

    I was interested in trying out the PixelLight 3D engine, but found that it was not available in the repos or AUR, so I decided to try and create a PKGBUILD for it. As this is my first PKGBUILD, It's not exactly ready for prime time. There are issues

  • How can I force all photos to be stored only in low-res on my MacBook

    From reading the description on the Preferences in photos it says "Optimize Mac Storage - Store full resolution photos and videos in iCloud. Originals will also be stored on this Mac if you have enough storage space" The last sentence here is a big i