2016/06/20

[取得と変換・Power Query] 列の削除と他の列の削除は全く意味が違います

すでにお気づきの方には申し訳ないエントリーになります(笑)。

取得と変換/Power Queryのクエリエディターで [ホーム] タブの [列の管理] グループにある [列の削除] には2種類の列の削除方法があります。

[列の削除]と[他の列の削除]です。


本当に正直なところ、処理でいらない列を「たまたま」選択したんだったら[列の削除]をして、「たまたま」必要なものを選択していたら[他の列の削除]を選んでいました。

これ、それぞれの Power Query Formula Language を見ると以下になるんですよね。

列の削除

= Table.RemoveColumns(変更された型,{"区分A"})

他の列の削除

= Table.SelectColumns(変更された型,{"日付", "区分A", "数値A"})

列の削除は、そのまま「列の削除」でいいのですが、他の列の削除は、結果的に列を削除しているのですが、実は、「必要な列を選択する」という意味なんですね。

そのため、元データで「やっぱり、この列、いらないね」となって、元データからその列が削除された場合、「列の削除」を指定しているか、「他の列の削除(=必要な列の選択)」をしているかで、クエリ更新時にエラーが出てしまうんです。

クエリで削除しようとしていた元データの列がないと、当然ですが、そんな列はありません、というエラーです。


列の削除は「これは含みたくない列だ」という強い想いがあるもの(言い過ぎですけど)、そういう強い想いがなければ、必要な列を選択して「他の列の削除」とすれば、上記のようなエラーはでない、ということです。

あまり意識しないで「列の削除」を多用していました。必要な列だけを残すために、不要な列を Ctrl キーを押しながら選択して・・・という手順です。これ、本当は必要なデータを選択したほうがいいと感じています。

もちろん、元データの必要な列が削除されれば、「そんな列は見つからない」という、削除と同じエラーになります。が、必要なデータの削除は気が付きやすいですし、そもそも必要ですから注意を払います。

0 コメント:

コメントを投稿

Powered by Blogger.

自己紹介


PowerBI コミュニティ勉強会の 沼口 です。
https://powerbi.connpass.com/
最近の Excel は Office 365 のクラウドサービスと 連携する方向性が打ち出されています。この「Road to Cloud Office」ブログでは、Excel ユーザーの視点から Power BI Service や、Office 365 の活用方法を模索した結果をお伝えしています。
Microsoft MVP for Data Platform 2017-2018