ラベル ピボットテーブル の投稿を表示しています。 すべての投稿を表示
ラベル ピボットテーブル の投稿を表示しています。 すべての投稿を表示

2023/03/12

[Power Query] for ループのような処理を Power Query で行う方法

connpass や Doorkeeper の REST API を利用してIT勉強会のデータを取得して、Excel であれば JSON データを表形式のテーブルに展開し Pivot テーブルに取りこんで分析する、Power BI であれば、ファクトテーブルとして取りこんでレポート、ダッシュボード作成に利用する、などを過去のブログでも紹介しています。

その中で既に使っているやり方なんですが、意外にこの方法で悩んでいる方もいらっしゃるので、まとめて説明してみます。おおまかな手順は以下です。

1) APIを使ったデータ取得をパラメータを受け取って処理する関数にする
2) 渡したいパラメータ(for の 1 から n に相当)の要素をもったテーブルを作る
3) 要素をパラメータとして関数に渡し、結果をとる
4) エラーが発生している行を削除する
5) 関数の結果からピボットテーブルを利用する

ここから connpass の場合を例にとって説明します。Doorkeeper でも考え方は同じです。

1) APIを使ったデータ取得をパラメータを受け取って処理する関数にする

connpass の API の説明ページは以下で、そこでデータ取得のためのサンプルや、各種パラメータの説明があります。

connpass API リファレンス

https://connpass.com/api/v1/event/?keyword=JAWS のように keyward= に検索したいワードを入れることでレスポンスを JSON 形式で受け取ることができます。connpass の場合はレスポンスのデータ件数の初期値が10なので10件しか出力されないのですが、このcount パラメータは最大100に設定でき、かつ、初期値1の開始位置パラメータの start を設定することで 1-100、その次は 101-200、さらにその次は 201-300 と出力を受け取ることができます。URLは以下のようなものを生成できればいいわけです。

1-100件目を取得
https://connpass.com/api/v1/event/?keyword=JAWS&count=100&start=1
101-200件目を取得
https://connpass.com/api/v1/event/?keyword=JAWS&count=100&start=101
201-300件目を取得
https://connpass.com/api/v1/event/?keyword=JAWS&count=100&start=202

キーワードやcountは固定、start パラメータを上述のように変更してリクエストしすべての結果を貰って処理します。

以下は上述の 1-100件目を取得のURLを使って、connpass から JSON データを取得し、ワークシートにテーブルとして展開する手順です。VBAなどのコードを書かずにダイアログ設定だけで JSON をワークシートのテーブルとして展開できることがわかると思います。

[データ]タブの[データの取得と変換](これが Power Query) グループの [Webから] を選択して、URL の入力ボックスに上述のURLをコピーする。

Power Queryエディタが立ち上がって、API リクエストの結果、受け取ったオブジェクトがアイコンで表示されるので、ここで右クリックメニューから [JSON] を選ぶ。

レスポンス情報の「まとめ」が表示される。ここでわかるのは 1番目から開始して、100件を返信として受け取って、可能な返信の件数は 1,135件ある、ということです。JSONで受け取った100件分は、events の List にはいっているので、[List] をクリックします。

Listが展開されて [Record] となりますが、この Record をクリックしてしまうと1件分だけが展開されます。これを全件展開してたいので、リボンの左はしにある [テーブルへの変換] をクリックします。

[テーブルへの変換] 確認のダイアログが表示されるので、そのまま [OK] 

リスト形式のものが「テーブル形式」に変換されます。これによる赤丸の「展開」ボタンで、すべての行にある「レコード」が展開されます。

ここでレコードに含まれる内容が確認できます。このまま OK で構いませんが、[元の列名をプレフィックスとして使用します] のチェックをオフにして、column1 というプレフィックスを消した方が冗長な列名にならずにすみます。

100件分がテーブルとして展開されます。


リボンの [閉じて読み込む] をクリックすると、Powery Query を閉じて、ワークシート上に JSON のレスポンス結果をテーブルに変換したデータが作成されます。

これが基本形です。
この URL の start に受け渡す部分をパラメータ化して変更できる「カスタム関数」を作成します。

いくつかのやり方があるようです。ここでは以下のように「詳細エディター」で Powery Query の M言語を直接いぢります。

Powery Query エディターが閉じられている状態なら、Excel のリボンの [データ] タブの [クエリと接続] グループの [クエリと接続] をクリックし、クエリと接続 ペインを表示して、先ほど作成したクエリをダブルクリックして Power Query エディターを起動します。


[ホーム]タブの [クエリ]グループの [詳細エディタ-] をクリックします。

p1という文字列型のパラメータを宣言する以下の一部を let の前に入れます。URLの一部になるのでデータの属性は text (文字列) とします。

(p1 as text) =>

そして、URLの部分の start= の直後をダブルコーテーションで閉じて、&p1 を追加します。

ソース = Json.Document(Web.Contents("https://connpass.com/api/v1/event/?keyword=JAWS&count=100&start="&p1)),

[完了]ボタンで詳細エディターを終了します。

これでこのクエリはパラメーター入力が必要なクエリ関数になりました。
名前もわかりやすいものに変えておきましょう。右側の[クエリの設定]ペインの名前プロパティで変更可能です。

2) 渡したいパラメータ(for の 1 から n に相当)の要素をもったテーブルを作る

この作成した関数を使って、1,101、201、301、、、、とパラメータを入力して、すべてのデータをひとつのテーブルすると Excel 上では分析するデータソースとして使いやすいです。ワークシートに展開すると 100万行の制限がありますが、Pivotテーブルで利用するデータソースとして使う場合は、必ずしもデータをワークシートに接続する必要はなく、接続情報として保存することで Pivot テーブルのソースとして使えます。

さて、APIでリクエストをして何件あるかはそのとき時でかわります。ただ、上記で API を投げたとき、少なくとも現時点では 1,135 件あることは分かっているので、1,101,201,,,で、1401 とか、1901 まであればカバーできそうなのはわかっています。

そこで 1, 101, 201, 301... 1901 のパラメータリストを作り、そこのデータをパラメータとして関数に渡して、それぞれ100件分のデータを取りこむ、という手順を Power Query を使って踏んでいます。

まず、[データ]タブの[データの取得と変換]グループにある[データの取得]から、空のクリエを選択します。

19個のパラメータを作成するので、入力ボックスに ={1..19} と入力します。すると、1から19までの数字がはいったリストが作成されます。

リボンのテーブルへ変換をして、リストフィールドの数値を使って 1, 101, 201 を作る数式を使った追加の列を作ります。数式は n*100-99 を使ってみます。
テーブル変換した後で、[列の追加]タブの[カスタム列]を選択します。新しい列名はパラメータ変数名の p1 にして、使用できる列 Column1 をダブルクリックすると カスタム列の式に代入されます。そこに *100-99 を追記して [OK] をクリックします。


パラメータはテキストを渡すので、p1列名の横の [ABC123] ボタンを押して、属性をテキストに変換します。

3) 要素をパラメータとして関数に渡し、結果をとる
4) エラーが発生している行を削除する

ここからがカスタム関数を作った醍醐味です。[列の追加]タブの[カスタム関数の呼び出し]をクリックして、ダイアログを開きます。列名はそのままで、関数クエリのドロップダウンでは作成したカスタム関数が表示されるので、それを選びます。
関数を選ぶと、その関数のパラメータに何をいれるかを指定できるドロップダウンリストがでます。列名として指定した p1 をパラメータとして渡す設定をします。

すると関数名の列が新しく追加されます。

11行以降がデータが無いためErrorになるので、この行を削除します。追加列を選択した状態で、[ホーム]タブの[行の削除]から[エラーの削除]を選択します。

削除が終わったら、列名の左にある展開ボタンをクリックして、100件分のデータの展開をします。列名が長くなるので、[元の列名をプレフィックスとして使用します]のチェックを外し、[OK]をクリックします。(以降のサンプルの図は Column1 を外していない図になります。すみません)

各列の属性を適切なものにします。特に集計をしたい列は[10進数]とする、日付の列は [日付/時刻/タイムゾーン]を選んでから、[日付]を選び、[列タイプの変更]ダイアログで [新規手順の追加] を選択して、Excel が理解できる形式に変更してください。


最後は不要な列を削除します。(必要な列だけ選んで他の列を削除するという操作)

[閉じて読み込む]をクリックすると、Power Queryエディタを閉じて、結果をワークシートに展開します。1136行(=データは1,135)で、最初に確認したAPIの返答の result_available の数と一致していることがわかります。

5) 関数の結果からピボットテーブルを利用する 

ここまでくれば、あとは Pivotテーブルで集計できます。
すでにテーブル形式になっているので、[挿入]-[ピボットテーブル]で、この手順通りであれば [クエリ1]というテーブルが指定されている状態でピボットテーブルを作成します。
connpassの場合だと、started_at が開催日、accepted が申し込み人数で、Power Queryで日付データを Excel がわかる形式に変換しているので、以下のような Pivotテーブルが十数秒でできあがります。titleをカウントして何回の勉強会・イベントが開催されているかを集計しています。

この集計方法の最強にして最大の長所は「更新」できることです。一度、このピボットテーブルを作成してしまえば、[データ]タブの[すべて更新]をクリックすることで、再度 connpass に対して REST API を投げて、最新のデータを取得します。その間、Excel 下部のエリアに以下のような「バックグラウンド クエリを実行しています」メッセージが表示されます。

このメッセージが消えたら、ピボットテーブル上で右クリックメニューを表示して、そこから [更新] を選ぶことで、ピボットテーブルも最新になります。

注意すべき点

正確な集計にするためには keyword で取得した後のデータに「ゴミ」が混じっていないかのチェックを入念にしています。実際、この方法で取得したデータのテーブルはファクトテーブルであって、ある意味履歴のようなものです。対象とすべきデータなのかどうかのチェックはスタースキーマであればディメンジョンテーブル(マスターテーブル)と付き合わせるので、ピボットテーブル分析にいく手前で別のステップを踏んで、分析用のデータソーステーブルを作成します。[中止] などの言葉がタイトルにあれば省く、などの例外処理も気がついたら入れていくので、クエリは一度作ったら終わりではなく、常にデータの信頼性を担保するためのチェックをします。このケースの場合は、厳格な命名規則が適用されているわけではないので、毎週、毎月のように新規に追加されたデータから、クエリが正しいかを確認する作業をしています。

一方で、ゴミの有無だけではなく、データの取りこぼしが発生することも確認しています。理由ははっきりとわかっていませんが、一度取りこぼしたデータは次回の更新時にとってくることはないため、一次的なものというより keyword クエリにかからない connpass 側のデータの持ち方かと思います。この場合は強制的に event_id を指定すると詳細を取りこむことができるので、対象となるURL/event_idで強制取り込みリストを作り、そこを参照させて個別にデータを取りこむようにする工夫をしています。

過去の投稿と被っているところも多々ありますが、何かしらの参考になれば幸いです。

2021/06/25

[Excel BI] ピボットテーブルで全体に対する%を計算する

ピボットテーブルを使いこなせたら、ものすごい時間短縮になり、仕事の結果も出る!と考えている人は多いと思います。ピボットテーブルが使えない原因のほとんどは「元データ」にあって、それで行き詰まる人が多い、というのはよく聞く話なんですが、逆に、もし元データに問題がなかったらすべてうまくいくのか?というと、実はそうでもありません。

やり方さえ知っていれば超時間短縮になるのに、といつも思うのがピボットテーブルの「全体に対する(占める)割合(%)の計算方法」です。ピボットテーブル作成までできているので、本当に「あとちょっと」なんです。

以下のようにピボットテーブルの外で計算しているワークシートを見ました。数式の =E2/$E$6 が総計に対する割合を計算しています。$は相対・絶対参照云々、、、ということを言いたいわけではないんです。


Excelの素晴らしいところは創意工夫と時間をかければ何とかなるところです。しかし、そのため知っていれば楽になる本来の使い方を知らないまま、無駄に時間をかけてしまうこともしばしばあります。(余談ですが、同じ結果が出る違うやり方があったり、追加された新機能で今まで苦労してたことが楽になった、など、経験者でもそれ知らなかった、なんてことはザラなので、知らないことを卑下することはありません!)

上記のやり方でレポート終了、今後そのワークシートを再利用しないのであれば、これでも全然問題ないのですが、例えば、製品Eが追加された、Bが無くなった、などのデータの追加・更新がはいった時は行数が変わるので計算式を調整する必要があります。1つや2つなら目で確認できますが、1000個ある内の20個くらいが入れ替わる、という状況では目で追うこともできません。それを関数やマクロでチェックする、、、なんていう斜め上の方向に行く前にピボットテーブルの機能を見直してください。めんどくさいなぁ、と思うことはだいたい実現されています。

ピボットテーブルで列に対する割合を計算する

上の図のように総計 30 を 100% として、各項目 A, B, C, D の占める割合 % を出したいパターンは使うケースがかなり多いと思います。とても簡単なので是非覚えてください。

ポイントはセルの書式設定と一緒で「データの見せ方を変えてあげる」なんです。

通常のデータと、割合のデータの2つが必要なので、以下のように個数の列を2つ作ります。


個数のフィールドを同じように値のボックスに何個でもドロップすることで同じ列を作成できます。次にこのように作った「合計/個数2」の列を%の見せ方に変えます。その列にあるセルの上で右クリックをして、右クリックメニュー(コンテキストメニュー)を表示します。


上のメニューの下から4番目にある「計算の種類」を選択します。


ここで「うぁ、、何選べかいいかわからない」となりそうですが、列に対する比率を計算するので、「列集計に対する比率」か「親列集計に対する比率」のいずれかです。とりあえず、「行集計に対する比率」を選んでください。


あとは、セルの書式設定で小数点以下の桁数を調整してもよし、値フィールドの設定から表示形式を調整し小数点以下の桁数を1などにすれば以下のようになります。


いろいろな計算オプションがあるのは、いろいろなケースに対応するためです。たとえば、以下のようなピボットテーブルの場合はどうでしょう。


単純に総計の 30 に対して占める割合であれば、先ほどの「列集計に対する比率」でOKです。でも、だいたいビジネスの世界では以下のように「キッチン用品」とか「庭用品」で小計をしたりします。同じように事業部毎だったり、リージョン・地域ごとだったりします。
(せっかくなので、その小計の出し方を含めてアニメーションGIFにします)



別の計算の種類を選ぶことで、カテゴリ(キッチン用品、庭用品)を100%にして各項目の割合を出すこともできます。いろいろ試してみてください。

忙しいビジネスパーソンこそピボットテーブルを習得すべき

ビジネスパーソンのための、、、というお題で極論すれば、Excelは関数、ましてやマクロやVBAを覚える前に、ピボットテーブルだけを覚えれば、大体の計算はできます。なぜならビジネスの基本のデータは「表」形式であり、表をベースにした計算が求められるからです。

Excelの機能としての「テーブル」、それらを成形・集計するピボットテーブル、さらにクラウドやサーバーからデータを取りこむExcelの「取得と変換」、グラフはExcelの機能としてはかなり複雑で難しいのですが、それでも最新機能で必要なところだけ押さえることでかなりのことができると思います。

あまた機能を内蔵しているExcelはその学習コストがあまりに高い、大きいです。よりに自分に必要な機能を厳選して、それらの機能習得に時間やお金をかけることが望まれます。

何らかの参考になれば幸いです。

過去の投稿ですが、知識としてはまだ使えますのでお時間があればどうぞ参照ください。

[Excel BI]ピボットテーブルで予算と実績を管理する
https://road2cloudoffice.blogspot.com/2019/09/excel-bi.html

[Excel] テーブルのすすめ ピボットテーブルとリレーションシップ

[Excel] テーブルのすすめ 集計行
https://road2cloudoffice.blogspot.com/2014/10/blog-post_31.html

2019/09/30

[Excel BI]ピボットテーブルで予算と実績を管理する

先日、ある方がPower BIで予算額と実績明細の比較と分析を行うにはどうやればいいか難しい、という話題がありました。ワークシートとセルを扱って計算する Excel ユーザーが Power BIを使い始めるときによく直面する「Excel ならできるのに Power BIだとうまくいかないケース」の一つでもあります。

ひとつ、Power BI の前に慣れ親しんだ Excel の Pivot Table だけで予算と実績を比較するピボットテーブル レポートを作ってみましょう。ワークシート関数は使いません。ただし、ピボットテーブルで「メジャー」を使ってみます。
Excelでなんでそんなに面倒なことするの?と思うかもしれませんが、Power BIとExcelを双方使えるようになるための頭の体操みたいなものです。ある意味 Power BIの世界ではワークシートでセルを自由に編集(セルに数式を埋め込む)することができる「エクセル脳」は結構邪魔になります。とはいえ Excel は使うことが多いので、ちょっとだけデータ処理の考え方を柔軟にしてみてください。

最終的に以下のようなピボットテーブル レポートを作ることを目的とします。
最終的に作成する予算と実績のピボットテーブル
単純なサンプルから目的のピボットテーブル レポートを作ってみます。

予算と明細テーブル

おおよそ、ワークシートで予算と実績を管理する場合、割り当てられた予算額の表(テーブル)があると思います。
予算テーブルのサンプル
もっと細かくても構わないのですが、まずはシンプルなケースで考えましょう。上の予算テーブルからは、事業部Aの前期(2019/1/1)の予算は100、後期(2019/7/1)の予算は50、事業部Bは前期のみ50、事業部Cは前期に10、後期に20の予算が割り当てられています。

これが、縦に部門、横に月があるクロス集計表は分析に使えません。おおよそ人間向けの確認・印刷用にクロス集計表をワークシートに作っていることが多いのですが、クロス集計表はビジネス分析では「結果の表」であって、分析用のデータではないことを肝に銘じてください。(クロス集計表変換方法はこちらを参照してください)

実績明細テーブルは以下のようなものです。明細レコードが追加されていくようなものです。
実績明細テーブルのサンプル

複数のテーブルからピボットテーブル レポートを作成する

SUMIFSなどを使わない、セルに関数式を入力しないで、ピボットテーブル レポートのみで目標の予実対比表を作るには、Excel 2013以降に導入されたリレーションシップとデータモデルを使った複数テーブルからピボットテーブルを作成する機能を使います。ちなみに「範囲」は使いません。必ずテーブルに変換してください。(ここが?と思う方は、過去のブログ投稿などを参照ください)

まずピボットテーブルは「集計が簡単」というのがメリットです。実績明細テーブルからピボットテーブル レポートを作るとすぐに以下のような集計表が作れます。
ピボットテーブル機能で集計表を作成する
同様に予算テーブルも以下のような集計表を作成することができます。
ピボットテーブル レポートによる予算集計表
この2つのピボットテーブルから予算額と実績額を比較できる表の作成ができれば、目的となる表になります。残念ながらピボットテーブルを結合する機能は(私の知る範囲)ありません。予算テーブルと実績テーブルの2つのテーブルから、両方のデータを使ったピボットテーブル レポートを作ります。

まずは、予算合計に対して、実績合計の比較表を作成してみます。複数のテーブルからピボットテーブルを作成する方法は過去に手順をおったブログを投稿していますので、こちらも参照ください。
以下は、総額を比較する手順をアニメーションGIFでとったものです。
予算と実績の合計を比較したピポットテーブルを作る
上のアニメーションGIFの最後のフレームが短いのですが、最終的には以下のピボットテーブル レポートを作成しました。予算の合計は230、それに対して実績の合計は218という表です。
予算・実績の合計の比較表
ここからがちょっとエクセル脳から「考え方」を変える必要があります。
上の表は予算額の合計と、実績額の合計を並べている表ですが、次にこれを「部門別」に分ける、と考えます。事業部Aの予算と実績、事業部Bの予算と実績、事業部Cの予算と実績にわけます。ピボットテーブルの経験のある人は、行ラベルに「事業部」をもってくると出来る!と思うでしょう。このピボットはデータモデルに追加しているので、予算と実績の両方のテーブルが使えます。そのテーブルから「部門」を行に追加すればできそうですが、思った通りの結果にはなりません。
部門を行に追加するも思った結果にならない
実績テーブルの[部門]を選ぶと、実績額は部門別になりますが、予算は全合計のままです。言い換えると実績テーブルの部門を選んで、部門別のフィルターをかけて、実績金額を分けることができたのですが、予算額はフィルターがかかっていない全合計のまま、と言えます。その逆もしかり、です。
実績は部門でフィルタがかかるが、予算はフィルタがかからない
予算を部門でフィルタすると実績は全合計のまま

マスターテーブル/DIMENSIONテーブルの追加

この予算テーブルも明細テーブルも、どちらもFactテーブルです。予算をとった部門や実績をあげている部門は事業部A,B,Cですが、もしかすると事業部Dがあるかもしれません。実績明細で予算をもっている部門がまだ実績がなく明細データがないケースは容易に考えられます。注意しなければならないのは、予算テーブルと実績テーブルの部門をリレーションシップで関連付けるのはまったく意味のないことです。
そこで部門のDimensionテーブル(マスターテーブル)を追加・作成して、各FACTテーブルとリレーションシップを貼り、Dimensionテーブルの項目でフィルターをかけてみます。
追加したシンプルな部門マスター
この部門マスターの部門名と、予算、実績テーブルの部門名でリレーションシップを作成します。
部門マスターと予算・実績テーブルとの間でリレーションシップを作成する
このリレーションシップを作成することで、予算テーブルおよび実績テーブルの集計を、部門マスターの[部門名]でフィルターをかけることが可能になります。
部門マスターの部門名で合計金額をフィルタリングする
次にやりたいのは、月別にする、四半期別に集計する、か、予算と実績から達成率や消化率といった計算結果を出す、のどちらかでしょう。今回は実績/予算で消化・達成率を出す方法をみてみます。ちなみにこれがメジャーをExcelで使うことになります。

ピボットテーブルでメジャーを追加する

Excelのピボットテーブルに詳しい人であれば「ん?メジャー?そこは集計フィールドじゃない?」と思うでしょう。ただ、複数テーブルを処理するためにデータモデルを使うと集計フィールドが使えなくなるのです。(リボンでグレイアウトされます)そのかわりにメジャーを使うことになります。なお、セルに関数式を使って消化・達成率の計算はできますが、その誘惑に負けないようがんばりましょう。(これがエクセル脳の弊害のひとつです)

すでに以下のように部門別の予算・実績テーブルができています。ここに実績合計を予算合計で割った、消化・実績の割合を計算するフィールドを追加します。
ピボットテーブルでメジャーを追加する
メジャーの数式入力欄では "[" を入力すると、計算に利用できるフィールドのリストが表示されます。表示形式もセル範囲指定の書式変更でなく[値フィールドの設定]から書式設定を行ってください。メジャーによる消化・達成率を使って、以下のピボットテーブル レポートが作成できました。
消化・達成率のメジャーを追加した予実管理表
日にち・時間はExcelやPower BIでは重要でかつ難しいエリアです。特にExcelは内部で暗黙的にカレンダーをもっているので、通常ExcelユーザーはカレンダーをDimensionテーブルとして意識していません。
先の部門別のフィルターが予算合計と実績合計に適用するときのように、日付についてもFactテーブル(予算と実績のテーブル)にある日付を使うとうまくいきません。Dimensionテーブルとしてのカレンダーテーブルを作成し、そこからFactテーブルの予算、実績テーブルの日付と関連づけて、カレンダーテーブルのフィールドを使ってフィルターします。
最終的には以下のようなピボットテーブル レポートの作成が可能です。
四半期別にした予実管理ピボットテーブル レポート
ピボットテーブル レポートなので、行ラベルの入れ替えも瞬時に可能です。
行ラベルの順序の入れ替えも容易
#NUMが気に入らない、、、とはいえ分母(予算)が0なので、計算式的にはエラーですので、このあたりは「決め」の問題で対応を考えるしかありませんね。

いかがだったでしょうか。
唯一、計算式を記入したのはメジャーの数式の部分でした。Excelのピボットテーブル機能は、オリジナルのExcelと、将来メインになるだろうPower BIとちょうど中間にあるような感じだと思います。いきなり Power BI 脳になるのも難しく、かといって Excel 脳だとなかなか Power BI の世界が異質に見えるのも確かです。

これらの機能を使ったほうがいいのは、やはりデータが動いている状況でのレポートが欲しい時です。ピボットテーブル レポートなので、実績明細が常に追加される状況では「更新」を押すだけで最新データを使ったレポートに更新されるからです。日々レポートを更新しなければならない人にとっては、これほど素晴らしい機能はありません。
さらにセルに直接数式を入力していないため、実績明細のレコードが増えて予実比較表の行数が増えても、数式を入れ直すことなく表の更新が可能になります。

ここから他の人とレポートを共有しなければならない場合は、Excelではなく Power BI を使うことを検討したほうがいいでしょう。Enterprise BI は常に他の人とのデータおよびレポートの共有が必須ですから、エンタープライズでの BI は Power BI に向かうのは必然だと考えます。

これが少しでもみなさんの参考になれば幸いです。
Powered by Blogger.

自己紹介

自分の写真
1989年新卒で日本IBMに入社しダウンサイジング担当としてホストコンピュータと繋げるオフコン、UNIX、PCサーバーのプロジェクトを担当。1997年 MSKK(現日本マイクロソフト)入社、NT4出荷に伴い企業向けサポート部門のビジネスマネージャーとして Excel 使いとなり、2002年 にMSMVPなどをサポートするユーザーコミュ二ティ部門を設立、部門をリード。2006年にMSKK退職後、企業向けのITトレーニング会社・団体に携わり、2014年頃よりPowerBI勉強会主催メンバーの一人として参画、そのコミュニティ活動で MSMVP for Data Platform PowerBI 2017受賞。https://mvp.microsoft.com/ja-jp/PublicProfile/5002635 同年にMVP Awardを返上し、アマゾン ウェブ サービス ジャパンに入社、コミュニティプログラム担当として現在に至る。