0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【PowerBI】秒数データから時間、分、秒を取り出す【DAX関数】

Posted at

TRUNC関数で、時間、分数の整数部分を取り出す

PowerBIでは(PowerBIだけでなく一般にも?)時間の量的データは「HH:MM:dd」の形式では表せないようです。
例えば、0:00:00(0時) から1:23:45 (1時間23分45秒)の時間の量的データは、開始から終了までの【時間】ではなく、1時間23分45秒という時の中のある一点【時刻】として扱われてしまいます。

image.png
そのため、カテゴリAは3794秒、カテゴリBは5466秒というように、秒数で格納されている数量データで棒グラフや円グラフを表現することはできますが、いくら棒グラフで数量の比較ができても、秒数の時間的数量を人間の目から想像するのは難しいです。

ヒント表示やテーブルの列で、人間が時間の量的データを感じやすい「HH:MM:dd」の形式に変換した表示をするため Major(Convert) という名前でメジャーを作ってみました。

Major(Convert) = 
VAR i = 
    CALCULATE(
        SUM('TableToConvert'[Seconds]),
        'TableToConvert'[Category]==SELECTEDVALUE('TableToConvert'[Category])
    )
    
VAR HOUR_VALUE = TRUNC(i / 3600) -- 時間単位の部分を取得

VAR MINUTES_VALUE = TRUNC((i - HOUR_VALUE * 3600 ) / 60)-- 秒単位の部分を取得

VAR SECOND =  i - (HOUR_VALUE * 3600 ) - (MINUTES_VALUE * 60)

Return HOUR_VALUE&":"&FORMAT(MINUTES_VALUE, "00")&":"&FORMAT(SECOND, "00")

※分や秒は一桁の数値が取れる場合、0パディングを足して2桁で表現したいので、FORMAT([数値], "00")で調整しています。
image.png

以上、どこで使うか分かりませんが、秒数を「HH:MM:dd」に変換する式をまとめてみました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?