I have a large data set that contains multiple tests for the same pieces of equipment over many years. How can I isolate the latest test results only for the various pieces of equipment? There is a date stamp and equipment id and test results.
For example, for motor X, what are the last or current oil reports and ignore previous old test.

2 件のコメント

KL
KL 2017 年 11 月 22 日
how do you store your data?
Faustino Quintanilla
Faustino Quintanilla 2017 年 11 月 22 日
I have the information in a table. The table is updated daily with new test information.

サインインしてコメントする。

 採用された回答

KL
KL 2017 年 11 月 22 日

0 投票

use sortrows,
sortedTable = sortrows(yourTable,'timestampColumnName')

6 件のコメント

Faustino Quintanilla
Faustino Quintanilla 2017 年 11 月 22 日
I was able to sorted them, but how do I isolate the last test for various equipment...
  • Position_id Test Result Test Date
  • -9999989 1 '2016-12-15 00:00:00.0000000'
  • -9999989 1 '2014-12-08 00:00:00.0000000'
  • -9999987 1 '2017-04-04 00:00:00.0000000'
  • -9999987 1 '2016-11-16 00:00:00.0000000'Just need the last entry of 2016 or 2017 for the porsition_id.
KL
KL 2017 年 11 月 22 日
T1 = sortrows(T(T.Position_id==x,:),'Time');
then T1(end) should have the latest value for the position_id x
Faustino Quintanilla
Faustino Quintanilla 2017 年 11 月 27 日
I tried the T1= sortrows(T(T.Position_id==x,:),'Time');... However, I t does not return the last entry.... DO I need to include a @max to single out? (not sure)
KL
KL 2017 年 11 月 27 日
The latest entry should be the last row of T1.
T1(end,:)
Faustino Quintanilla
Faustino Quintanilla 2017 年 11 月 27 日
Here is the code used. Where do I add the T1(end,:)?
for x=1:height(sortedTable)
T1 = sortrows(sortedTable(sortedTable.position_id==x,:),'sampledt_MAIN');
end
KL
KL 2017 年 11 月 27 日
Alright, you're extracting it for all equipments, so
T_latest = table;
for x=1:height(sortedTable)
T1 = sortrows(sortedTable(sortedTable.position_id==x,:),'sampledt_MAIN');
T_latest = [T_latest; T1(end,:)];
end
now, T_latest should have the last entries corresponding to all x.

サインインしてコメントする。

その他の回答 (1 件)

Faustino Quintanilla
Faustino Quintanilla 2017 年 11 月 27 日

0 投票

I get an error... "Subscript indices must either be real positive integers or logicals." The intent is remove duplicate rows that have a older date stamp.. How to I correct the error?

カテゴリ

ヘルプ センター および File ExchangeLanguage Fundamentals についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by