タグ別アーカイブ: パラメーター

移動平均をDAXで算出しつつパラメーターで変動させる

【意外と小難しい移動平均をDAXで簡単に、しかも算出日数をスライサーで変動させる】

移動平均の計算はエクセルなら関数を入れれば簡単に計算できます。ただPower BIだとDAXを使用する必要があります。DAXを使用する代わり、DAXにパラメーター機能を組み込めば算出日数を可変で表示できます

使用データ

下の画像のように、日別に金額が集計されたデータを活用します

同じ日のデータが複数存在するデータを使用する場合については、最後のまとめで解説します

何故、別途に解説するかというと、上記の画像の場合には普通の計算方法だと日別の平均金額が薄まってしまうからです

それでは本題に戻します

DATESINPERIOD関数

移動平均の計算では、基準の日から複数前までの期間が計算の対象になります

複数の日付を計算するのには、DATESINPERIOD関数が適しています

このDATESINPEROD関数を、条件付きで合計を計算するSUMX関数の平均版であるAVERAGEX関数と組み合わせます

下記は7日間の移動平均を算出するメジャー式です

移動平均_7日間 =

AVERAGEX(

    DATESINPERIOD(①’Calendar'[Date],

                  ②MAX(‘Calendar'[Date]),

                 ③ -7,

                 ④ DAY ), 

[TotalSales])

①ではカレンダーテーブルに日付を指定します

②では計算期間の最終日を指定し、③で算出期間を計算します(30日間の場合は-30で指定します)

④は上記ではDAYで指定していますがMONTHでも指定できます

*[TotaSales]のように事前に合計を計算するメジャーを設定しておきます

パラメーターとの組み合わせ

それでは、上記で作成した移動平均を算出するメジャーをパラーメーターと組み合わせてみましょう

パラメーターでは値の範囲を設定します

パラメーターを設定したら、データの箇所に次のようなデータが追加されます

こちらの「パラメーターの値」を前述のDAXに組み込みます

これで移動平均の算出日数が可変になります

<まとめ>

今回はDAXを使用して移動平均を計算する方法を解説しました

更にパラメーターと組み合わせて移動平均の算出日数を可変にしましました

移動平均を可変にすることで、数値の見方も今までと違った切り口で見ることができるはずです

最後に、元データで同一日に複数のデータがある場合です

画像に alt 属性が指定されていません。ファイル名: image-57.png

この場合は、一旦、Calculate関数で合計を計算します。その後に割り算をします

7日間の移動平均を算出する場合には、上記の画像のように7で割ります

但しこの計算方法の場合には、グラフの最初の箇所がいびつになりますので注意が必要です

にほんブログ村 資格ブログ ビジネススキルへ

にほんブログ村

にほんブログ村 IT技術ブログ VBAへ

スライサーではできない操作をパラメーターで行う~メジャー連動~

【パラメーター機能の内容をメジャーに組み込めば、スライサーではできないような操作ができることがあります】

Power BIにパラメーターという機能をご存じでしょうか?例えばグラフの表示数が多すぎて、重要な数字が読み取れないことがあります。そんな時はパラメーターでグラフの表示数を変えることができます

今回の記事ではパラメーターとメジャーを組み合わせた上記の事例を紹介します

パラメーターとは?

パラメーターは一見スライサーと似ていますが、設定するのはあくまで数字の範囲となります

パラメーターはモデリングタブから追加することができます

実際に追加する時には「数値範囲」を指定します

次に開く画面では、出力する数値範囲を設定します

パラメーターを設定すると同時に専用のテーブルも作成されます

メジャーの設定

パラメーターを設定したら、メジャーの中にパラメーターで出力される値を組み込みます

折れ線グラフの各内容はそれぞれメジャーになっています

こちらにIF式を追加します

IF式にはパラメーターとの連動を組み込みます

このIF式によりパラメーターの値が1になった場合には、BLANK=グラフ表示なしになります

<まとめ>

今回はパラメーターを使用してメジャーを操作し、グラフの表示本数をコントロールできるようにしました

パラメーターの操作は今回紹介した「数値範囲」に加えて「フィールド」というのがあります

フィールドには直接メジャーを設定することができます

この場合はパラメーターをスライサーのように使用できます

にほんブログ村 資格ブログ ビジネススキルへ

にほんブログ村

にほんブログ村 IT技術ブログ VBAへ

エディタを開かずにソース変更処理~上級13回

パワークエリは便利ですが、エディタを開かないとクエリの内容を変更できないのが不便です

パワークエリには「パラメーター」という機能があります

「パラメーター」を活用できるようになると、エディタを開かないままで様々な変更が可能になります

 この回では、パラメーターの概念を活用して「エディタを開かないまま様々な変更を可能にする」簡単な事例について解説します

では今回解説する内容の概要を解説します

今、次の画像の黄色く印を付けたファイルからデータを取得しているとします

データを取得するファイルを変更しようとしたら、2種類の方法があります

 エディタのデータソース変更、もしくは、次の画像の箇所(適用したステップは”ソース”の箇所)を変更することです

この回では、上の画像にある変更処理をエディタを開かないまま「パラメーター」の仕組みを使って変更します

目次

1.パラメーターの設定

2.パラメーターの反映

<まとめ>

1.パラメーターの設定

ホームタブから「パラメーターの管理」⇒「新しいパラメーター」をクリックします

すると、次の画面が開きます

こちらの画面では、次の3つを指定します

・パラメーターの名前

・種類➡データ形式を選択します

・現在の値➡データソースとなるファイル名を指定します

上の3つの指定が終了したら、読込処理を行います

2.パラメーターの反映

続きを読む エディタを開かずにソース変更処理~上級13回

シート上からデータソースを変更する方法~上級編14回目

 Power Queryのクエリと連携するファイルを、まるでスマホを操作するかのように簡単に変更できたらいいですよね!

 Power Queryはとても便利なのですが、エディタを開かないと変更ができないのが少々面倒です

前回は「パラメーターの管理」の画面から変更をかける方法を解説しました

 今回は、エディタを完全に開かずに、クエリのデータソース(データ取得元)を下のGIF画像のようにセルの値をもとにして変更する方法を解説します

まず今回のポイントを2点だけ解説します

目次

今回のポイント

1.セルに名前を付ける

2.データソースの確認(ファイルの取得)

3.名前の組み入れ

4.コードの修正

<まとめ>

今回のポイント

A.名前の活用

今回使うデータは、フォルダ名とファイル名がリスト化されています

リスト化されている2つのセルは、左のセルで名前をつけます

B.M言語の使用

 要はコードを書くということなのですが、後で添付するテキストをコピペして使い回した方が効率的です 

A.にて名前を付けたセルの値は可変です

こちらの名前を、「ファイルデータを取得するクエリ内」のコードの中に組み入れます

使用する画面は、過去の記事でオリジナル関数を作成した画面と一緒です

名前を通じて、セルの値を間接的にコードの中に組み込む形にするということになります(例:名前:フォルダ名➡コード:FilePath➡FilePathをデータソースの中のコードへ組み込み)

 では、下の画像のフォルダ内のファイルから「データを取得するクエリ/クエリ名:Dataが既に存在する」という前提にて本格的な解説をはじめます

 上の画像では、フォルダ名が「Folder1」となっていますが「Folder2」も別途存在するものとして解説を行います

1.セルに名前を付ける

ポイントA.でも前述したように、可変のセルに名前を付けます

まず、名前を付ける範囲をカーソルで指定します

名前を付けるのはセルの値に対してですが、名前自体もセルから抽出するので「2行2列」をカーソルで指定します

次に下の図の、黄色の各箇所をクリックします

後は、OKボタンを押せば2つの箇所に名前が設定されています

続きを読む シート上からデータソースを変更する方法~上級編14回目

セルの値を変更するだけで読み込みを変更する方法~上級編15回

今回はエディタを開かないまま、セルの値を変更するだけで「クエリからの読込内容」を変更する方法を解説します

前回は、セルの値を「名前」にて設定し、詳細エディタ画面でコードに組み込みました

今回は、ドリルダウンという方法を活用します

日本語のドリルダウンと意味合いが少し違います

これはPower Queryの特徴的な処理であるとともに、M言語の分野にまで踏み込む処理でもあります

詳細については後程解説します

 今回解説する方法は、前回のように詳細エディタでコードを書かない分、処理は楽です

大きく分けて、2つの処理(①②)を行うだけです!

 まず、変更するセルの値をクエリにする際、クエリを「①ドリルダウン」します

次に読み込みの変更を行うクエリを開きます

そして、ドリルダウンした「クエリ名」をPower Queryエディタの「②数式バーにて組み込み」をすれば処理は終了です

なお、今回使うデータは2つの表から構成されます

1つは元データです

こちらが、上の②の処理の対象です

こちらのデータは、クエリに変換して「I列」にも読み込んでおきます

もう1つは、製品をフィルタリングする為のリストデータです

こちらが上の①の対象になります

こちらのセルの値を変更して、クエリからの読み込み内容を変更します

ちなみに、このセルの値は3つの値から選択できるようになっています

では、本格的な解説をはじめます

目次

1.リストのドリルダウン

2.ドリルダウンの組み込み処理

<まとめ>

1.リストのドリルダウン

まずはリストが設定されているセルをテーブルにし、エディタを開きます(事前にテーブル名:Productを設定しています)

では、冒頭に紹介した①ドリルダウンの処理をします

次のGIF画像のように「右クリック」した後に、「ドリルダウン」を選択します

上のGIF画像の数式バーにも注目してください

下の画像は、ドリルダウン前の時点での「数式バー」の表示です

エディタを開いた時、製品別の列がテキスト型に自動変換されていました

この自動変換は、次の画像の箇所で設定されています(こちらの画面はファイル⇒クエリ設定⇒クエリのオプション、で開きます)

ドリルダウンを行うと、次の画像の数式が表示されます

この{}は「自動で変換された型」の1行目という意味になります

つまり「1行のリストデータに変換した」という意味になります

試しに、3行を読み込んでドリルダウンしてみてください

2行は削除され、1行の内容に再変換されます

では、次に読み込み処理を行います

続きを読む セルの値を変更するだけで読み込みを変更する方法~上級編15回