X



【Excel】Power Queryを語るスレ【Power BI】
0001名無しさん@そうだ選挙にいこう
垢版 |
2019/10/20(日) 11:59:28.17
Excel 2016から標準装備、Excel 2010以降も追加可能なPower Query。
使ってみると驚く部分は多々あれど、普及したとは言い難い。

手探りで分かったこと、英語の資料から判明したこと等、いろいろ語って下さい。
Power Pivot、Power View、Power BIについても歓迎。

公式 「概要と学習」 (日本語)
https://support.office.com/ja-jp/article/Power-Query-%E6%A6%82%E8%A6%81%E3%81%A8%E5%AD%A6%E7%BF%92-ed614c81-4b00-4291-bd3a-55d80767f81d

Excel 2010、2013用アドイン (日本語)
https://www.microsoft.com/ja-jp/download/details.aspx?id=39379

公式 M言語レファレンス (英語)
https://docs.microsoft.com/en-us/powerquery-m/index

「Power Query メモ」 (外部サイト:M言語レファレンスの日本語化等)
https://sites.google.com/site/powerquerymemo/
0002名無しさん@そうだ選挙にいこう
垢版 |
2019/10/25(金) 01:10:27.86
ワークシート上の名前定義した特定セルをPower Query内で参照する方法。
「テーブルまたは範囲から」データの取得をするのと似ている。

PowerQuery use a cell values in a URL
https://stackoverflow.com/questions/49281763/powerquery-use-a-cell-values-in-a-url

定義名を宣言して
M言語内引数のパラメータ部分にその定義名を置き換える。
0003名無しさん@そうだ選挙にいこう
垢版 |
2019/10/25(金) 01:18:45.31
テーブル内の2列の組み合わせでソートする方法。

How to sort multiple columns using the M Language in Power Query
https://youtu.be/_5HKai6oR78

M言語の Table.Sort() の引数内に2つの列を入れ込む。

例) データ取得日を降順で、その中で観測日時は昇順で並べ替えたい場合
並べ替えられた行 = Table.Sort([前のステップ名],{{"データ取得日", Order.Descending},{"観測日時", Order.Ascending}})
0004名無しさん@そうだ選挙にいこう
垢版 |
2019/10/25(金) 02:36:24.34
Excel関数の "COUNTIF(A$1:A2,A2)以下コピペ" 【Running Count手法】で、
重複を上から順に計算するのをPower Query内で実現する方法。

Power Query Running Count Based on Row Condition ? Excel Magic Trick 1588
https://youtu.be/kjOmNPoVDYs

説明が早口なので、ヒアリングが弱い自分はまだ何回か見直さなければならないけど、
1. 基準となる列をソートした後にステップで
 BufferedTable = Table.Buffer("基準列")  ・・・COUNTIFの"A列"に相当
と、メモリー上に返す宣言するステップを作っておく。
2. カスタム列で1列追加して基準列をもとにした「内部表」を作る
=Table.AddColumn(BufferedTable, "RunningCount", each 1)
と、全部 "1" を入力する列を仮に追加しておいて、
3. カスタムファンクションの "each" の部分を省略表現の
(OT) =>
に変え?("Outside Table" "Inside Table"を略してそれぞれ (OT) (IT) のことか?)
以下、後はなんとなくだけど、当初テーブルを「外部表」として、
「外部表」の基準列に紐付けられた、入れ子の「内部表」を各行に作って
この内部表について、それぞれの行数を数えるCount関数をかぶせて、仕上がりは、
= Table.AddColumn(BufferdTable. "RunningCount",
(OT) => Table.RowCount(Table.SelectRows(BufferedTable, (IT) => IT[基準列]
<= OT[基準列] and IT[内部表の集計対象列] = OT[外部表の集計対象列])))
みたいな?

=> <= は「順次代入する」の意味?
""で囲まれた列名のアタマに付いた#は、列名にブランクが含まれている場合の特殊記号?
0006名無しさん@そうだ選挙にいこう
垢版 |
2019/11/03(日) 12:27:45.07
@同じフォルダ内に複数のEXCELファイルがある。
AそのすべてのEXCELファイルに全く同じ構成のテーブルがある(テーブル名、カラムの定義も一緒)。

そのすべてのテーブルをマージしたいんですが、ソース取得のコードってどう書けばいいでしょう?
0007名無しさん@そうだ選挙にいこう
垢版 |
2019/11/03(日) 17:16:19.22
>>6
行数を除いて、同じフォーマットの表であれば、
読み込むときに先に結合させては?

入り口は、このあたりも参考になるかと。
ExcelでPowerQueryを使ってデータ収集分析
https://qiita.com/mosugi/items/71df310b35db81722d1e

「データの取得−ファイルから−フォルダ−から」入って
フォルダーパスを指定したら、「結合」ボタンも出る。
その中のメニュー「データの結合と変換」を選ぶと
読み方(xlsxファイルだと、どのsheet/範囲/テーブルか、余計な行は削除するか、ヘッダーはどうするか、カスタム列の追加、列の型等)
をサンプルで指定できそう。

※ たぶん、エディターで自動生成される「サンプル ファイルの変換」で読み方を指定するのかと。
Power Query内に自動でパラメーター関係のフォルダーやクエリー等が生成されるけど、
このあたりの仕組みは、当方まだ解明できていない。

これをやってから読み込めば
出来上がるクエリーが1つになり、以後の扱いが楽になるかと。

ただし、
1. xlsx表内の目的のsheet名が異なっていると、面倒かも?
同じテーブル名だったら直接指定できるかもしれない。
2. 目的のフォルダーにさらにフォルダーがあって、別置きのものが入っていたりすると、
それも読み込んでしまう模様。
00087
垢版 |
2019/11/03(日) 17:18:19.58
>>6
で、コードは >>7 で出来た詳細エディターを参考に。
0009名無しさん@そうだ選挙にいこう
垢版 |
2019/11/27(水) 15:26:03.51
Power Pivot使ってる人ってどの位いるんだろう?
自分は何とか使えるようになったけど、セミナーに出席しても使えてそうな人殆どいなさそう...
0010名無しさん@そうだ選挙にいこう
垢版 |
2019/11/27(水) 16:04:13.51
>>9
日本語の解説書籍やWeb記事がまだ少ないからねぇ・・・

セル結合とかで、紙の帳票っぽく仕上げるとか、
IFの入れ子が多数な、複雑な関数を組んで作業列をなくすとかで、
見た目をよくすることばかりに血道を上げるより、
まず、テーブル形式(≒クエリー)がどれだけ便利かに気付いて貰えばと。

これ使うと、出来ることがだいぶ増える。
他の人がステップ(マクロ)の仕組みを理解するのは、
VBAよりも比較的わかりやすいし。

WebスクレイピングではPhythonより出来ることは限られるけど、
敷居の低さ、わかりやすさでは、こっちの方が良さそうに見える。

ビッグデータと呼ぶのが正しいかどうかは知らんけど、
特に、いろんなWebサイトで公開されてるデータ処理。

計算がバッチ処理・カスケード処理だから、
何十万行でも、普通のPCで出来るし。
VBAやPythonとの補完も出来そうだし。
0011名無しさん@そうだ選挙にいこう
垢版 |
2019/11/28(木) 00:59:16.42
パワーピボット使ってる。カラムの異なるデータがみるみる集計できるから多用してる。

でもあれも変なところで物足りなくて、時間表記でセル書式の[h]:mmなんかがサポートされてなかったり。
00129
垢版 |
2019/11/28(木) 10:12:04.47
>>10
同感。
普通の関数を追求するやつもそうだけど、VBAで自動化とかいうのもあまり好きじゃないな。
重い大量データを処理するなら絶対DAXが良い。
それに、どうせスクリプト書くなら汎用的なPythonやシェルスクリプト覚えた方がマシな気がする。

ところでPower Pivotでスクレイピングって、こういうのの事?
https://docs.microsoft.com/ja-jp/power-bi/desktop-tutorial-importing-and-analyzing-data-from-a-web-page

Power Pivotでこういう事をやろうとはあまり考えてなかったな。Pythonでは考えてたけど。
今度試してみよう。
0013名無しさん@そうだ選挙にいこう
垢版 |
2019/11/28(木) 23:08:44.86
>>12
そう。
「メニュー−データ−データの取得と変換−Webから」
でURLを指定するヤツ。

Power QueryではPythonみたいに、
Web画面がテキスト入力させたりとかボタンを押させたりのものだとタイヤ雨出来ないけど、
複数ページあって、URLがページ数を反映しているものだったら、
対応できる模様。
こんなのとか。

[Power BI / Excel] 複数にまたがる Web ページからデータを取得する
https://road2cloudoffice.blogspot.com/2017/07/power-bi-excel-web.html
0014名無しさん@そうだ選挙にいこう
垢版 |
2019/12/12(木) 18:38:41.37
2016vbaでcsvから作ったクエリのrefreshallしても更新されないことがある?
うちの環境で一旦endしても更新されない時があるのは謎。
ボタン分けて継続の作業をしていますが、その間に手動ですべて更新しています
0015名無しさん@そうだ選挙にいこう
垢版 |
2019/12/12(木) 20:14:38.01
>>14
vbaを噛ましてないけど、Office soloのExcelで、
1つのcsvから多段にクエリーを展開していくとき、
「すべて更新」で上手くいかないことはある。
正直、謎。

自分なりの回避方法は、

1. シーケンシャルに再計算させたいクエリーはそれぞれのプロパティで
 「バックグラウンドで更新する」:OFF
 「すべての更新でこの接続を更新する」:ON
https://i.imgur.com/ZBFAHRz.png

2. 「クエリと接続」の一覧で上から順番に並べる。

3. クエリーテーブルをsheetに置いてある場合は、
 計算順に左からsheetのタブを並べ替える。

これでも「最後の再計算が終わった」と思っても、
まだ中間のクエリーの1つが再計算しだしたりする・・・

保険で「すべて更新」は2回することにしている。

MSに提案してもいいかも、
もっと確実にしてくれと。
0016名無しさん@そうだ選挙にいこう
垢版 |
2019/12/12(木) 20:21:32.88
>>15
ありがとうございます
同様の事象があることがわかり安心しました。
仕事で使えると思って頑張って学習しています。
確認しながら進めて聞きます。
0017名無しさん@そうだ選挙にいこう
垢版 |
2019/12/18(水) 10:10:52.07
外部データ取り込みで他EXCELファイルのテーブルを読みに行く時、
そのテーブルのカラムのデータ型はanyで、nullも文字列も小数点以下の数値(正数・負数)も含むんだけど、
Table.ExpandTableColumnのタイミングで小数点以下が丸められてしまう。

追っていくと、SampleFileでファイルを呼び出した時点で丸められてしまっているようだ。


なった事あるって人居ませんか?
0018名無しさん@そうだ選挙にいこう
垢版 |
2019/12/18(水) 11:33:18.06
自己解決したので勝手に語る。

読み込み元ファイルの問題だった。
でも謎が残る。

元データのテーブルの該当データは通貨型。単純な掛け算式が入っていて、丸め処理はしていないから、セル表示では丸められているが、内部的には小数点以下を持っている。

これを、表示設定で小数点をセル表示上で見えるようにしてあげたら、クエリの結果に小数点以下が表示されるようになった。

因果はわかったけど、仕様が謎。
データ型変更、ステップのどこにも入ってないのにね。


他、関連するかどうかもわからないけど、勝手に型変更をしているステップがあって、Int64になってた箇所があった。この型も小数点以下の取り扱いが無く、丸められるので注意が必要。
0020名無しさん@そうだ選挙にいこう
垢版 |
2019/12/21(土) 00:08:19.02
読み捨てで読み込んだデータでは直接ピボット作れないのね
何十万行もあるデータファイルのデータ、容量を軽くしようて思ったけどダメだった

データモデルで読み込んでも半分も軽くならない
0021名無しさん@そうだ選挙にいこう
垢版 |
2019/12/21(土) 11:44:24.58
yahoo知恵袋に、「読み込み先を”データモデルへの読み込み”に変更して,ブッククエリのみを作製するとそのまま『PowerPivot』で読み込みできます」とあったのを見つけたんだけど、自分では未検証です。

↓ソース
Power Queryを使って、200万行ほどのデータを扱うことはできませんか?Power Pivotでの重複の削除の仕方がわからず、Power Query… - Yahoo!知恵袋 https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11154335451?fr=and_other
002220
垢版 |
2019/12/21(土) 16:24:04.15
>>21
ヒントありがとう!試してみます。
0023名無しさん@そうだ選挙にいこう
垢版 |
2020/01/18(土) 14:22:44.76
プライバシーレベルの設定で実際にどのような影響(効果)が出ますか?
社内のネットワークドライブに置いてある複数のブックからクエリを作ってそれを結合する様な使い方です。
0024名無しさん@そうだ選挙にいこう
垢版 |
2020/01/26(日) 20:29:57.40
パラメータの管理ってどういう使い方が想定されてるの?
パラメータに設定されてる値の変更はクエリエディタ開かないとできないよね?
0025名無しさん@そうだ選挙にいこう
垢版 |
2020/01/26(日) 21:57:03.50
あれはクエリエディタで汎用の関数やクエリを作るときの道具だと思う
Power BIのレポートのパラメータ編集なんかやるときに使うものでしょ
0026名無しさん@そうだ選挙にいこう
垢版 |
2020/05/28(木) 23:39:01.02
容量の大きなテキストから2つのテーブルを作るとき、今はクエリを2つ作ってそれぞれ実行するので、2回データの読み込み待ちがあるのが気になります。
読み込み1回で出来るよとか、なにか時間を短縮する方法を知ってる人がいたら教えて下さい。
0030名無しさん@そうだ選挙にいこう
垢版 |
2020/08/28(金) 10:53:58.93
(備忘)
VBAでクエリーを更新するとき、
 個別のクエリーを「最新の情報に更新」
の手動操作を「マクロの記録」でやると
 ActiveWorkbook.Connections("クエリ - 【クエリー名】").Refresh
となる。
これだと前後のsheetやVBA内での計算が
きちんと実効されないケースがあった。

こうではなく、

1. 事前にクエリーの変数を
Dim tbl As ListObject
等と宣言しておいて、

2. 変数に当該クエリーを代入
Set tbl = ThisWorkbook.Sheets("【シート名】").ListObjects("【クエリー名】")

3. 実際に更新する命令は "QueryTable"オブジェクトの"Refresh"メソッドを使って
tbl.QueryTable.Refresh BackgroundQuery:=False

とすれば期待通りの結果を得られた。

ここでの、"BackgroundQuery:=False"と、
明示的なパラメーター指定が重要。

省略するとデフォルトがTrueなので、
元のクエリーがプロパティで「バックグラウンドで更新する」のチェックが外れていても
チェックが入った状態と同等で実効される(?)ため、
シーケンシャルに計算が実行されないのか?
0031名無しさん@そうだ選挙にいこう
垢版 |
2020/11/26(木) 23:17:12.97
エクセルのpowe queryに関してです。 Table1
A列
3
1
2
Table2
A列   B列
リンゴ  1
イチゴ  2
バナナ  3
結合して
Table1へ
A列
バナナ
リンゴ
イチゴ
このようにしたいです。 お知恵をかしていただけないでしょうか。
0032名無しさん@そうだ選挙にいこう
垢版 |
2020/12/02(水) 08:51:17.92
>>31
今ひとつ質問の趣旨が読み取れないのだけれど、
Table1-A列、Table-B列の数値は何?
品目コード? 数量?

それとは別に「品目の表示順」を一定にしたいのだったら、
A列:表示番号、B列:品目のTable3
を別に作って、これに結合してソートかけちゃうけど。
0035名無しさん@そうだ選挙にいこう
垢版 |
2021/03/06(土) 04:35:58.10
意味のわからん物ばかり作らないでくれ
標準のVBAですらバージョン互換が事実上無いのに。
それはそうとPowerBIをまともに使ってる会社は本当にあるのか
弊社はコンサル料だけ払って放置中
0037名無しさん@そうだ選挙にいこう
垢版 |
2021/03/06(土) 22:04:14.60
PowerBIの様な素晴らしいツールがあるのに使えてないのが日本企業の駄目さ加減を表していると思う。
PowerQuery/BIの存在すら知らないのが大半かと。
0043名無しさん@そうだ選挙にいこう
垢版 |
2021/03/10(水) 10:47:05.97
神経症でも発症したのか?

「公共、公共」とかギャースカわめくなら、
もっと国際的に通用する、英語にでもしよか?

失せろ
0048名無しさん@そうだ選挙にいこう
垢版 |
2021/03/22(月) 13:37:23.07
46 じゃないが元経理として、
Power Query は大きな組織では、
・ERPから吐き出した大量の仕訳データを分析する (PCでの計算負荷分散、定型化)
・ERP化出来ていない細かい集計を各部署・現場から集める
なんてところで使えたろうな、と。
0049名無しさん@そうだ選挙にいこう
垢版 |
2021/03/22(月) 14:14:12.02
項目 4月 5月 … 3月
あれ 123 456 … …
それ …  …  … …


みたいな表を、
データとして再利用するのに

項目 月 値
あれ 4月 123
あれ 5月 456


みたいに線形にするのに使ってる。
ピボットを分解できるのが一番ありがたい機能。

回収した見込情報や作成した予算の、整理、分析。そういったことに流用してますね。

他にも諸々。
0050名無しさん@そうだ選挙にいこう
垢版 |
2021/04/11(日) 09:54:04.09
リレーションシップでハマってます。
どなたかお知恵を貸していただけないでしょうか。

↓のテーブルで担当者1と社員マスタは繋げられるのですが、担当者2を繋げようとすると循環参照だとエラーになってしまい困ってます

データテーブル
・担当者1
・担当者2

社員マスタ
・社員
0056名無しさん@そうだ選挙にいこう
垢版 |
2021/07/29(木) 11:06:01.27
Excelの話。
複数のcsvをFile結合したクエリAがあって、
そのクエリAを「参照」して集約データをつくるクエリBをこしらえた。

これでクエリBだけを更新すると
更新状況を示す欄にcsvを全部読み込んでる表示が出てくる。
クエリAの読み込み先はデータモデルにしてあるのだけど、それでもいちいちcsv読み直しに行ってるみたいでめっちゃ時間かかる。

クエリAの結果を保持したままクエリBだけ動いて欲しいなあ…大したことしてないから一瞬で終わるはずなのに。何かいい手ありません?

データモデルの意味も良くわからんなあ…
読み込み先データモデルにしとくとOnMemoryじゃなくてDiskに保存されてるものと思ってたから、いちいち読み込み直すんかい!て思った。
0057名無しさん@そうだ選挙にいこう
垢版 |
2021/07/29(木) 16:14:49.62
>>56
csvまで遡っての再読み込みで時間がかかるほど大きなデータなら、
csvを統合するクエリAまでで1つのbook
それを読込みに行くクエリBを別のbookにすれば
よろしいかと。

クエリAもBも1つのbookで、
「すべて更新」ボタンで更新しているなら、
クエリの構成によっては先にBの更新をしてしまい、
エラーになることがある。

シーケンシャルにA→Bの更新を実行させたい※なら、
クエリAのプロパティを開いて
「バックグランドで更新する」
「すべて更新でこの接続を更新する」
の2つのチェックを外したらどうか?
https://i.imgur.com/ckSj5fa.png

クエリBの更新は「すべて更新」で
クエリAの更新は「クエリと接続」の一覧で当該クエリを右クリックで「最新の情報に更新」
で出来ないか?

※ 多重なクエリを厳密にエラーなしにシーケンシャルに更新したいなら、
VBAで"tbl"をListObjectで変数宣言して、クエリ一覧表から1つ1つ
tbl.QueryTable.Refresh BackgroundQuery:=False
で更新させている。
0058名無しさん@そうだ選挙にいこう
垢版 |
2021/08/02(月) 15:24:54.85
>>57

ありがとうございます。
bookを分割するのが確実そうですね。
月初の繁忙期に入ってしまうので来週くらいに時間取って試してみます。

あとこれsharepointに上げておいたら定時更新してくれたりせんかなあ。
パソコンカチャカチャ仕事を減らしたくていろいろやってるのだけど、もうコード書くどころか「すべて更新」押すのすら面倒になってきた笑

面倒なのを「やっとけ」言うだけの人はいいよね
やらされる方はほんとたまったもんじゃないわ…
0060名無しさん@そうだ選挙にいこう
垢版 |
2021/08/25(水) 06:54:28.35
>>59 に追記
マージでの名寄せで完全一致以外のあいまい照合は、
閾値設定とか別リスト参照か。

番号範囲に対する近似値(うちわの最大)とかは出来ないので、
ここはヤッパリ、ソートしてMATCHとかXMATCHになりそう。
0061名無しさん@そうだ選挙にいこう
垢版 |
2021/09/09(木) 16:30:59.59
初心者です
みなさま教えて下さい

PowerQueryで吐き出したシートに対して、列ごとに名前の定義をして使うことを考えています
しかし、元データを直して更新すると、吐き出したシートの列の名前の定義が消えてしまうようです
どうやったら解決できるでしょうか?
VBA組むか、その都度定義してやるしかないでしょうか
よろしくおねがいします!
0062名無しさん@そうだ選挙にいこう
垢版 |
2021/09/10(金) 02:54:51.48
>>61
> 元データを直して更新すると、吐き出したシートの列の名前の定義が消えてしまうよう

状況がよく分からないのだけれど、
列名変更をPower Query エディターでやらずに、
ワークシート上で直接変更した
ということ?

クエリーとして最初に認識した列名が
エディター内のその後のステップで扱われるから、
エディターで列名変更しないとクエリーエラーになるのかと。

元のシートの列名と、変換したい列名が固定しているなら
エディター内で列名を変更するステップを追加すれば良いのでは?

元表をクエリーに変換するとき、先頭行をテーブルの見出しにしないか、
例えば、
・元表は別のbook
・ワークシート名は同じ
・対象となるテーブルや定義範囲のタイトル行は、ワークシート上の開始位置は同じ
・列の基本構成や順番は同じで、「8月合計」→「9月合計」に変わる程度
ということなら、

クエリーとして読込む対象を、テーブルではなくワークシートにすると
A列、B列・・・がColumn1、Column2・・・として固定して認識されるので、
エディター内で
・このColumn1、Column2・・・の列名変更する
・データ本体1行目までの間にある余計な行(旧見出し行を含む)を削除
するステップを入れれば良いのでは?
0063名無しさん@そうだ選挙にいこう
垢版 |
2021/09/11(土) 09:36:43.83
PowerQueryで、
「セルがすべてnull」の列を判定して、その列を削除する
みたいなことってできますかね?
M関数をどうやって組めばよいでしょうか。
006563
垢版 |
2021/09/11(土) 14:35:27.32
>>64
やっぱりだめですかありがとうございます
VBAでやるしかないですかね・・・
006763
垢版 |
2021/09/11(土) 17:05:12.81
>>66
PowerQueryでなにか方法ありますか?
007063
垢版 |
2021/09/11(土) 18:22:02.99
>>69
おお、その手がありましたか
ちょっと試してみようかな
ありがとうございます
0073名無しさん@そうだ選挙にいこう
垢版 |
2021/10/17(日) 21:29:55.20
>>72
テキストにして「2021/」を「R3」に置き換えるか、
西暦を「-2018」して頭に「R」付けるのはだめでつか。
てかExcelで読み込んで書式設定してやればいい気がします。
0074名無しさん@そうだ選挙にいこう
垢版 |
2021/10/18(月) 08:05:27.92
初めての書き込みです
クエリとピボットどちらにもブックを開く時に自動更新がかかるようにしているファイルがあるのですが
ブックを開く→ピボット更新→クエリ読込 の順で処理されてしまうようでピボットが最新の状態になりません
クエリの読み込み結果を待ってからピボット更新とする方法はないでしょうか?
手動で更新すればいいだけの話なのですがそれでは自動化とはいえず困っています
0076名無しさん@そうだ選挙にいこう
垢版 |
2021/10/18(月) 13:15:15.00
私もわからないことが。

Query1(外部ファイル参照・ビュー整形)

Query2(ファイル内のテーブルとQ1を参照)

Q2を更新したときに、
単純にQ1の結果だけを見に行ってほしい。
Q1のプロセスをイチから辿らないでほしい。
外部ファイルを参照しないようにしてほしい。

Table.Bufferも効いていないようだし、
VBAは選択肢に入れたくないし。

仕方ないから、Q1を参照する式を埋め込んだセルを用意してそれをテーブル化し、Q2はそれを参照するようにしたけど、良い方法では無いしね。
0077名無しさん@そうだ選挙にいこう
垢版 |
2021/10/18(月) 18:10:22.81
>>76
Query1の「クエリ プロパティ」は、
>>57 の画像にあるように
「バックグランドで更新する」
「すべて更新でこの接続を更新する」
の2つのチェックを外してる?
0080名無しさん@そうだ選挙にいこう
垢版 |
2021/11/02(火) 20:12:42.49
同じ行に、同じ文字列が出た場合、左から読んで一番左のものだけ生かして、ほかはnullにする方法とかありますでしょうか。
パワークエリでできたらありがたいです。


A B C A D C E C D F



A B C   D   E     F

みたいなイメージです
どうぞよろしくご指導お願いいたします!
008280
垢版 |
2021/11/03(水) 06:58:14.95
>>81
ありがとうございます

> 複数行なら比較列をひたすら挿入していく

具体的にはどんな比較列になるでしょうか m関数を示していただければ幸いです
0083名無しさん@そうだ選挙にいこう
垢版 |
2021/11/13(土) 15:57:00.01
日本語のYouTubeチャンネルでも
Power Query、Power Pivot、M数式、DAX関数を扱うところが増えてきた。

以下、さらっと紹介するんでなくて、個別機能を紹介していると思われるところ。

・ExcelドカタCH
https://www.youtube.com/c/Excel%E3%83%89%E3%82%AB%E3%82%BFCH%E3%83%89%E3%83%83%E3%83%88%E3%82%B3%E3%83%A0/videos
経理屋さん?からの視点

・ITツール学習
https://www.youtube.com/channel/UCRlt1tx7EA5HCSH6l22YisQ/videos
ここはPower BIからの切り口。
Power Automate Desktopなんかも扱っている。

こんなところか?


海外のような、
裏技的/かゆいところに手が届くような解説チャンネルは
まだか?

・クエリと接続の違い
・パラメーターの説明
なんかもまだなさそう。

個人的には、
クエリをワークシートに読込んで右列に重複チェックのCOUNTIF関数計算して
再度、右列を含んだ範囲をクエリにして重複チェック列値をフィルタしている自己流を
なんとかしたい。
M言語にこんな機能はあるのだろうか?
0087名無しさん@そうだ選挙にいこう
垢版 |
2021/11/14(日) 08:20:09.13
>>84
グループ化では重複数そのものは出せるんだけど
たとえば重複数が3だったとして
ソートしてCOUNTIF(A$1:A3,A3)のように
1
2
3
という芸当は出来なかったような。

DAX関数だと出来るらしいが、今度はその後のクエリー処理が続かなさそう。
008883
垢版 |
2021/11/14(日) 10:33:08.91
>>84
「最新版を抽出する」という意味で、それらしき事例があったわ。
PowerQueryでやる方法は、ちょっとトリッキーだけど。

https://youtu.be/2DJI9V1kBqg
0090名無しさん@そうだ選挙にいこう
垢版 |
2021/11/16(火) 21:26:07.71
誰か教えて下さい
フォルダから同じ体裁のデータを複数取得し、
クエリで一行目を削除して二行目をヘッダーに昇格させてるのですが、
どうしても2つ目以降のデータの先頭2行がレコードとして残ってしまいます
フィルタリングすれば消せるっちゃ消せるのですが、、、
これは仕様なのでしょうか?
内部的に先にデータを合体させてるからこんなことに?
0092名無しさん@そうだ選挙にいこう
垢版 |
2021/11/16(火) 21:46:16.28
fxのクエリの詳細画面で、2行目と、接尾に2個あるin〜の2個めの方と、一番最後の行、この3つを//でコメント化してあげると、普通のクエリとして認識されるから、その上で編集して、最後にその//を削除すれば編集完了。あとは本来のクエリ側で、問題なく順番にクエリが評価されていくかを確認して。
0093名無しさん@そうだ選挙にいこう
垢版 |
2021/11/17(水) 00:22:27.51
勤務実績(従業員名、日付、残業時間)から残業時間を5日毎かつ従業員別に集計したい

Sumlfsを再現するにはどの関数を使えばよいですか?
0095名無しさん@そうだ選挙にいこう
垢版 |
2021/12/16(木) 09:27:31.56
年月、商品、数量のリストが数年分あります
数量の多い商品順にランク付けしたいのですが年月別に集計するやり方がわかりません
どのように範囲指定すればよいでしょうか?
0098名無しさん@そうだ選挙にいこう
垢版 |
2022/02/14(月) 20:50:10.87
これ四捨五入すると5が切り捨てられるんだけどどうにかならないですか?

Round関数 パワクエ
0.234 0.23 0.23
0.345 0.35 0.34 ←←←
0.456 0.46 0.46
0099名無しさん@そうだ選挙にいこう
垢版 |
2022/02/14(月) 20:58:39.13
どっかの記事
パワークエリの四捨五入は「銀行型丸め」が適用されており、ワークシート上のROUNDと結果が異なる場合があります。
この対策として、M関数の「Number.Round」の丸めモードを算術型丸めになるように設定する必要があります。
0100名無しさん@そうだ選挙にいこう
垢版 |
2022/02/14(月) 22:30:00.61
>>99
ありがとう御座います
色々検索しててAwayFromZeroを入れてみて一応期待する動作にはなってそうですがこれで果たして正解なのか。。
レスを投稿する


ニューススポーツなんでも実況