重複する時間帯の合計時間を知りたい

ホーム フォーラム Power BI Power BI Desktop 重複する時間帯の合計時間を知りたい

タグ: 

  • このトピックには4件の返信、2人の参加者があり、最後にHazuoにより2年、 1ヶ月前に更新されました。
5件の投稿を表示中 - 1 - 5件目 (全5件中)
  • 投稿者
    投稿
  • #6164
    Hazuo
    参加者
    Up
    0
    Down
    ::

    はじめまして。Power BI Desktop歴2か月のHazuoと申します。
    少し条件がややこしいのですが、以下の件について皆様のお知恵をお借りできないでしょうか。
    よろしくお願い致します。

    添付のとある学習塾の自習室の利用データを例にします。

    【前提条件】
    ・自習室はA・B・Cの3つがあり、事前予約制です。
    ・予約が既に埋まっている時間帯には予約を入れることはできません。
    ・予約した人は受付でチェックインをして自習室を使用し、使用後はまた受付でチェックアウトをします。
    ・予約の終了時刻より早くチェックアウトした場合、空いた時間に別の方が予約を入れることができます。

    【実現したいこと】
    予約をキャンセルまたは予約終了時刻よりも早めにチェックアウトしたことで再度生まれた予約可能時間(再予約可時間とする)に、
    何時間使用されたかを知りたい。
    添付のサンプルの場合、自習室A→2時間、自習室B→1時間、自習室C→3時間ということになります。

    以下の考え方で実現できないかと考えましたが、Power BI Desktopで実現する方法が分からず先に進めなくなってしまいました。
    「ステータスが使用済の行のチェックイン時刻を、
    同じ日・同じ学習室を使用した行の予約終了時間(キャンセルの場合)かチェックアウト時刻(使用済の場合)から引いて、
    出た値がマイナスなら0として、出た値を合計する」

    ここまでお読みいただきありがとうございます。
    条件が少し複雑なのですが、是非実現したい内容ですので、皆様何卒よろしくお願い致します。

    #6167
    Ume
    参加者
    Up
    0
    Down
    ::

    Hazuoさん、初めまして。

    サンプル貼り付けて頂いてイメージがしやすいです。ありがとうございます。
    自分ならPowerQueryエディターで、再予約可能時間だけのテーブル(クエリ)と実際に使用されたテーブル(クエリ)を用意し
    あとはレポート側でメジャーでやるかと思いますが、
    このようなことはすでにやられてますでしょうか?

    #6168
    Hazuo
    参加者
    Up
    0
    Down
    ::

    Umeさん

    返信を頂きありがとうございます。
    再予約可能時間だけのテーブル(クエリ)だけのテーブルは作成していましたが、そこから先には進んでいませんでした。
    確かに仰られたやり方は、実現したいことに近づけるかと思いました。

    ただ、現在メジャーの作成にも悪戦苦闘しております。
    よろしければどのようなメジャーを作成すれば良いかご助言いただけないでしょうか?

    実際に使用されたテーブル(クエリ)にて、以下の考えのメジャーを作成するイメージかなと思っています。
     再予約可能時間だけのテーブルの「再予約可能時間帯」と 実際に使用されたテーブルの「使用した時間帯」の重複時間数の合計
      ただし
       条件1:同じ自習室の行と計算を行う
       条件2:計算対象が複数行ある場合、重複時間数が最も大きいもので計算
          (例えば12行目のCの会議室の使用時間の場合、10行目と11行目どちらとの重複時間を出せばよいか?となるので、この条件を入れる)

    Umeさんに例として示していただいたテーブル二つを追加したエクセルファイルを念のため添付します。
    特に上記のイメージの中で、条件の部分はどうメジャーを作成すべきか見当も付いておらず、もしよろしければご知見を頂けますと幸いです。

    どうぞよろしくお願い致します。

    #6170
    Ume
    参加者
    Up
    1
    Down
    ::

    Hazuoさん

    実現方法は人それぞれ、様々あると思いますが、
    PowerQueryの方が楽そうだったのでこんな感じで作ってみました。
    再予約可能時間テーブルと使用済みテーブルをマージして画像のクエリにしています。
    ポイントは自習室と日付で2つのテーブルに内部結合のリレーションを張っているところかと思います。

    書かれていた条件2は反映させていませんが、業務要件に併せて2つのテーブルに仕掛けをする感じはどうでしょうか?
    ご参考になれば幸いです。

    #6174
    Hazuo
    参加者
    Up
    1
    Down
    ::

    Umeさん

    返信いただきありがとうございました!
    お送りいただいた方法、大変参考になりました。

    まずはUmeさんと同じように対象時間まで算出し、その後Powerクエリにて
    以下の処理で先日お送りした条件2を満たすことで目指していた値を得ることができました。
     1.自習室名とチェックイン日時をマージした列を追加 (例:A 2022/3/1 10:00)
     2.1でマージした列を選択し、変換→グループ化
     3.カスタム列を追加でTable.Max関数を使い、2で作成したグループの最大値だけの行を残す

    改めまして、解決に繋がる方法を教えてくださりありがとうございました!
    一人だけではなかなか今回の問題を解決することができませんでした。

    まだまだ本ツールは不慣れな点が多いので、また困った際には是非お力を貸してください!

5件の投稿を表示中 - 1 - 5件目 (全5件中)
  • このトピックに返信するにはログインが必要です。
ツールバーへスキップ