2017-11-09 8 views
0

私はユーザーとタイムスタンプのリストを持っていると言います。タイムスタンプが最初の30分または2番目の30分に収まるときのPowerpivot DAXのタイムカウント

私は午後5時から8 30AM

結果の間の各時間以内に、各ユーザのために、彼らはタイムスタンプを持っている30分刻みの数をカウントしたい

User Time 
Tim 6:15PM 
Tim 6:17PM 
Tim 6:44PM 
Tim 3:33PM 
Bort 8:00PM 
Bort 9:04PM 
Bort 9:05PM 

Tim 2 
Bort 2 

注意Timが6時15分と6時17分に時間を持つ場合、これは午後6時の最初の30分に収まるため、1とカウントされます。午後6時44分に時間があります。また、1と数えます。合計で2

Bortには8PMの前半の時間がありますが、後半にはありません。だから、彼は1になる。彼はその後、午後9時に2回いる。全体的に彼は2を持っています。

これはPowerpivot/daxで行うには強すぎますか?

答えて

0

私はあなたが後でそれを参照する方法であるので、最後の2つのBort行のPMを意味すると仮定しています。

私は、次の手順を実行して、これを達成することができました:

  1. は計算列HalfHour = ROUNDUP(48*TimeStamps[Time],0)を作成します。
  2. メジャーCountTimeStampsを以下のように作成します。
  3. 行列には、Userの行とCountTimeStampsの値が入ります。

CountTimeStamps = 
    CALCULATE(
     DISTINCTCOUNT(TimeStamps[HalfHour]), 
      TimeStamps[Time] <= TIMEVALUE("8:30AM") || 
      TimeStamps[Time] >= TIMEVALUE("5PM") 
      ) 
+0

あなたが気にしない場合、私はフォローの質問がある:私も 'date'列を持っていた、と私はそれぞれの日付の半分の時間をカウントするために何を望むかあれば(とは対照的に、ソリューションは、同じ日に起こったかのように毎回処理する)?うまくいけば、これはソリューションを完全に変更するものではありません。 – machump

+0

@machumpフィルタコンテキストを提供するためにビジュアルの行または列に日付がある場合、これを変更する必要はないと思います。そうでなければ、日付と半分を連結する列を作成する時間。 –

関連する問題