델타 계산나는 지난 3년 동안 다양한 수도 계량기를 시간별로 관찰한 데이터 세트를 가지고 있습니다.
문제는 관찰 결과에 물 사용량이 아닌 계량기 받침대가 표시된다는 것입니다.
각 수량계에 대해 매 시간마다 델타 변화를 계산/표시하고 싶습니다. 어떻게 접근하나요?
이 데이터 세트를 사용하여 제가 수행하고 싶은 분석 중 일부는 계량기의 한 지점에서 부정적인 사용량이 있는지(물이 잘못된 방향으로 흐르고 있음을 나타냄) 계량기가 누수를 나타내는 델타가 커야 하는지 확인하는 것입니다.
내 직장에서는 데이터 품질에 대한 작업을 시작하고 있으므로 위의 사항 외에도 타임스탬프가 일관된지 또는 타임스탬프에 변경이 있는지(특정 미터에 대한 관찰이 같은 시간에 돌아오지 않는 경우)와 같은 사항도 살펴보고 싶습니다. -매 시간마다 번호).
제가 탐구하고 싶은 분석 도구 중 하나는 프로세스 품질입니다.
데이터 탐색 및 시각화품질 및 프로세스 엔지니어링답: 델타 계산감사해요. 내일 시도해 볼 수 있어요.
하지만 이것이 각각의 고유한 미터를 구별할 수 있을까요?
(지금은 22개인데 나중에는 수천개로 확장됩니다) .
행이 있습니다: MeterNumber; 날짜 시간; 카운터값;
측정 소프트웨어에서 내보낸 데이터는 기본적으로 날짜/시간(2023-09-17 13:09)순으로 정렬됩니다.
답: 델타 계산두려워하지 마세요.
if(:meter != lag(:meter,1)
이를 확인하겠지만 이에 따라 데이터를 정렬해야 합니다.
왼쪽의 미터를 사용하여 미터 및 시간 열을 선택한 후 다음을 수행합니다.

답: 델타 계산작업을 용이하게 하려면 다음을 수행하십시오.
이건 당연히 포함되어야 할 사건이다. 정규화 GUI 

답: 델타 계산입력 파일 형식이 무엇인지는 모르지만 Excel 파일이거나 .csv 파일인 경우 DateTime 값을 JMP 날짜/시간 값으로 JMP에서 읽어야 합니다.그렇지 않은 경우 시간을 들여 변환해야 합니다.
다음은 사용량 데이터 계산에 도움이 될 수 있는 간단한 예입니다.
Names Default To Here( 1 );
dt = Current Data Table();
// Sort the data if not already sorted
dt << sort( by( :MeterNumber, :DateTime ), Replace table( 1 ) );
// Create the new Usage column
dt << New Column( "Usage",
formula(
//As Constant( Usage = 0 );
If( :MeterNumber != Lag( :MeterNumber ),
usage = 0,
:Usage = :CounterValue - Lag( :CounterValue )
);
)
);
답: 델타 계산당신은 또한 사용할 수 있습니다 열 이동 평균() 이전 행에서 값을 가져옵니다(그룹 열로 작업할 때 더 쉽게 만들 수 있음).
Names Default To Here(1);
// sample data
dt = New Table("Untitled",
Add Rows(6),
Compress File When Saved(1),
New Column("Meter", Character, "Nominal", Set Values({"A", "A", "A", "B", "B", "B"})),
New Column("Time", Numeric, "Continuous", Format("Best", 12), Set Values([1, 2, 3, 1, 2, 3])),
New Column("Value", Numeric, "Continuous", Format("Best", 12), Set Values([1, 0, 2, 0, 1, 2]))
);
// Data should be sorted by time
dt << New Column("D", Numeric, Continuous, Formula(
:Value - (Col Moving Average(:Value, 1, 1, 0, Meter) * 2 - :Value)
// 2 * :Value - (Col Moving Average(:Value, 1, 1, 0, Meter) * 2
));답: 델타 계산미터와 시간별로 데이터를 정렬한 다음 지연 기능 ( 지연(:열, 1) = 이전 행의 값 ) 소비량을 계산하려면 다음을 수행하십시오.
new table("test",add rows(100),
new column ("meter", Nominal, Set Each value (Step(row(),10*(0::11)+1,(0::11)))),
new column ("time",Format( "m/d/y h:m"), set each value(Date DMY( 17, 9, 2023 )+mod(row()-1,10)*3600)),
new column ("reading"));
new column("consumption", set each value(if(row()==1 |:meter != lag(:meter,1),0,random uniform(0,10))));
for each row( if(row()==1 |meter != lag(:meter,1), :reading =random uniform(0,10000),: reading = lag(:reading,1)+ :consumption));
new column("consumption-calc",Formula( if(row()==1 |:meter != lag(:meter,1),0, :reading - lag(:reading,1))));
답: 델타 계산시원한!
훨씬 더 견고하고 컴팩트합니다 
답: 델타 계산좋은 조언. 내일은 날짜/시간 형식으로 시간을 보내며 하루를 시작하겠습니다.
귀하의 예와 이전 예에 대한 구문을 얻는 것이 약간 어렵습니다.
JMP에서 R /dplyr 라이브러리를 사용할 수 있기를 바랍니다. 뭔가 효과가 있는 글을 쓸 수 있을 것 같아답: 델타 계산트릭을 수행해야 하는 R 코드가 있습니다.
라이브러리(dplyr)
your_data <- your_data %>%
배열(미터 이름, 날짜/시간) %>%
group_by(미터 이름) %>%
mutate(DeltaMeterValue = MeterValue - lag(MeterValue, 기본값 = first(MeterValue))) %>%
그룹 해제()
답: 델타 계산JMP와 함께 R을 사용할 수 있지만 해당 솔루션은 JMP를 사용하는 솔루션과 상당히 유사해 보입니다. 지연() JMP에서(다음을 사용할 수도 있습니다. 차이() ). Col Moving Average를 사용한 내 솔루션은 이해하기가 더 어렵지만 Col Moving Average를 사용하여 이전 행의 값을 얻는 것입니다.
스크립팅 가이드 > JMP 확장 > R을 사용한 작업
JSL 구문 참조 > JSL 함수, 연산자 및 메시지 > R 통합 함수
답: 델타 계산여기에 있는 솔루션 중 하나를 사용하려고 하면 첫 번째 날짜(=0)만 얻고 나머지는 얻지 못합니다. 여기에 있는지 확인하기 위해 다른 방법으로 정렬하려고 했습니다. 뭔가 잘못하고 있는 것입니다.

답: 델타 계산열 이름이 잘못된 것 같습니다. 먼저 수식에서 이름을 수정하세요.
답: 델타 계산아, 맞춤법 오류가 보이네요.
답: 델타 계산그룹 내에서 델타를 계산하는 기능이 내장되면 좋을 것입니다.
작동하게 했지만 스크립팅 언어를 이해하는 데 어려움이 있었고 처음부터 공식을 끌어서 놓기를 시도했지만 여기에서 제공한 스크립트에 있는 것처럼 모든 부분을 올바르게 배치할 수 없습니다.
답: 델타 계산col 이동평균 함수에 대한 설명이 있나요?
지원 페이지를 보면 설명에 얼마나 많은 값이 필요한지에 대한 언급이 없습니다.
열 이동 평균
현재 행을 기준으로 지정된 간격 동안의 이동 평균을 반환합니다. 누락된 값은 무시됩니다.
답: 델타 계산이 작업을 대화식으로 수행하는 방법이 있습니다. 그룹화 열을 마우스 오른쪽 버튼으로 클릭하고 새 수식에 대한 그룹화 기준 열로 만듭니다(데이터는 그룹별로 정렬되어야 하며 대부분 시간 또는 이와 유사한 기준으로 정렬되어야 함).

다음으로 계산/값 열을 마우스 오른쪽 버튼으로 클릭하고 행->차이로 이동합니다.

이를 통해 다음과 같은 공식을 얻을 수 있습니다.

답: 델타 계산내 게시물 중 하나에서 문서에 대한 링크를 제공했습니다. JSL 구문 참조 > JSL 함수, 연산자 및 메시지 > 통계 함수 - 열 이동 평균 . 제 생각에는 Col Moving Average에 대한 문서가 그다지 명확하지 않으며 일반적으로 이것이 제대로 작동하도록 하려면(그리고 어떻게 작동하는지 기억하려면) 몇 가지 작은 테스트를 수행해야 합니다.

일부 문서(때때로 다름...)를 찾을 수 있는 다른 곳은 JMP 도움말 메뉴의 스크립팅 색인입니다.

답: 델타 계산새로운 버전을 업로드하려고 합니다. 정규화 GUI .
새 버전에는 이전 행과의 차이를 계산하는 옵션이 있습니다. @jthi 여기에서 제공됩니다.
Jarmo의 코드(Col Moving Average를 통해)는 마우스 오른쪽 버튼을 클릭하여 새 수식 열 메뉴를 통해 얻는 것보다 훨씬 낫습니다. 
업데이트 후에는 이런 모습이 됩니다.
신규: "N-1"
