0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PowerBIDesktopで、ひとつ前の行を参照する(Index - 1が重かったので、別処理)

Posted at

PowerBIDesktopで、ひとつ前の行を参照したいニーズがあった。具体的に、以下のようなニーズ。

Index 取得したい列 取得した列
1 山田 Error
2 田中 山田
3 石崎 田中
4 来生 石崎
5 井沢 来生
6 井沢

DAXに慣れてないので、PowerQuery側で何とかしてみようと思い、ChatGPT大先生に聞くと、以下のようにすればいいよ!って回答あり。
・最初に、インデックスを作る (0スタートのもの)
・以下のようにカスタム列を作る
 追加されたインデックス[取得したい列]{[インデックス] - 1}

PowerQuery上で試してみると、うまくいった。
さすがChatGPT大先生!と思って、適用させたところ、問題発生。
適用が終わらん。。

前提条件

今回、読み込むソースはCSVファイルで、ローカルPC上に置いている。
なお、ファイルは4つに分かれている為、PowerQuery上で事前に結合させている。
image.png
なお、ファイルの容量は以下の通り。これは伏線なので、軽く覚えておいてほしい。
image.png

起こっていたこと

ファイル読み込みウィンドウを見てみると、データの読み込みはしてくれている。
ただひとつおかしいのは、用意したCSVファイルの容量をはるかに超えるデータ量を、読み取っているということ。

image.png

1GB?なして??
訳が分からずに、天井知らずでどんどんデータ量は膨れ上がっていた。

原因

やり方が悪いと思うんだけど、なんでだろう?
だれかわかる人いましたら、お教えいただきたい。。

対策

とりあえず、違う方法を試みた。
・最初に、インデックスを作る (0スタートのもの)
・もういっこ、インデックスを作る (1スタートのもの)
・下の絵のように、マージする
image.png
マージってコスト重いとかいうし不安やなーって思ってたけど、すぐ終わった。

結果

狙い通りの処理ができるようになって満足。
でも原因不明。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?