タグ別アーカイブ: パワークエリ

テーブル列操作関数

M関数辞典はこちらから

列結合

Table.NestedJoin

文法

キー列を基にして2つのテーブルの内容を結合します

=Table.NestedJoin(テーブル名1,キー,テーブル名2,キー,新しい列名,省略可|結合タイプ)

*結合タイプが省略された場合には、左外部結合が指定される

使用方法

列名をリストとして返す

Table.ColumnNames

文法

ハードコード/自動記録された列名リストをTable.ColumnNamesで置き換えると、列が増えても列名のリストが網羅される

使用前
使用後

実際の使用例

 ➡【豆知識】ピポット解除時の空欄の扱い

リストからテーブル作成

Table.FromColumns

文法

リストを組み合わせてテーブルを作成します

例:Table.FromColumns({[勤務日],[曜日]})

使用例

列変換(研究中)

Table.TransformColumns

文法

元データ
Table.TransformColumns
列変換後


にほんブログ村

7月10日にモダンエクセルの勉強会を開催しました

7月10日にモダンエクセルの勉強会をAkira Takaoさんをはじめ20名ほどの方に参加頂いて開催しました

当日の飛び入りでのプレゼンもあり、なかなか有意義な会になりました

参加頂いた皆さん、誠にありがとうございました

KTさんスピーチ

KTさんには「フォルダの複数データ集計のノウハウ」についてスピーチをして頂きました

 KTさんが社内のExcel塾で講義されている内容は、単なる技術の解説に留まらず、現場で活用してもらうための工夫が緻密に盛り込まれていて、とても勉強になりました。1つの技術を簡単に始められるA方式と中級者向けのB方式に分ける方法は、これから社内で勉強会を行おうとしている人にはとても参考になると思います

参加者の声

・私も、企画部当時、膨大な費用データ分析に苦労した経験がありました。その時に、パワークエリーがあれば、引き継ぎ等が十分できたと思います。また、社内への展開ここまで進むと大きな無形と思います。

・プレゼンの中でPQ勉強会の後に実務に使っているのは3割程度というお話があったと思います。それを考えると、やはり普及させるためには単純に数を増やすことが重要だと思うので、私も普及に向けて何らかの貢献をしていきたいと思います

Keitaroさんスピーチ

Keitaroさんには「丸の内界隈でのモダンエクセルの活用について」をスピーチして頂きました

興味」「共感」「体験」の3点を重視してリーダーシップを発揮し、職場にモダンエクセルを浸透させた話はとても迫力がありました。そしてモダンエクセルを広めるための大いなる示唆も得た気がします!

参加者の声

・使い始めた人が躓きそうなポイントやノウハウが入った、また、社内普及へのコツが入ったとても素晴らしいをしていただき、大変感謝いたします

・メンバーにも浸透させていることがすごいと感じました。今、私の経理Gでも、理解できそうなメンバーがいるので、一緒に勉強しています。Keitaroさんの教材を参考に、他のメンバーの育成をしたいと思います

質疑応答

参加者の一人に飛び入りで「モダンエクセルとVBAの連携事例」についてプレゼンをして頂きました

やはりモダンエクセルの使用を突き詰めていくと、VBAとの連携も必要になってくることを考えると、なかなか面白い話でした

後で、Twitterでプレゼン内容のネタ元を共有して頂いたので参考までに、この記事内でも共有します

Power Queryの更新が完了するのを待つ方法の(2#の解決策) https://fixes.pub/program/258924.html…

VBAでPowerQueryのデータソースをいじる https://aoiue.website/archives/2967

さて、次の開催は7月17日の19時半からです

皆さんの参加をお待ちしております


にほんブログ村

モダンエクセル・勉強会_0717

7月10日(土)に引き続き「モダンエクセルを実際に使いこなしている方々」にお集まり頂き、「モダンエクセル活用の場を広げる」ための意見交換をしたいと思います!

・主催:Excellent仕事術/当ブログ管理人

・日時:2021年7月17日19時半~20時半(今回は60分です)

・場所:オンライン(ZOOM)

・内容:①主催者発表/約20分、②意見交換及び質疑応答

①主催者発表:パワークエリ/M言語を使用した分析術について

・費用:参加費用は無料です

・申込:以下参照

-記事下のフォームに記入して頂いた後に、ZOOMのURLを送ります

*すぐにURLを送れない事もありますので、その点はご容赦ください

– 先着20名まで

-参加者はモダンエクセルを使いこなしている方に限定させて頂きます

-勉強会当日は、基本的にマイクはオフにして頂きます(オンにする際は、こちらから指示します)

*録画はご遠慮願います、後、途中の入退出もご遠慮ください(やむを得ない事情が発生した場合には主催者にご連絡ください)

*基本は顔出しでお願いします

-頂いた個人情報について、今回開催する勉強会の連絡等の目的には使用せず、厳重に管理致します

参加申し込みの程、お待ちしております

尚、勉強会に関する問い合わせはこちらからお願いします


にほんブログ村

クエリの高速化・関数

M関数辞典はこちらから

キー設定

Table.AddKey

文法

マージを行う際に、主キーを設定してクエリ処理を高速化します

*明細側(多)より集計側(1)で高速化の効果が高いです

Table.AddKey(テーブル名, 主キーにする列, 主キー有無)

使用方法

let
With.Addkey1=Table.AddKey(売上台帳,{“商品コード”},true),
With.Addkey2=Table.AddKey(商品台帳,{“商品コード”},true),
ソース = 売上台帳,
マージされたクエリ数 = Table.NestedJoin(With.Addkey1, {“商品コード”}, With.Addkey2, {“商品コード”}, “商品台帳”, JoinKind.LeftOuter),
#”展開された 商品台帳” = Table.ExpandTableColumn(マージされたクエリ数, “商品台帳”, {“販売単価”}, {“商品台帳.販売単価”}),
挿入された乗算 = Table.AddColumn(#”展開された 商品台帳”, “乗算”, each [商品台帳.販売単価] * [販売個数], Int64.Type),
#”名前が変更された列 ” = Table.RenameColumns(挿入された乗算,{{“乗算”, “販売金額”}})
in
#”名前が変更された列 “

バッファー化

マージ対象のクエリをバッファー化します

文法

=Table.Buffer(最終ステップ名)


にほんブログ村

ファイル関連操作・関数

M関数辞典はこちらから

操作ファイル内のテーブル取得

Excel.CurrentWorkbook

文法

ファイル内のテーブルを一括で取得します

=Excel.CurrentWorkbook

ファイル内テーブル
使用方法

実際の使用例

 ➡M言語に慣れる_9回目~複数シートをコード1行で結合~

フォルダー内データ取得

Folder.Files

文法

フォルダ内にある複数ファイルのデータを一括取得

=Folder.Files(フォルダ名)

使用方法

実際の使用例

 ➡フォルダから複数ファイルデータを一括取得~初級講座4回目

ファイル内のデータ取得

Excel.Workbook

文法

=Excel.Workbook(ファイル名,省略可|1行目をヘッダーにする,省略可|データ形式を自動変換)

Content列
使用方法
使用結果

上の画像/使用結果、ではExcel.Workbookの2つ目の関数をTRUEで指定している為、自動的に1行目がヘッダーになっている

2つ目の引数を省略、もしくはFALSEにした場合は次の画像の通りになる

2つ目の引数を省略した場合(もしくはFALSEにした場合)

ファイルパスを返す

File.Contents

文法

ファイルパスとして書かれたテキストをバイナリにして返す

使用方法

にほんブログ村

日付時刻・関数

M関数辞典はこちらから

日付作成/年、月、日

#date

文法

3つの数字(年、月、日)から日付を作成

=#date(年,月,日)

使用方法

実際の使用例

 ➡【M言語に慣れる】_13回_ダイナミックに連続した日付作成

期間値作成

#duration

文法

日、時間、分、秒の4つの数字から期間値を作成

=#duration(日,時間,分,秒)

使用方法

実際の使用例

 ➡【M言語に慣れる】_13回_ダイナミックに連続した日付作成

日付リスト作成

List.Dates

文法

日付リストを指定回数分、指定期間単位で作成

=List.Dates(開始日,指定リスト数,期間単位)

使用方法

実際の使用例

 ➡【M言語に慣れる】_13回_ダイナミックに連続した日付作成


にほんブログ村

統計関数

データの平均値などの統計処理を行うための関数です

M関数辞典はこちらから

平均値の計算

List.Average

文法

リスト内の平均値を計算

=List.Average(リスト)

使用方法

実際の使用例

 ➡M言語に慣れる_1回目~コード構造の把握~

最大値を計算

List.Max

文法

リスト内の最大値を計算

=List.Max(リスト)

使用方法

実際の使用例

 ➡M言語に慣れる_16回目_LIST関数

最小値を計算

List.Min

文法

リスト内の最小値を計算

=List.Min(リスト)

使用方法

データの個数を計算

List.Count

文法

リスト内のデータの個数を計算

=List.Count(リスト)

*文字列も数字も同様に計算

使用方法

中央値の計算

List.Median

文法

リスト内の中央値を計算

使用方法


にほんブログ村

文字列・操作関数

文字列を操作する為の関数です

M関数辞典はこちらから

文字列・型式への変換

Text.From

文法

値を文字列・型式に変換

*3であれば”3”を返す

=Text.From(値)

使用方法

実際の使用例

 ➡M言語に慣れる_2回目~カスタム列~

検索文字の位置抽出

Text.PositionOf

文法

文字列の中にある特定の文字の最初の出現位置を抽出します

注意点としては、M言語は0ベースなのでカウントが0からはじまります

例えば、1文字目に特定の文字列が見つかった場合には0を返します

この点はご注意ください

*最後の出現位置を抽出することもできます

*文字列が見つからない場合は-1を返します

= Text.PositionOf(“検索対象・文字列”,”検索・文字列”,省略可)

使用方法1
使用方法2

実際の使用例

 ➡M言語に慣れる_5回目~M関数を検索する方法~

検索文字の有無判定

Text.Contains

文法

検索対象の文字列に、検索文字が含まれているかどうかを判定

含まれている場合にはtrueを、そうでない場合にはfalseを返します

=Text.Contains(“検索対象・文字列”,”検索・文字列”)

使用方法

実際の使用例

 ➡【M言語に慣れる】_15回目_TEXT関数/文字列関数

文字列の置換

Text.Replace

文法

文字列内に出現する、指定文字を全て置き換えます

=Text(文字列,置き換える対象の文字列,置き換え後の文字列)

使用方法

実際の使用例

 ➡【M言語に慣れる】_15回目_TEXT関数/文字列関数

数値型式への変換

Number.From

文法

文字型式などの型式から数値型式に変換します

=Number.From(値)

指定桁数に揃える

Text.PadStart

文法

文字列を指定した桁数になるように、文字列を繰返し補う

=Text.PadStart(元の文字列,指定桁数,補う文字列)

実際の使用例

 ➡ 【M言語実践】グループ別にIDを設定

にほんブログ村

受付停止➡モダンなエクセルの定例・勉強会/毎週開催

ストアカ内のサークルとしては、諸事情により受付を停止しました

7月10日の勉強会は当ブログの主管で行います

6月25日に開催した勉強会は多くの方に意見や課題共有を頂き、とても有意義なものになりました

継続した「勉強会の場」を設けたいと想い、定例・勉強会を設立し、ストアカ内にサークルとして登録しました

ぜひ、多くの方に参加頂き、「新たな時代の、新たなデータ活用の在り方」を皆で作り上げていきたいと思います

勉強会の初回は7月10日19時半~90分)に行いますので、今回はその連絡です!

勉強会の趣旨

モダンエクセルは、IT部門に頼らずに個人が大量のデータを活用できる強力な武器です

但しまだ歴史が浅く、ノウハウが蓄積されている訳ではありません

 この勉強会では、毎週、日常の中で気づいたモダンエクセル使用上の問題点や課題を皆で持ち合い、継続的に皆で成長をしていくことが趣旨です

勉強会の内容

毎回、勉強会はオンライン会議/ZOOMにて2部構成で行います

オンライン会議は目安を90分として行います

前半は講義、後半は事前に皆から頂いた意見や課題をもとに質疑応答を行います

講義のテーマは、モダンエクセル以外にも「個人のデータ活用」に即した内容を考えています

〇モダンエクセル以外のテーマ

・FILTER関数などの新型関数
・エクセル統計機能
・Access
・エクセル・ダッシュボード作成
・データベース論の基礎等

 オンライン会議以外にも、FACEBOOKにグループにこの勉強会のアカウントを作成してしますので、そちらで情報共有や意見交換を行えるようにします

第一回目の開催

初回は、6月25日に社内事例を発表して頂いたKTさんにメインの講義をして頂きます

講義テーマは「フォルダの複数データ集計のノウハウ」になります

社内で千人以上にパワークエリを伝えて来たKTさんが語る「この集計技術が何故、必要とされているのか?」そして「現場で求められているものは何か?」という点について、ぜひご注目下さい!

日時:7月10日(土)19時半開始、21時終了

なお、勉強会の定例会は、当面は土曜日の19時半開始を基本として行います

会員さんのリクエストに応じて、調整を行う可能性があります

勉強会の申込

勉強会のお申込みは、ストアカで行っていただきます

お申込みをした後は、月額1,800円を毎月お支払い頂く形になります

支払条件等については、ストアカのページでご確認ください

お申込みページはこちら

尚、前述したFACEBOOKにて勉強会の告知を致しますので、FACEBOOKのアカウントが必要となります

問合せ

御質問やご要望はぜひこちらにお願いします

最後に、

今回の勉強会に参加する最大のメリットは「仲間ができること」です

ぜひ、互いの課題や問題点を補い合い、素晴らしい勉強の場を作りましょう!

後、勉強会の名前はあくまで、まだ仮称です

ネーミングも募集しています!


にほんブログ村

テーブル行操作関数

VBAで言えば、メソッドにあたるものです

M関数辞典はこちらから

行削除/先頭からの行数指定

Table.RemoveFirstN

文法

指定した行数分を先頭行から削除

Table.RemoveFirstN(テーブル名, 行数指定) 
Dataテーブル
使用方法

実際の使用例はこちらから

連番追加

Table.AddIndexColumn

文法

テーブルに新たな「連番」の列を追加します

連番の開始番号や増分は調整できます

Table.AddIndexColumn(テーブル名, 列名, 開始番号, 増分) 
画像に alt 属性が指定されていません。ファイル名: image-12.png
Dataテーブル
使用方法1
使用方法2

実際の使用例

 ➡ M言語に慣れる_10回目~グループ毎に連番作成~

先頭行から見出し/ヘッダー作成

Table.PromoteHeaders

文法

先頭行をテーブルの見出し/ヘッダーにします

画像に alt 属性が指定されていません。ファイル名: image-12.png
Dataテーブル
使用例

実際の使用例

 ➡不規則に散らばっているデータを一括取得~M関数~

行フィルター

Table.SelectRows

文法

抽出条件と一致する行を選択します

Table.SelectRows(テーブル名, 抽出条件)
画像に alt 属性が指定されていません。ファイル名: image-12.png
Dataテーブル
使用方法

実際の使用例

 ➡M言語に慣れる_8回目~EACHを使いこなしてM関数作成~

 ➡POWER QUERYエディタ上で複数条件付き合計処理~M関数使用


にほんブログ村