タグ別アーカイブ: Power Query

Power Queryをクラウドで活用する方法~Power Automate使用~

【Power QueryをOneDriveなどのクラウドのエクセルでうまく活用する方法を解説します!】

クラウドがビジネスの主戦場になってきた今、Power Queryをクラウドでうまく活用できないか?という声を最近聞くようになりました

「Power Apps/Dataverse」「Power Automate」をうまく使用すれば、Power Queryをクラウドでも有効活用できます

ポイント

Dataverse

Dataverseでテーブルを作成する際、データソースにエクセルを指定するとPower Queryを使用した、データフローが作成されます

つまり、クラウド上のエクセルを触るわけではないですが、Power AppsではエクセルをデータソースにしてPower Queryを使用できます

Power Automate

Power Automateはクラウドで使用するRPAです

Power Automateでデータフロー/Power Queryを使用して作成したテーブルを、OneDrive上に転記することができます

ですので、Power Apps/DataVersexPower Auttomeの組み合わせをすれば、クラウド上でPower Queryを活用できます

データフローの作成

まずはテーブル画面からインポートを指定します

次にデータソースを「Excelブック」で指定します

データソースを指定したら、OneDrive内のファイルを指定します

次に取得元のテーブルを指定します

ここからはPower Queryエディターが立ち上がります

エクセルでPower Queryエディターを操作する場合は、クエリを作成後、読み込み処理を行います

Dataverseの場合には、読み込みではなく、既存のテーブルへのマッピング(列の割り当て)を行います

ただし、作成済みの既存のテーブルにマッピングするのではなく、全く新しくテーブルを作成する場合には「新しいテーブルに読み込む」を指定すればOKです

ちなみに「読み込まない」を指定して、データフロー上だけでテーブルを使用することもできます

Power Automate

こちらでは、要点を抜粋して記事を書かせて頂きます

データフローを更新するには、「データフローを更新する」アクションを使用します

データフローを更新した後に、OneDrive上にデータフローで更新したテーブルの内容をコピーするには、まずは「行を一覧にする」アクションを使用します

一覧にしたテーブルの各行は、繰り返し、OneDrive上のエクセルに追加します

<まとめ>

今回は、クラウド上でPower Queryを活用する方法を解説しました

Power AppsではPower Queryエディターを使用できるのでとても便利です

今回の記事ではPower Automateに関しては、要点を抜粋して記事を書かせて頂きました

実際には、使用したい内容に合わせて調整が必要です

例えば、データフローを更新すると、自動的にデータがテーブルに追加されます

ですので、時には、テーブルを削除するという対処方法が必要な時もあります

後、データフローを更新した際に、待ち時間を設定する必要も時にはあるかと思いますので、この点を意識しておく必要があります

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

にほんブログ村

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

受付終了しました⇒【Udemy講座リリース】とても簡単!明日から即使えるPower Query・表変換レシピ集

Udemyの講座の第二弾をリリースしました!

しばらく無料で購入できますので、購入してみてぜひ意見等をお寄せください!
*無料期間は前触れもなく終了する時がありますので、あらかじめご了承ください

⇒受付終了しました

内容としては、セルの結合に加えて行列の見出しが複数ある表などの「規則性の低い」表を、Power Queryで簡単に規則性の高い表に変換する方法を解説するものです

表変換に困っている、エクセルの手動処理から解放されたいという方にぜひ見て頂ければと思います

表変換のレシピは5つ用意しています

どれも実用性の高いものばかりですので「明日から」活用して頂ける内容だと自負しております

尚、Udemy講座第一弾については、ただ今セールスをしております

Power Queryを極めたい人必見!!M関数講座 ⇒ 特別クーポン

ガッツ鶴岡

UDEMYの動画コース「Power Queryを極めたい人必見!!M関数講座」の無料・勉強会の開催報告

昨日、リリース済みのUdemy動画コース「Power Queryを極めたい人必見!!M関数講座」の無料勉強会を開催しました

参加して頂いた皆様には感謝の一言です!

今後の動画コースの内容、並びに、Power Queryの技術改善に多くの示唆を得ることができました!

今回の勉強会では2点「let式を使用した複数ステップの集約」「クエリの関数化」に絞ってお話させて頂きました

長いクエリの対策

Power Queryは便利なので、Power Queryに慣れてくるとどうしても適用したステップが長くなります

ステップが長くなると、後で見返してもどこがどうなっているのかわからなくなったりします

この点が、皆でPower Queryを共有して使う時にも問題となります

今回、日常的に業務でPower Queryを使用している参加者の皆さんと議論させて頂き「長いクエリ」への対策が必要なことがよく認識できました

そして「let式を使用した複数ステップの集約」の技術が長いクエリへの対策に役立つことも、参加者の皆さんに意見や感想をお聞きしてよく認識できました

下の画像のように、カスタム列作成画面でlet式を使用すれば複数ステップを1つのステップに集約することができます

しかも、コメントなども入れれば処理が複数ステップに分かれている場合よりもステップの意図がわかりやすくなります

let式の文法に慣れる必要がありますが、この方式を積極的に使えば、長くクエリをシンプルにわかりやすくできます

クエリの関数化

「販売単価の列」「生存原価の列」と「販売個数の列」を乗算し「利益を計算する列」を作成するなどのカステム関数はこのブログでも紹介しました

今回解説したのは、クエリ自体を関数化する方法です

通常のカスタム関数では各行にて1つの値(販売単価、製造原価、販売個数⇒利益)が出力されますが、クエリの関数化の場合には値の代わりにテーブルが算出されます

今回紹介したのは、ファイル内のテーブルを取得するクエリの関数化ですが、思った以上に使い道がありそうです

複数ファイルを取得するのは、フォルダ内の複数ファイルを取得する方法でも行えます

参加者からおききしたのですが、この方法だとクエリが重くなり、フォルダからファイルを幾つか抜き出すケースもあるそうです

確かにフォルダ内のファイル一括取得は便利ですが、日常業務では確かに頻発しそうな問題だと感じました

今回紹介したデータ取得するクエリの関数化ではフォルダ内のファイルを細分化して取得することができるので、クエリが重くなる可能性を低くできます

データ取得以外にもクエリの関数化の用途がありそうなので、今後も積極的に研究していきたいと思います

<まとめ>

今回は本当に貴重な意見をいくつもお聞きすることができました

今後もユーザーの方との交流しながら、自分自身のスキルアップを図っていきたいと思います

Udemyの動画も頂いた指摘を基にして修正を行っていきたいと思います

⇒Udemyの動画・詳細はこちらから

にほんブログ村

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

Udemyの動画コースの内容についての無料・勉強会~M言語に触れる60分~

先日、Udemyで動画コース「Power Queryを極めたい人必見!!M関数講座*」の発売を開始しました

*期間限定の特別価格・1600円のクーポンです

なかなか他では知ることのない技術が詰まっています!

今回は、この動画コースの一部を体験して頂きたいと思い、無料勉強会を開きたいと思います

ぜひ、これから「M言語の素晴らしさ」や「Power Queryを通常のエクセルワークシートのように自由に扱う面白さ」を一人でも多くの方に広めていきたいと存じます!

概要

開催者/解説者:ガッツ鶴岡

IT講師をしております。Power QueryやPower BI、RPAなどを得意としております。ストアカ・ゴールドバッチ

・日時:2022年7月18日(月曜日・祝日)

 ①13:30-14:30⇒受付停止、②16:00-17:00⇒受付停止、③20:00-21:00⇒受付停止

・料金:無料

・内容:クエリの関数化、複数ステップの集約等

-クエリの関数化:作成済みのクエリ自体を関数化します。クエリを関数化すると、別なクエリの各行に対してテーブルを作成することができます。今回は複数ファイルの内容を、別途指定した内容のクエリを基にして一括取得します

-複数ステップの集約:let式を使用して、複数ステップの内容を1ステップの集約します。この技術を活用すると長いクエリをシンプルにすることができます

詳細・お申込み

こちらからお願いします

詳細・お申込み

以上、ぜひ一人でも多くの方にご参加いただきたいと存じます!

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

にほんブログ村

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

(続編)2つの表にてどの行が追加、削除されている? ⇒どの列が変更になっている?

前回の続きで、パワークエリを使用してだけでなくについても、の変更もあわせて変更箇所を特定できるようにしたいと思います

ポイント

2つの表を結合するのは前回と一緒です

今回はピボット解除を行い、複合キーを作ったうえで結合を行います

使うデータ

Before、Afterの2つの表を用意するのですが、キー(りんご、みかん・・)を行単位で作成し、列は月単位で作成します

最後は2つの表でどこが変わったかを明確にできるようにクエリを作成します

ピボット解除&複合キー作成

BefoerとAfter、それぞれのクエリはピボット解除を行い、縦横並びを縦縦並びに変えます

その後、「列のマージ」を使用して、複合キーを作成します

この複合キーを使用して、BeforeとAfterの2つの表を結合(マージ)します

マージ処理

ポイントでも前述したように、2つの表を複合キーを使用してマージ処理します

マージ種類は通常でいけば、完全結合がよいです

「完全外部」の結合であればAfterの表にて追加・削除されたものが全て網羅できます

但し、こちらは用途にあわせて6つの結合種類を使いわければよいかと思います

各種調整

判定列の追加

マージ後は、条件列を使用して〇×を判定する列を追加することができます

複合キーの分解

マージ後は複合キーを分解して必要な情報だけ抜きだすこともできます

複合キーの分解は「抽出」の「区切り記号の後のテキスト」を使用し、複合キーから「月」を抜き出します

そうすると、BeforeとAfterの比較が行いやすくなります

<まとめ>

今回はマージを更に有効活用して、行だけでなく、変更があった列と値を特定できるようにしました

ポイントはピボット解除と複合キーの作成により、2つの表を比較しやすい形で結合することです

ぜひ有効活用してみてください

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

にほんブログ村

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

これまで受けてきた質問と回答~Power BIレッスン日記~

Power BIはエクセルと比べると歴史が浅く、まだ知見が溜まりきっていません

私自身のためにもこれまで受けてきた質問と回答についてまとめていきます

スライサー文字列検索

質問

通常のスライサーにて文字列で検索すると、いちいち表示されたものをクリック・指定するのがとても大変です

回答

「その他のビジュアルの取得」から文字列検索用のスライサーを追加します

「Text Filter」が文字列検索用のスライサーです

「Text Filter」で文字列検索が行えます

複数のグラフの軸の範囲を常に同じにしたい

質問

複数のグラフを同じ基準で比較できるように、データの中身が変更になっても最大値と最小値を’常に’グラフ間で同じ基準にて設定できるようにしたい

回答

下の画像の関数マークから「変数」のような設定の仕方が可能です

適したフィールドの最小値や最大値で設定することができます

場合によっては、専用のテーブルを作成して「フィールドの最小値x1.3」などの調整も可能です

グラフのデータラベルの表示

質問

データラベルが重なり合って表示されません

回答

この場合はグラフを縦に延ばせば、表示されますが、常にこの方法を行うわけにはいきません

この場合は文字の向きを縦にする方法もあります

ビジュアルの書式設定の「データラベル」⇒「オプション」から設定は変えられます

取り込んだデータが表示されない

質問

複数シートから構成されるファイルのデータを取り込んでも、一部のシートのデータが「データ管理画面」に表示されない

ただ、エディタ画面には表示される

回答

この場合には、エクセルファイル内で事前にテーブル化を行っておくことをおすすめします

yyyyMM形式のカレンダーテーブルでの活用

質問

201901などの形式しかデータにない時があります

この場合は、そのままではカレンダーテーブルとリレーションが作成できません

回答

一番簡単なのは、データの変換(パワークエリエディタ)画面にて年と月の列に一旦分け、#date関数によりyyyy/MM/01に変える方法です

・年⇒列の追加タブ⇒抽出⇒最初の文字

・月⇒列の追加タブ⇒抽出⇒範囲

その後、カスタム列作成画面で#date関数を使い、「2019/01/01」に変えます

 ⇒#date(年,月,1)

*データ形式は日付形式

累計の計算

質問

累計の計算はどう行いますでしょうか?

回答

DAXで下記のようなメジャーを作成します

累計 = TOTALYTD(SUM(‘売上データ'[売上金額]),’Calendar'[Date],”3/31″)

*会計年度が4月~翌3月の前提

空欄の表示

質問

ピボット解除をした時に、空欄の箇所が表示されない

元データ

元データは9月(G列)まであるのに、6月までしか表示されない

ピボット解除後

回答

ピボット解除のステップ前に、空欄/null⇒0への置き換えが必要です

値の置き換えを行う前に、事前に列の形式は「整数」に変えておく必要があります

理由はテキスト形式などだと「0」への置き換えができないということです

ただ、もう一工夫が必要です

上記のように7月~が日付形式になっています

何故なら、nullがあると他の列と違い、自動的に7月~の列が日付形式になり、7月1日に自動変換されるからです

ですので、更に形式をテキスト形式にしておく必要があります

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

にほんブログ村

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

2つの表にてどの行が追加、削除されている?~結合の6種類~

2つの表の間でどの行が追加されているのか?削除されているのか?を適時確認・集計できるととても便利です

受注のキャンセルデータの管理やミスの発見など、2つの表の適時確認・集計の活用の場はかなり広いです

Power Query結合(マージ)には6種類が用意されていますので、それぞれを使い分けるとかなりの集計上手になれます!

アイコン

結合サンプル 67.09 KB 2 downloads

...

今回使用するデータ

今回は1から始まる連番で管理された2つの表を使用します

結合(マージ)

結合の種類は下の画像の赤色の箇所で選択・指定できます

左外部

左の表の全てと、右の表にて左の行と一致する行を結合します

左外部

右外部

右の表の全てと、左の表にて右の行と一致する行を結合します

右外部

完全外部

一致する一致しないに関わらず、2つの表に存在する行を網羅します

右の表で追加された行や削除された行が一目でわかるようになります

完全外部

内部

2つの表の間で一致する行のみ結合します

内部

左反

左の表から右の行と一致しないものを抽出します

右の表にて削除された行が一目でわかるようになります

左反

右反

右の表から左の表の行と一致しないものを抽出します

右の表で追加された行が一目でわかります

右反

<まとめ>

Power Queryの結合にて一つ問題になるのは、表現がわかりにくいことです

「最初の行」とは左にある表、「2番目の行」とは右にある表と置き換えればわかりやすいと思います

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

にほんブログ村

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