2016-09-05 11 views
1

私はSpotfireの初心者です。計算された列ごとに15分ごとの平均計算に関する問題があります。サンプルの表は、このようなことができます:sporfire:15分ごとの平均を計算する

id time-stamp    value 
1 7/1/2016 12:01:01 AM 1.1 
2 7/1/2016 12:05:03 AM 0.9 
3 7/1/2016 12:08:04 AM 1.2 
4 7/1/2016 12:09:06 AM 0.8 
5 7/1/2016 12:12:09 AM 0.4 
6 7/1/2016 12:14:10 AM 0.6 
7 7/1/2016 12:15:12 AM 1.3 
8 7/1/2016 12:18:04 AM 1.4 
9 7/1/2016 12:21:06 AM 0.7 
10 7/1/2016 12:24:09 AM 1.7 
11 7/1/2016 12:31:10 AM 0.5 
12 7/1/2016 12:39:12 AM 1.3 

私は各15分の平均値を計算したい、テーブルはすでに時間によって順序付けされます。
私がしたいファイナルテーブルである:

time-stamp    Avg 
7/1/2016 12:00:00 AM 0.83333 
7/1/2016 12:15:00 AM 1.275 
7/1/2016 12:30:00 AM 0.9 

例えば、最初の番号0.83333 =(1.1 + 0.9 + 1.2 + 0.8 + 0.4 + 0.6)/ 6

のはIと思わ新しいテーブルの計算の式を識別するが、平均を計算する方法。 15分ごとに誰かが私を助けることができましたか?あなたの助けのための

感謝:)

注:ksp585 @コードのおかげで、この後、私はまだそれのために小さな問題を抱えているが、クロステーブルがちょうど午後9時45分までの時間スタンプを示し

ZAWD @

enter image description here

+0

ストア日付/時刻は、適切なデータを使用してタイプ。その後、私たちに戻ります。 – Strawberry

+0

@StrawberryあなたはそれがDATETIMEとして保存されていないと思いますか? – scsimon

+0

こんにちは、すべて、タイムスタンプの列は、DateTime形式として保存されますが、私は再びそれをチェックしますtmr :) – ZAWD

答えて

2

- 私は時間のための4分の4にグループのタイムスタンプ、計算列を作成しました。下記のクロステーブルのこの列を使用して、平均時間を計算します。

タイムスタンプグループ化式(TIME_INTERVAL):

case 
when (DatePart("minute",[time-stamp])>0) and (DatePart("minute",[time-stamp])<15) then Date([time-stamp]) & " " & Hour([time-stamp]) & ":00" & ":00" 
when (DatePart("minute",[time-stamp])=15) and (DatePart("second",[time-stamp])>0) then Date([time-stamp]) & " " & Hour([time-stamp]) & ":15" & ":00" 
when (DatePart("minute",[time-stamp])>15) and (DatePart("minute",[time-stamp])<30) then Date([time-stamp]) & " " & Hour([time-stamp]) & ":15" & ":00" 
when (DatePart("minute",[time-stamp])=30) and (DatePart("second",[time-stamp])>0) then Date([time-stamp]) & " " & Hour([time-stamp]) & ":30" & ":00" 
when (DatePart("minute",[time-stamp])>30) and (DatePart("minute",[time-stamp])<45) then Date([time-stamp]) & " " & Hour([time-stamp]) & ":30" & ":00" 
when (DatePart("minute",[time-stamp])=45) and (DatePart("second",[time-stamp])>0) then Date([time-stamp]) & " " & Hour([time-stamp]) & ":45" & ":00" 
when (DatePart("minute",[time-stamp])>45) and (DatePart("minute",[time-stamp])<=60) then Date([time-stamp]) & " " & Hour([time-stamp]) & ":45" & ":00" 
when (DatePart("minute",[time-stamp])=0) and (DatePart("second",[time-stamp])>0) then Date([time-stamp]) & " " & Hour([time-stamp]) & ":00" & ":00" 
else null end 

ファイナル表:異なる日時形式でテスト

enter image description here

enter image description here

+0

私のデータセットのタイムスタンプは00:00:00から23:59:59までですあなたのコードに基づいて計算された列は同じですが、私はクロステーブルを作成するとき、それは午後9時45分00秒までの時間を示しています。私はそれが奇妙だと思う、多分あなたのためのいくつかのアイデアがありますか? – ZAWD

+0

私は異なる日付形式のソリューションを試しましたが、それらのすべてが私に同じ結果をもたらしました。私のソリューションに添付されたスクリーンショット。また、あなたのdatatime形式は少し奇妙です。カラムのプロパティから「dd-MM-yyyy HH:mm:ss tt」を使用してカスタムフォーマットをして、それが機能するかどうか確認してください。 – ksp585

+0

はい、それはあなたの助けのためにたくさんの、ありがとう! – ZAWD