5 Replies Latest reply on Oct 15, 2019 7:02 PM by shuhei saito

    クエリパイプラインを使いこなした画面作成

    momoka.suzuki

      お世話になっております。

      クエリパイプラインを上手く使いこなせばできそうで上手くいっていない

      計算とフィルタ適用について質問させていただきます。

       

      ■やりたいこと

      →以下大きく2つの平均比較

      ・地域別の平均 ※参考1:棒グラフ

      ・全体平均、フラグ=1の地域平均、フラグ=2の地域の平均(3つはパラメータで切り替え) ※参考1:折れ線グラフ

       

      ■悩んでいるポイント

      →以下①②③の両立

      ① 地域別平均にユーザーフィルタを適用※参考2:セキュリティマスタ

      ② 全体平均、フラグ=1、フラグ=2の地域の平均へのユーザーフィルタ不適用

      ③ 地域フィルタ(ユーザーフィルタ適用)で地域絞り込み

       

      現状、②の3種類の平均の値が合わない原因を見つけられずにおります。

      計算式の組み方やフィルタ種類等、アドバイスをいただきたいです。

      何卒よろしくお願い致します。

       

       

      <参考1>

      ・元データで値は1~5の整数です

      ・項目別の値平均を表示しています

      グラフイメージ.png

       

      <参考2>

      ・地域に、各地域の担当者のログインユーザー名を紐づけます

      ・地地域×項目粒度のテーブルに地域をキーに左結合しています

      セキュリティマスタ.png

        • 1. Re: クエリパイプラインを使いこなした画面作成
          shuhei saito

          理解が間違っていたらごめんなさい。「添付ファイルの赤い折れ線グラフの数字と、数値確認シートの(正)の数字が合わない」ということでしょうか?

           

          もしそうだとすると、データの結合メンバーの数が違うことが原因です。

          ユーザーマスタには2人しかいない地域と3人いる地域があるので、行が重複する数が異なる結果、平均などの重み付けが変わってしまいます。

           

          これを回避するには、LOD式のディメンションに地域を入れて、その中の平均を取るようにしてください。

          • 2. Re: クエリパイプラインを使いこなした画面作成
            momoka.suzuki

            shiheiさん

             

            ご返信ありがとうございます。

            説明が不足しており、申し訳ございません。

             

            グラフは最終的な見せ方のイメージなので、

            値を合わせるのに考慮しなくて構いません。

             

            併せたい値は「数値確認用」シートの以下フィールドです。

            ・[(全体/フラグ1/フラグ2)平均]

            ・[(正)全体平均],[(正)フラグ1平均],[(正)フラグ2平均] ※[全体/フラグ1/フラグ2]パラメータで選択したもの

             

            値を合わせるのに加えて、地域フィルタとユーザーフィルタの影響も受けないようにしたいと思っております。

            • 3. Re: クエリパイプラインを使いこなした画面作成
              shuhei saito

              ここでいう「値を合わせる」というのは、「一致させる」という理解でよいでしょうか。

               

              [(全体/フラグ1/フラグ2)平均] = [(正)全体平均],[(正)フラグ1平均],[(正)フラグ2平均] ※[全体/フラグ1/フラグ2]パラメータで選択したもの

               

              その場合は先述のLOD式を少し加工して、地域を無視するようにすればよいと思います。

               

              実際の環境でないとユーザーフィルター検証できないため、手元では暫定的にパラメーターを作成してチェックしています。

              ワークブックを添付しますので、こちらをご確認いただけますでしょうか。

              • 4. Re: クエリパイプラインを使いこなした画面作成
                momoka.suzuki

                SHUHEIさん

                 

                無事値を合わせる(=一致させる)ことができました。

                 

                フラグ判断をするときの粒度が考えられていなかったので

                思うような値にならなかったのですね。

                 

                ご丁寧にご回答いただき、本当にありがとうございます。

                 

                念のため確認をさせていただきたいのですが、

                一つ目のFIXEDで項目粒度の中間テーブルをつくり、

                項目×地域の粒度でフラグ判断して取得した値の平均を出す、というイメージで合っているでしょうか。

                • 5. Re: クエリパイプラインを使いこなした画面作成
                  shuhei saito

                  実現できたようでよかったです。

                   

                  式の内容のイメージについては、考える順番が逆です。

                  計算式は常にネストされた中身から判定します。

                   

                  すなわち、

                    まず項目別・地域別に平均を計算→これで地域ごとの値が出る(項目×地域の数だけデータがある。そのため、この時点では地域フィルタの影響を受ける)

                    次に地域ごとの値を項目別に平均して計算→地域間平均が出る(項目ごとにたったひとつのデータがある。これは地域フィルタの影響を受けない)

                  というイメージです。

                   

                  LOD表現は別のシートで計算過程を再現できるので、そうやって確かめたほうが理解しやすいかもしれません。