2
DateTime
の値がDatabase
に登録されている場合、Part
のリストがあります。LINQを使用して時差平均を示します
1時間当たりのシフトと1泊のシフトで登録されたユーザーの数を表示したいとします。私はそれらの2つの値
@{
var shiftChangeTime = new TimeSpan(16, 0, 0);
<table>
<tr>
@*This is my general average*@
<td>Number of part/hour</td>
@{
var avg = Model.GroupBy(x => ((DateTime)x.ScanTime).TimeOfDay.Hours)
.Average(x => x.Count());
<td>@(Math.Round(avg, 2))</td>
}
</tr>
<tr>
@*This is my day average*@
<td>Number of part/hour</td>
@{
var avgDay = Model.GroupBy(x => ((DateTime)x.ScanTime).TimeOfDay < shiftChangeTime, y => ((DateTime)y.ScanTime).TimeOfDay.Hours)
.Average(x => x.Count());
<td>@(Math.Round(avgDay, 2))</td>
}
</tr>
<tr>
@*This is my night average*@
<td>Number of part/hour for night shift</td>
@{
var avgNight = Model.GroupBy(x => ((DateTime)x.ScanTime).TimeOfDay > shiftChangeTime, y => ((DateTime)y.ScanTime).TimeOfDay.Hours)
.Average(x => x.Count());
<td>@(Math.Round(avgNight, 2))</td>
}
</tr>
</table>
}
に私の一般的な平均の私のロジックをベースにしてみました
私は現在、時間単位での昼/夜のシフトを分離するロジックで立ち往生しています。
今のところ、私の総数は2つに分割されています。
どのように進めていいですか?
「結果」には2つの値が含まれている必要があります.1つは日シフト平均であり、もう1つは夜間平均です。私は 'result [" day "]/result [" night "]'を実行してそれらにアクセスします。 – Chax
@Chax - あなたは 'result [0]'のようにアクセスする必要があります。あなたが書いた方法でアクセスしたいなら、 'ToList'の代わりに' ToDictionary'を実行してください –
素晴らしい!ありがとう。私はこれをすぐに試して、これが動作するかどうかを確認します – Chax