質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
Power BI

Power BIは、マイクロソフト社が提供しているBIツールです。レポートの作成・共有、エクセルや会計システムなどさまざまなソフトウエアのデータをグラフやチャートに変換。データの分析・解析などにも利用できます。

Q&A

解決済

1回答

1882閲覧

PowerQueryでデータの偶数行を削除したい

atk233

総合スコア13

Power BI

Power BIは、マイクロソフト社が提供しているBIツールです。レポートの作成・共有、エクセルや会計システムなどさまざまなソフトウエアのデータをグラフやチャートに変換。データの分析・解析などにも利用できます。

0グッド

0クリップ

投稿2023/08/08 06:53

編集2023/08/08 08:15

実現したいこと

タイトルの通りですが、PowerQueryにて偶数の行だけを削除ないしフィルターしたいのですがうまくいきません。
方法をご存じの方、教えてください。

たとえば、以下のような例になります。

時期商品名数量
今月A商品3
前年比A商品10
今月B商品11
前年比B商品2
今月C商品5
前年比C商品1

このような場合に、「前年比」の行を取り除きたいと思っています。

グループ化して、項番を付けるのもやってみたのですが、
上記のA商品、B商品・・・が時期によって可変する値になるため、うまくいきませんでした。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sk.exe

2023/08/08 07:53

> PowerQueryでデータの偶数列を削除したい > PowerQueryにて偶数の行だけを削除ないしフィルターしたい 「列」と「行」では意味も解決方法も異なってきます。
atk233

2023/08/08 08:09

誤字があり、申し訳ございません。「行」が正しいです。
sk.exe

2023/08/08 08:25 編集

> このような場合に、「前年比」の行を取り除きたいと思っています。 「行番号が偶数であるレコードを取り除く(奇数であるレコードのみを抽出する)こと」と「[時期]列の値が"前年比"であるレコードを取り除く("前年比"ではないレコードのみを抽出する)こと」では、やはり意味が異なります(必ずしも同じ結果になるとは限らない)。 いずれにしても、抽出の対象が「列」ではなく「レコード」なのであれば、基本的には Table.SelectRows 関数を使用することになるでしょう。
meg_

2023/08/08 11:54

普通にフィルターで「前年比」を除外できませんか?
atk233

2023/08/09 00:13

s.exe様 ありがとうございます。レコードが対象になりますので、Table.SelectRows関数を調べてみます。 meg_様 ありがとうございます。例がよろしくなかったと思うのですが、実際のデータには「時期」列には空のデータになるので、ご提案いただいた文字列でのフィルターができません。
sk.exe

2023/08/09 02:09 編集

> 例がよろしくなかったと思うのですが、実際のデータには「時期」列には > 空のデータになるので、ご提案いただいた文字列でのフィルターができません。 ならば[時期]列は何のために存在しているのでしょうか。 仮にご質問の通りに([時期]列や[商品名]列がどうとかいう話は一切無視して)「偶数行を除外する(奇数行を抽出する)」のであれば、1から始まるインデックス列を追加し、その列の値が奇数であるか否かを判定し、その判定結果が true であるレコードを抽出するようになさればよいでしょう。 それぞれの数値が奇数であるか否かは Number.IsOdd 関数を使用すれば判定可能です。 (偶数であるか否かを判定したければ Number.IsEven 関数を使用すればよい) > グループ化して、項番を付けるのもやってみたのですが、 > 上記のA商品、B商品・・・が時期によって可変する値になるため、うまくいきませんでした。 ただ、本当にそれが「本来の目的」に即した解決策であるかどうかについては、正直疑問符が付きます。
meg_

2023/08/09 03:07

> たとえば、以下のような例になります。 > このような場合に、「前年比」の行を取り除きたいと思っています。 > 例がよろしくなかったと思うのですが、 例が例になっていなかったということでしょうか? 実際のデータを簡略化したものを提示された方が回答がつきやすくなるかと思います。
atk233

2023/08/09 05:40

sk.exe様 丁寧にありがとうございます。例が悪く申し訳ございません。たしかに、インデックス列を付与し、奇数のみを Number.IsOdd 関数で判定、絞りこみでうまくできそうな感触です。実際、試してみます。ありがとうございました。 meg_様 ご連絡ありがとうございます。ご提示した例が悪く、申し訳ございません。sk.exe様の回答でうまくいくかもしれませんので、次回以降、ご質問の仕方は工夫いたします。ありがとうございました。
guest

回答1

0

自己解決

s.exe様、meg_様、Lhankor_Mhy様 コメントいただきありがとうございました。
コメントの中でやり取りさせていただいておりましたので、こちらの自己解決にてクローズさせて頂きます。ありがとうございました。

投稿2023/08/23 09:09

atk233

総合スコア13

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問