나는 지불을 계산할 수 있도록 하나의 배열에 합쳐야하는 정보가 3 세트 있습니다.f에 여러 배열 병합 #
데이터 세트 1 FROMDATE, TODATE
2013년 4월 10일,
2013년 4월 16일 (I 현재 사용하여 이러한 두 날짜들 사이의 날짜들의 2 차원 배열을 생성하고있어
let CalculatedLOS : int = ToDate.Value.Subtract(FromDate.Value).Days
let internalArray = Array2D.init CalculatedDays, 3, (fun x -> (AdmissionDateValue.AddDays(x),0,0))
데이터 집합)이 다음이하는 것은으로 구분됩니다 코드, 날짜 | 코드, 날짜
87789,2013-04-10 | 35444,2013-04-14
데이터 세트 3 :이이 날짜, differentcode로 분리 | 날짜, differentcode
2013년 4월 10일, SE | 2013년 4월 15일, EA
내가해야 할 것은 FROMDATE에서 생성 된 배열의 해당 인덱스 날짜를 일치 어떻게 든ToDate를 수행하고 두 번째 및 세 번째 위치를 해당 날짜와 일치하는 코드 및 다른 코드로 업데이트합니다.
그래서 나는 희망이
[2013년 4월 10일처럼 보였다 데이터 집합으로 끝날 것이다 87789; SE]
[2013-04-11 ;;]
[2013-04-12 ;;]
[2013-04-13 ;;]
[2013-04-14; 87789;]
[2013-04-15 ;; EA]
[2013-04-16 ;;]
그런 다음이 배열을 반복하여 일부 값을 조회하고 매일을 기준으로 지불금을 지정합니다.
2 차원 어레이를 업데이트하기 위해 루프 내에서 Array.find를 시도했지만 그 코드를 수행하는 방법을 모르겠다. (아래 코드는 이 아니지만이 작동 함) 또는 이것이 최선의 방법 일지라도.
let differentCodeArray = MyLongString.Value.Split('|')
for i in 0 .. bedStaysArray.Length - 1 do
Array.find(fun elem -> bedStaysArray.[0].ToString() elem) internalArray
더 좋은 방법이 있다면 배열에서 멀리 떨어져있게되어 기쁩니다.
이 올바른 인덱스를 만드는 게임이다. 당신이 그들을 만들면 중간 구조를 제거 할 수 있습니다 : 한 부분은 조회를 만들고, 다른 부분은 그것을 사용하는 '비즈니스 논리'를가집니다. – nicolas
일단 데이터를 파싱하면 인덱스를 처리 할 수있는 Deedle 시계열로 데이터를로드 할 수 있어야합니다. http://bluemountaincapital.github.io/Deedle/timeseries.html –