Skip to main content

以下の対応方法が分からず、困っております。

サンプルデータをつけておりますので、対応方法をご存じの方が入らっしゃいましたら、

ご教授お願いいたします。

 

【背景】

現在、Beaconにて「オフィス内で誰が何処にいた」という内容を分析予定です。

おおよその分単位と個人名でログ抽出が出来るのですが、Beaconの感度が完ぺきではないため、誤った場所に居たと判別してしまうログが存在します。

その為、「個人/15分単位でBeacon名(部屋名)を集計し、1番レコード数が多かった部屋にその人が居たと判別する」という条件で

データを抽出(個人/15分単位で1レコードに圧縮)したい状況です。

 

【やりたいこと】

①検出時間を15分単位でサマライズ

②次に、個人/15分単位で以下ランク付けを実施して、ランクが1位になるデータのみ残すフィルタを作成する。(第2条件以降は第1条件の同率1位を絞り込む要素です)

第1条件:Beacon名のカウント数ランク1位を残す

第2条件:RSSIが一番小さいレコードのみ残す

第3条件:検出時間が最後のレコードを残す

 

③最後に、②で作成したフィルタでコンテキストフィルタなどを設定出来るようようにし、

 1分単位(元データのまま)と15分単位でそれぞれシート別に分けて使えるようにしたい。

 

【状況】

①は完了。

②の第1条件に表計算を使い、一番多かった部屋名にランクを付けることも出来ましたが、

第2条件のRSSIランクがうまく設定できない。というところで止まってます。

尚、第1条件の表計算を活用し、コンテキストフィルタを作成しようとしましたが、

設定出来ないため、表計算はコンテキストに利用出来ないのではないかという懸念があり、

懸念が正しければ、表計算以外の方法で②を実施する方法に変更が必要です。

5 réponses
  1. 18 févr. 2020, 05:54

    ご想像の通り、表計算の結果をコンテキストフィルターにすることはできません。

    コンテキストフィルターはシート内で最も強力なフィルターであり、表計算よりも前に実行されるためです。

    Tableau の操作の順序 - Tableau

     

    順序の決定が必要な計算はTableauがあまり得意でない分野ですが、今回のケースのように最大・最小だけを考えればよいのであれば、

    LOD表現を使って特定することができます。

    ※但し、添付されたサンプルデータには完全に同質な重複レコードがあるため、該当する1レコードだけを取り出すことはできません。

    これはTableauでは解決できないので、別途レコードを見分ける情報が必要です。

     

    提示されている3つの条件をそのまま式に起こすだけですが、「第2条件は第1条件をクリアしたものを対象にする」を実現するために

    前の条件をLOD表現の中にネストするというところがポイントになります。第3条件も同様です。

     

    ご想像の通り、表計算の結果をコンテキストフィルターにすることはできません。コンテキストフィルターはシート内で最も強力なフィルターであり、表計算よりも前に実行されるためです。Tableau の操作の順序 - Tableau 順序の決定が必要な計算はTableauがあまり得意でない分野ですが、今回のケースのように最大・最小だけを考えればよいのであれば、LOD表現を使って特定することができます。※但し、

    pastedImage_2.png

    pastedImage_3.png

     

    3つの式を作ったら、それを全て満たすものを抽出します。

    pastedImage_4.png

     

    これで単位時間あたりのBeacon名(グループ)がひとつだけになります。

    pastedImage_5.png

     

    ※重複レコードの例

    pastedImage_6.png

0/9000