X



【Excel】Power Queryを語るスレ【Power BI】
0100名無しさん@そうだ選挙にいこう
垢版 |
2022/02/14(月) 22:30:00.61
>>99
ありがとう御座います
色々検索しててAwayFromZeroを入れてみて一応期待する動作にはなってそうですがこれで果たして正解なのか。。
0101名無しさん@そうだ選挙にいこう
垢版 |
2022/03/13(日) 10:44:22.49
「後ろにステップを挿入」の使い方、少し分かってきた。

例えば、csvファイルが単純なマトリックスだけでなくて、
ヘッダーみたいに集計日とかデータ更新日とかが入っているような複合構成の場合、
上位行削除とか列削除/追加してなど加工して、本体部をひとまず整形し、
最後のステップ名が「変更された型」だったとする。<-ココ大事

ここで全行に共通する「集計日」列を追加したいとすると、
右クリックで「後ろにステップを挿入」して、処理をいったん分岐(?)出来る。

元ステップ冒頭の「ソース = ・・・」をコピペして「ソース2 =・・・」とすれば、
csvを読込んだ最初の状態をまた読み込める。
今度はヘッダー部分の「集計日」だけに削って行って、
 集計日
 2022/3/12
の2行×1列だけのテーブルにし、
ここでの最後のステップ名が「変更された型2」だったとすると、
 R_集計日 = Table.FirstValue(変更された型2),
とかにして、1行目の値を名前定義の変数にしておく。

で、元の本体部への戻り方は、「カスタム列の追加」の場合だと
 カスタム列の追加 = Table.AddColumn(変更された型, "追加列名", each R_集計日)
で、全行共通の集計日列が追加出来た。

・複数行/列にした場合はどうすればいいのか、
・他のクエリーの任意の行/列の値を取得するにはどうすればいいのか、
は今後の課題。

M式はList.なんちゃらを使う?
引数は{0から始まる行番号}[列名]を使った何かか?
0104名無しさん@そうだ選挙にいこう
垢版 |
2022/03/23(水) 11:26:04.52
僭越ながら教えてください。

パワークエリで見た目の整形の話です。

Excel2019でパワークエリで大量の
テキストファイルを読み込ませてるのですが、そこまではうまくいきました
見栄えのためにテキストファイルごとに列を分割して並べて表示も時々利用したいと考えています。
そのようなことはできるでしょうか?

イメージとしてはテキストコピペしてエクセルのA1から横に張って行くイメージです。

※背景として利用したいテキストファイルが合計15000ほどあり各システム別に分けられているので一つのくぎりとしては100程度になります。
利用目的としてpivot機能も含むチェック業務利用です。
0107名無しさん@そうだ選挙にいこう
垢版 |
2022/03/23(水) 14:24:28.16
>>104 
powerquery内でTable.Pivot関数突っ込めば列にその情報ソースを出力できないこともない。リボンに列のピボット?があるはずだから、それ突っ込めば希望に近いものができるかもしれないので自分で調べて。その整形自体おすすめしないけど。15000列もエクセル側が受け皿を用意できたっけね?
0108名無しさん@そうだ選挙にいこう
垢版 |
2022/03/25(金) 22:58:56.33
誘導されてきました
エクセルのクエリで、一つのファイルにある複数のシートから、たとえば1つ目から4つ目のデータ(1000行くらい)を1枚目を1から4、2枚目を5から8に転記していくにはどのような設定でやればいいでしょうか
0109名無しさん@そうだ選挙にいこう
垢版 |
2022/03/26(土) 05:23:53.34
>>108
その質問文、
VBAスレでわかりにくいって言われてたのに
そのままコピペするとは
おたく、どういう神経なのか?

マージについては以下参照。
https://hamachan.info/excel2019-powerquery-kyotu/#:~:text=Power%20Query%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BF%E3%83%BC%E3%81%A7%E3%82%AF%E3%82%A8%E3%83%AA%E3%81%AE%E3%83%9E%E3%83%BC%E3%82%B8,-%EF%BC%BB%E8%B2%A9%E5%A3%B2%EF%BC%BD%E3%82%AF%E3%82%A8%E3%83%AA%E3%82%92&text=Power%20Query%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BF%E3%83%BC%E3%81%8C%E8%B5%B7%E5%8B%95,%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6%E3%81%8C%E8%A1%A8%E7%A4%BA%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82

あとは知らん。
0110名無しさん@そうだ選挙にいこう
垢版 |
2022/03/26(土) 07:09:05.40
>>108
VBAスレから誘導されたの見てて心配で見に来たけど
不特定多数のシートを扱うならクエリも多分動的制御が必要になるから結局VBAのお世話になると思うよ。

たらい回しにするつもりはないけど、
VBAで言ってることを実装出来るコードを書いといたので一応見といてくれ。
Power Queryは使っていないけどね。
0111名無しさん@そうだ選挙にいこう
垢版 |
2022/03/26(土) 08:06:23.90
>>109
質問者自身が自分が何やりたいのか分かってないと思うから丁寧に回答したところで思っていたのと違うとかそんな事言われるだけになるぞ
お互い損するだけ
0112名無しさん@そうだ選挙にいこう
垢版 |
2022/03/26(土) 12:52:40.95
>>110
普段はPower Query使ってるけど、
繰り返し大量処理だとメモリー爆食いするので
VBAも参考にさせてもらってるよ。

ヘルパークエリーでパラメータ使って
さらにその都度VBAでファイル保存の
合わせ技で効率良くなるかも知れない。
0113名無しさん@そうだ選挙にいこう
垢版 |
2022/03/26(土) 22:07:01.78
この処理は難しそうということですね
ありがとうございました
0115名無しさん@そうだ選挙にいこう
垢版 |
2022/03/28(月) 18:47:33.32
>>113
生半可Power Cueryでやろうとするから難しいだけ。
やる方法には適材適所というものがある。

上記の要件であればVBAならバカでチンケな俺でも数分で作ることが出来た。というかVBAスレに貼っておいた。

Power Queryの今までやってきたことは無駄にはならないだろうけど、
自分でVBAのコード書いたりSQL書いたり出来ると更に出来る仕事の幅が増えるよ。

まぁスレ違いだからこの話はここではこれ以上しないけどね。
0118名無しさん@そうだ選挙にいこう
垢版 |
2022/03/29(火) 07:37:54.81
すみませんが、どうしてもわからないので教えてください。

Powerqueryで以下の式を”リストでの数値カウント”ではなくて、
原文そのままのテキストで表示したいと思っています。
どういう式を書けばいいのでしょうか?

「 ピボットされた列1 = Table.Pivot(削除された列1, List.Distinct(削除された列1[Source.Name]), "Source.Name", "Column1", List.Count)」
※上の式は「列のピボット」のGUIボタンで自動作成されました。
0119名無しさん@そうだ選挙にいこう
垢版 |
2022/03/29(火) 10:53:52.14
>>118
こういうこと?
たとえば、こんなテーブル:T_元表(一番左の青テーブル)があったとする。
ここでは「項目1:あ」−「項目2:a」の値が、「あああ」と「AAA」が重複している。
https://i.imgur.com/QI2nbEp.png

これをクエリーに置換えたのが2つ目のQ_元表で、Q_元表を参照して「項目2」列をピボットした時、
自動生成されるのは、おっしゃるとおり、List.Countによる「値のカウント」。
数値だとList.Sumで自動集計される模様。

3つ目のQ_元表_ピボット_自動生成
let
ソース = Q_元表,
ピボットされた列 = Table.Pivot(ソース, List.Distinct(ソース[項目2]), "項目2", "値", List.Count)
in
ピボットされた列

で、List.Countを、List関数のうちから適当に、List.Firstに置換えてみた
ピボットされた列 = Table.Pivot(ソース, List.Distinct(ソース[項目2]), "項目2", "値", List.First)
のが、4つ目の、Q_元表_ピボット_手動_ListFirst。
重複していた「あ」行−「a」列の値は、1文字目の文字コードで若い番号の「AAA」を拾ってきた?

なお、自動生成で個数を拾ってきた3つ目も、列ピボットの詳細オプションで「集計しない」を選ぶと
「あ」行「a」列はErrorで、重複していない他行他列は文字列の「値」を拾ってくる。
https://i.imgur.com/nnDKqPz.png

何をやりたいのかよく分からないけど、ListのM関数でよさげなものがあれば、
https://docs.microsoft.com/ja-jp/powerquery-m/list-functions
目的のものが出来上がるかも知れない。

「『値』列が数値ではなくて文字列で、文字列として全て集めたい(項目1の重複はOK)」
というなら、項目2について1つ1つマージかしら? それだったら元表をソートすれば済んじゃいそう・・・
0120名無しさん@そうだ選挙にいこう
垢版 |
2022/03/30(水) 00:29:25.11
>>119
レスありがとうございます。

pngの通り類似の処理はしたのですが、残念ながらうまくいきませんでした。
緑文字でListととなり、一括に束ねられてしまいます。
※束ねられたものを成形する方法ありそうですが、わかっていません・・・

List.Firstやとかではテキストが表示するのですが・・・
List.SourceやList.ReverseだとListになってしまいます・・・
違いは適用したステップが自動生成されているくらいだとは考えています。
0121名無しさん@そうだ選挙にいこう
垢版 |
2022/03/30(水) 06:03:24.41
PowerQueryをGUI操作した結果で作られたコードを成形しようとしたら物凄く難しくないですか?

皆さん入り始めはどういう風に触られたんですか?
Microsoftが標準にGUIとして用意された機能を触っていると、
どうにもすこぶる遠回りして覚えてる気がしてならないです・・・

※それぞれ定義された名称が凄く長くなってるのが難易度あげてる気はします

ーーーーーーーーGUIでフォルダ取得時のコードーーーーーーーーーー
let
ソース = Folder.Files("C:\Users\max\Documents\Power"),
#"フィルター選択された非表示の File1" = Table.SelectRows(ソース, each [Attributes]?[Hidden]? <> true),
カスタム関数の呼び出し1 = Table.AddColumn(#"フィルター選択された非表示の File1", "ファイルの変換", each ファイルの変換([Content])),
#"名前が変更された列 1" = Table.RenameColumns(カスタム関数の呼び出し1, {"Name", "Source.Name"}),
削除された他の列1 = Table.SelectColumns(#"名前が変更された列 1", {"Source.Name", "ファイルの変換"}),
展開されたテーブル列1 = Table.ExpandTableColumn(削除された他の列1, "ファイルの変換", Table.ColumnNames(ファイルの変換(#"サンプル ファイル"))),
変更された型 = Table.TransformColumnTypes(展開されたテーブル列1,{{"Source.Name", type text}, {"Column1", type text}})
in
変更された型
ーーーーーーーーーーーーーーーーーーーー
0123120
垢版 |
2022/03/30(水) 09:53:33.54
>>122

おはようございます。

知識がなさすぎてどういう情報を提供すればいいのかさえわかっていませんが、
元のデータはフォルダ上にある「ただのテキストデータ」で、
GUIでフォルダごと選択して複数ファイルを引っ張ったものとなります。

丁度121のソースとほぼ同じだとおもいます。
数値とかは入力値としてはありますが、PowerQueryでは計算とかは求めないものと考えています。

諦めの選択にはなっていますが、powerqueryにここまでてこずると思っていなかったこともあり、
直近ではテーブルデータに起こしてから細かい計算とかはExcelの関数で手入力しようと考えています。

Excelの操作手順を以下に記載します。

@Excel新規作成 Aデータの取得-フォルタから B結合 Cクエリエディタその他のクエリから「変換」列のピボット D数式バーでList.Reverseに変換とかを

情報小出しすみません。
データ取得からのデータ成形したいだけなので、クエリが得意とすることだとは考えています。
0129名無しさん@そうだ選挙にいこう
垢版 |
2022/04/02(土) 11:50:11.30
そう言えば、ADOだとワイルドカードが%だから、
Accessも%だろうと思ったら実は*で、
フザケンナちゃんと統一しろムキー!ってなったことあるわ。
0130名無しさん@そうだ選挙にいこう
垢版 |
2022/04/11(月) 19:20:30.64
クエリ勉強用に書籍を購入検討していますが何かしら比較したことのある書籍あれば教えてください。


レスつくのが時間いると思いますので、
今時点は適当に購入してみて後日感想記載します。
0131名無しさん@そうだ選挙にいこう
垢版 |
2022/04/11(月) 19:31:11.43
>>130
クエリってpowerqueryを略して言ってるの?
0136名無しさん@そうだ選挙にいこう
垢版 |
2022/04/12(火) 19:59:29.96
月次更新を半年くらい繰り返してきたクエリーを今月更新したら、
こんなエラーメッセージが出てきて更新不能になったでござる。

> Formula.Firewall: クエリ 'Q_Result_byMonth_M04' (ステップ '変更された型') は、
> 前回の評価時には MultipleUnclassified/Trusted データを使用しましたが、現在は
> MultipleUnclassified/Trusted データを使用しようとしています。

参照している元クエリーのステップ '変更された型' と
このクエリーの '変更された型' を作る直してみたものの、改善せず。

"MultipleUnclassified" とはなんぞや?とググった中で、
英語のYouTubeで出てきたこの動画をぼんやり見てたら、
「PowerQueryのオプションで、プライバシーレベルを"無視"にしろ」
と、ささやくではないか・・・
Solve the Formula.Firewall Error in Power Query
https://youtu.be/z_kgvkgU8iI

とりあえずやってみたら、再度動き出すにはしたものの、
機械翻訳された大本営の説明がよくわからずorz

プライバシー レベルの設定 (Power Query)
https://support.microsoft.com/ja-jp/office/%E3%83%97%E3%83%A9%E3%82%A4%E3%83%90%E3%82%B7%E3%83%BC-%E3%83%AC%E3%83%99%E3%83%AB%E3%81%AE%E8%A8%AD%E5%AE%9A-power-query-cc3ede4d-359e-4b28-bc72-9bee7900b540?ocmsassetid=ha104009800&;correlationid=506dcb43-8d8c-4234-8a1a-a798fb3cc18f&ui=ja-jp&rs=ja-jp&ad=jp
0138名無しさん@そうだ選挙にいこう
垢版 |
2022/04/27(水) 21:26:09.00
質問です

グループ毎に小計及び総合計を出したいですが、簡単に出来る方法はありますでしょうか?
ネットに乗ってるLetは使い方が良く分かりませんでした
0140名無しさん@そうだ選挙にいこう
垢版 |
2022/04/27(水) 22:34:05.38
列数が20ほどありピボットテーブルで横に伸ばすと操作性が著しく劣るためパワークエリで直接編アレンジしてテーブル形式で出力したいです
機能の小計が使えれば良いのですがテーブル形式になってると使えないようです
0144名無しさん@そうだ選挙にいこう
垢版 |
2022/05/17(火) 20:43:53.61
フィルターされた行 = Table.SelectRows(テーブル, each Text.StartsWith([#"RowName"], FilterValue))

変数RowNameがうまく認識されず、
「Expression.Error: レコードのフィールド 'RowName' が見つかりませんでした。」
となります。
どうするのがよいでしょうか?
0146名無しさん@そうだ選挙にいこう
垢版 |
2022/05/17(火) 23:21:37.74
回答ありがとう。

RowNameは動的に変わる変数で、フィルタ用の文字列ではなく、列名を指してます。
たとえばRowNameが「商品名」だったとき、
・[#"RowName"]→エラー
・[RowName]→エラー
・[商品名]→正常
という感じでした。
RowNameに「商品名」が正しく入っていることは確認済みで、
もちろん列名が「商品名」という列も存在します。

角括弧 [] に変数を入れるときに、とくに気にすることはないと
思っているんですが、どうなんだろう?
0147名無しさん@そうだ選挙にいこう
垢版 |
2022/05/18(水) 13:50:53.35
おおよそ認識の通り、角括弧内の文字列に演算子を含む場合には#"〇〇"としてあげるくらい。このエラーには関係ない。
StartsWithはRowNameにFilterValueが含まれるか否かをTrueかFalseで返す関数らしいからそこが問題かと。その意味で「その文字列で始まる文字列が無い」んでしょうね。これ以上はわからん
0148名無しさん@そうだ選挙にいこう
垢版 |
2022/05/19(木) 08:23:07.10
>>147
ありがとう
もうちょっと考えてみますわ
0151名無しさん@そうだ選挙にいこう
垢版 |
2022/05/31(火) 01:46:15.43
パワークエリで利用するデータはある程度整えてから利用した方が良いのでしょうか

読み込むExcelファイル内に社名や判子を押すセルなど不要なデータがあったりしてちょっと扱いにくいです
特にマージするときに行などがズレてしまいます。

仕方が無いので、パワークエリの扱いがまだよくわからないのもあって素データを編集しています。
素のExcelで不要なセルを削除したりしてからマージします。でも編集するのは面倒だし
素のデータを編集するのは好きではないけど、これは仕方ないことでしょうか。
0152名無しさん@そうだ選挙にいこう
垢版 |
2022/05/31(火) 12:15:52.30
PowerQuery自体にデータ整形の機能はあるけど
それにも限界があるかと。

ワークシートの読込みで
行列の規則性ではダメで、罫線だけが頼りの場合だと、
VBAも使わないと整形出来ないかも。

Webページの自動認識である程度テーブルを分けてくれるので、
M言語に罫線も認識する関数があるのかしら?
htmlで配列を検出しているのかどうか、
まだ分からないけど。
0153名無しさん@そうだ選挙にいこう
垢版 |
2022/05/31(火) 19:53:17.67
もともとクエリだからね。
データベース並みに構造化されたデータを加工するのが前提。
帳票的なデータをいじるのにはあまり向いてないわな。
0154名無しさん@そうだ選挙にいこう
垢版 |
2022/05/31(火) 21:28:54.04
>>152
>>153

ありがとうございます
今日もう一度見直したらエラーやnullが原因で崩れてしまうことがわかり無事統合できました。
今までは不要な行は手動で消していましたがフィルタ機能を使えばできましたね……
0156名無しさん@そうだ選挙にいこう
垢版 |
2022/06/01(水) 16:52:33.88
質問が二つありますので宜しくお願い致します

1.  CurrentWorkBook内に作ったピボットテーブルは
  範囲参照では取り込めないというメッセージが出たので、
  Excel WorkBookからの取り込みで作業中のファイルを指定して
  ピボットテーブルのシートをデータモデルに取り込んで作業していました。
  ある程度作業は勧められましたが  突然読み込みエラーでクエリごと
  消えてしまいました。
  作業中のBook内のピボットテーブルからデータを読み込む
  のには制限があるのでしょうか?
  

2. クエリを削除しても、ピボットテーブルをデータモデルから
  作成するときに、削除したはずのクエリがテーブルとして出てきます。
  データモデルを完全に削除する方法を教えてください
0157名無しさん@そうだ選挙にいこう
垢版 |
2022/06/01(水) 20:02:45.92
>>156
ようわからんけど、

>1.
ピボットテーブルを参照「元」にすることは、経験的に避けている。
フィルターや構成変えるだけで指定した参照範囲が壊れてしまうから。
何かフィルターを変えたら104万行を超えてしまったとかも。
ピボットテーブルは参照元にはせず、それを最終出力とするかグラフに繋げるかだけにしている。
でなければGETPIVOTDATA関数を使ったこんな場合とか。
https://dekiru.net/article/4481/
さらにいじりたいのであれば、クエリーで絞るかPowerPivot内(DAX関数)でやるか。

>2.
クエリーを作る時、最後に「データモデルに追加する」にチェックを入れてワークシートに読込ませると
シート上のクエリーテーブルとは別に、
PowerPivotで扱われる「データモデル」としても同様のテーブルが作られると理解。
これがワークシート上限104万行を超えて扱えるヤツ(その場合は「接続のみ」で利用)。

当該クエリーも削除した後で、後者を削除するには、
(他のクエリーがあれば、そこをアクティブにするとメニューに「Power Pivot」が現れる)
 Power Pivot - 管理
で、PowerPivot上の当該シートタブを右クリックで削除。
0158名無しさん@そうだ選挙にいこう
垢版 |
2022/06/02(木) 13:49:56.88
>>157
ありがとうございます。ピボットテーブルはやはり参照元にしない方が良いのですね。
確かに集計項目を変えた時にエラーが出ました。

今やりたいのは例えば、下記のようなテーブルがあったとして
売上100以下の商品はその他というくくりにして集計したいのです


商品    カラー    売上
A      赤      100
A      青       50
A      黄       10
B      赤       70
B      青       20
C  赤       90
C      青       20
D      赤       20
D      青       50

上記の表を

商品   売上
A     160
C     110
その他  180

このように加工して、その表を再びテーブルとして使用したいのです。
私はピボットテーブルを使ってしまったのですが、このような場合に使える方法がありましたら、教えてください。
0159名無しさん@そうだ選挙にいこう
垢版 |
2022/06/02(木) 14:19:05.73
ピボットテーブルの参照元データはpowerqueryから見られないの?
powerqueryで参照元データを直接いじれば良いのでは?
0161157
垢版 |
2022/06/02(木) 22:03:48.12
>>160 が言うとおり、グループ化でやってみた。

とりあえず成果品の画像。
https://i.imgur.com/399Bh2k.png

1. 最初のQ_DataはテーブルT_Data(青)をクエリー化しただけ。(接続のみ)

2. 2つ目のQ_合計売上100超は商品でグループ化して、その売上合計を出し
https://i.imgur.com/8vxZzwH.png
フィルターで100超だけに絞ったもの。(接続のみ)

3. 3つ目のQ_合計売上100未満は、同様に、売上合計が100未満に絞って(商品BとD)、
その合計の答えをリスト形式で出せるから、
https://i.imgur.com/rtfVOYD.png
テーブルに変換、
https://i.imgur.com/VUKKfcp.png
行タイトルを"Column1"から2つめと同じ「カウント.売上 の合計」に変更、
「商品」列を追加して値を"その他"とし、
列順を2つ目と同様に並べ直した。(接続のみ)

4. 4つ目のQ_追加統合が2つ目に3つ目を追加したもの。(シートに読込み)

ちなみに「その他」の合計は180ではなく160の模様。

これなら二次利用の参照元にも出来るべ。
0162157
垢版 |
2022/06/02(木) 22:08:25.55
>>161 の追記
2.と3.のクエリーは1.を参照
0163157
垢版 |
2022/06/02(木) 22:11:18.45
>>161 の訂正
100超と100未満じゃ、「100」が抜けてまう...orz
そのあたりはよしなに。
0164名無しさん@そうだ選挙にいこう
垢版 |
2022/06/02(木) 23:14:56.46
質問させてください

折れ線グラフで毎日の温度データを表示しています
・基準値を超えた日に任意の文字を表示させる
・位置はデータに追従させる
ということはできますか
ヒントに入れてカーソルを合わせたら表示されるのではなく、常に表示した状態にしたいです
0165名無しさん@そうだ選挙にいこう
垢版 |
2022/06/02(木) 23:33:25.04
>>164
「任意の文字」とは何?

データラベルとして、日付や温度以外の、
元表中の「任意の何か」の列の値を
ラベルオプションの「セルの値」設定で表示すること?

であれば、PowerQueryというより、
VBAで系列と要素番号とかを指定して
データラベル表示させることになるのかと。
0168名無しさん@そうだ選挙にいこう
垢版 |
2022/06/08(水) 00:06:55.79
某アプリから出力されたCSVファイルを使って、その右側に何列にも渡ってピボットテーブルに使用できる関数の入った
セルを作ったエクセルファイルがあります。
これに毎週追加されるCSVファイルのデータを追加していくのですが、当初、単純に作ったエクセルファイルに
追加CSVファイルの値だけをコピペして、右側の関数セルはオートフィルで追加すればいいかと考えていたのですが、
PowerQueryなる便利なツールでもっと効率的にできそうというのがわかりました。
質問は以下になります。

1.すでに作られたエクセルファイルの書式(テーブル化されてます)で、CSVの追加データをPowerQueryでインポートするにはどうすればいいでしょうか。
(各列のタイトルは追加CSVと全く一緒です)
2.PowerQueryにまったくの無知でも、PowerQuery上で関数の入った列も入れてしまった方が良いでしょうか。

色々ググってみましたがさっぱりわかりませんでした。
Amazonで参考書注文してきたので今後勉強していきますが、とりあえず上記がサルでもできるほど簡単なら教えてください。
よろしくおねがいします。

↓こういう状況です。
https://i.imgur.com/Bi79f98.png
0169名無しさん@そうだ選挙にいこう
垢版 |
2022/06/08(水) 00:13:12.49
>>168
すみません、図の追加CSVにある左の番号は11から続く出力データです。
0171名無しさん@そうだ選挙にいこう
垢版 |
2022/06/08(水) 01:29:41.21
>>168
1. 週ごとのcsvを(あるいはそれを読込んだExcelファイルを作って)、
同じフォルダに入れておく。

2. これらを通しで集計するには、別ブックから「データの取得 - フォルダから」で、
全てのファイルを結合出来る。
・「パラメータ」を使う「ヘルパークエリ」が自動作成されるが、
 カスタマイズはそんなに難しくない。
・参考動画
 https://youtu.be/RCmoho3jU8Q
 https://youtu.be/VxKoqBJWgRo
 https://youtu.be/TvIsvzGiQTU
 https://youtu.be/uLV85sauJRw
 等。
・このクエリーの中で「新しい順」にソートするステップを入れておけば良い。
・1. を毎週やっていれば、最新の通し集計は、このクエリーを更新するだけ。

3. 関数計算の展開は、2.のファイル内で各週csv等を
結合してから展開する方が吉。
1.の各週ファイル内に関数計算を仕込んでおいても良いけど、
追加や変更が出たとき、全部直さなきゃならなくなるから。
0172171
垢版 |
2022/06/08(水) 01:43:56.70
>>171
> 3. 関数計算の展開は、2.のファイル内で各週csv等を
> 結合してから展開する方が吉。

とは書いたものの、
・1週分のデータが数千行以上
・結合した後の合計数万行以上
・横列に展開する関数列がやたら多い
なんてことで、2. のブックの処理速度が落ちるというのであれば、
計算負荷分散のため、
1. のファイル内で関数計算を展開しておくことはあり得る。
0173171
垢版 |
2022/06/08(水) 01:51:10.39
でなきゃ、各週分を取り込んだとき、2.のブックのワークシートには読込ませず、
データモデルにしておくのも一つの手。

データモデル内で右に列を追加しての関数計算は可能。
データモデルだとワークシート104万行の限界を超えられるし、
これをピボットテーブルのデータ元にすることも可能。

とかやってるうちに、欲が出てきてPower Pivot、DAX関数の沼にはまったが。
0174168
垢版 |
2022/06/08(水) 02:18:46.15
>>171
むちゃくちゃ親切にありがとうございます!
1週分のデータはせいぜい100〜200行ぐらいで、結合後もまだ3000行弱なので最初のやつで大丈夫だと思います。
とりあえず動画見てみます!
0175名無しさん@そうだ選挙にいこう
垢版 |
2022/06/28(火) 11:20:25.93
PowerBI上で重回帰分析は実施できますでしょうか?
0177名無しさん@そうだ選挙にいこう
垢版 |
2022/06/28(火) 13:40:02.58
>>176
ありがとうございます。
変数の選定は出来ますね。直接式を求めることは出来なそうです。
式は別途求めればいいのかなぁ。
0178名無しさん@そうだ選挙にいこう
垢版 |
2022/07/01(金) 17:58:50.96
お願いします
組織アカウントのPower BIワークスペース上に、いつからか他者が作成したレポートが表示されています
どうにかワークスペース内から表示を消したいのですが、方法をご存知の方いらっしゃいませんでしょうか
0179名無しさん@そうだ選挙にいこう
垢版 |
2022/07/26(火) 11:01:08.73
ExcelでPower Queryを触りはじめたのですが、
Table1とTable2それぞれの特定列が一致した場合に
一致した行だけを集めてTable3を作る、
といったことも可能でしょうか
0183名無しさん@そうだ選挙にいこう
垢版 |
2022/07/27(水) 20:06:48.57
>>182
無粋だな

>>180-181の流れで完璧だったのに
0185名無しさん@そうだ選挙にいこう
垢版 |
2022/08/01(月) 12:38:51.85
webからの取得で認証フォーム突破出来なかったから調べたけどBASIC認証のみなんやね
カスタムから出来るかもしれないて回答してる人いるだけでやり方はどこにも書いてなかった
認証フォームあるようなやつスクレイピングしたいならPythonとかプログラミング学んだ方が早いんかな
0186名無しさん@そうだ選挙にいこう
垢版 |
2022/08/16(火) 10:17:32.13
Power Queryで捨て仮名をナミ字に変換するにはどうすればいいんでしょう
ぁぃぅぇぉゃゅょゎっ それぞれを、
あいうえおやゆよわつ にしたいのですが、上手いやり方を思い付けません
0187名無しさん@そうだ選挙にいこう
垢版 |
2022/08/16(火) 13:03:37.37
変換テーブルを使う考え方でなんとかできました
もっと上手いやり方があるようでしたら教えてください
以下が今回やった方法です
= List.Accumulate(Table.ToRows(#table({"捨て仮名","ナミ字"}, {{"ァ","ア"},{"ィ","イ"},{"ゥ","ウ"},{"ェ","エ"},{"ォ","オ"},{"ャ","ヤ"},{"ュ","ユ"},{"ョ","ヨ"},{"ッ","ツ"}})),[カナ],(x, y)=>Text.Replace(x,y{0},y{1})))
0191名無しさん@そうだ選挙にいこう
垢版 |
2022/08/31(水) 15:07:50.25
Power Queryでクエリの並び替えってできますか?
今は新しいExcelブックをつくってクエリをコピペするという不毛な作業をしています
0192名無しさん@そうだ選挙にいこう
垢版 |
2022/08/31(水) 15:29:32.86
>>191
手動のドラッグによる並べ替えの話でいいの?

Excelの「クエリと接続」ペインだと右クリックメニューで一段ずつ上か下だけど、
いずれかのクエリーを編集で開いて
Power Query エディターの左ペインでやれば、
ドラッグで飛ばして並び替えは可能だけど。
0194名無しさん@そうだ選挙にいこう
垢版 |
2022/09/01(木) 08:59:15.50
他のブックへのクエリーのコピーは
PowerQueryのスクリプトをまるまるコピペで。

ワークシートの定義名範囲や、
クエリーでないテーブルの参照をクエリー内でしているときは、
それらも再構築が必要だけど、
名前定義の範囲のコピペは、
「(当該)ブック」とか「(当該)ワークシート」とか、
その有効「範囲」の作り直しが必要だったかと。
でないと「他ブックのリンク」になってしまうので要注意。
0195名無しさん@そうだ選挙にいこう
垢版 |
2022/09/11(日) 17:18:15.63
Table.AddColumn(ソース, "新列名", each [旧列名]*1000)の 旧列名 の部分を変数にするにはどうしたら良い?
0197名無しさん@そうだ選挙にいこう
垢版 |
2022/09/12(月) 06:51:38.13
>>195
それは俺も知りたい。
任意の列名変更は、一度ピボット解除して列名を縦にして、
if Text.Contains() then else
とかで検索と置換が出来るようにすれば良いのか?
エロい人、教えて。
0198名無しさん@そうだ選挙にいこう
垢版 |
2022/09/12(月) 18:47:41.90
>>195
自己解決した
Table.AddColumn(ソース, "新列名", each Record.Field(_, "旧列名")*1000)

>>197
列名の変更は {"旧列名", "新列名"} で両方とも文字列で指定だから問題の質が異なる
テーブルから列名検索したいなら
探した列名=List.Select(Table.ColumnNames(前の処理), each 検索条件)){0} //見つかった最初のもの
で得た列目使って {探した列名, "新列名"} とかにすればいい
0199名無しさん@そうだ選挙にいこう
垢版 |
2022/09/13(火) 19:06:53.79
>>198
ん?

よく分からんけど、それで「旧列名」の部分が変数扱いになったの?

Record.Field関数の2番目の引数はレコードの中の特定の列名だから、
思い切り定数で"旧列名"と指定していることになってるのかと。

1番目の引数のアンダースコアはeachとセットみたいだけど、
レコードの代名詞みたいになっているのかしら?

列名を変数にするって例えば、
column1、Column2、column3・・・
と元データを読込むたびに列が増えるような場合で、
最後の列が合計かなんかで、
それを1000倍にする列をさらに追加したい時、
元データの、変化する最後の列名を変数で扱いたいのかと思ってた。
0200sage
垢版 |
2022/09/28(水) 10:15:26.54
Power BIのテーブルで、列名を縦書きにできませんか?
0202名無しさん@そうだ選挙にいこう
垢版 |
2022/09/28(水) 19:45:35.61
列名を文字のリストに分割してから改行文字を間に挟んで結合する
M言語の関数でできる
得られた文字列で列名変更
0204名無しさん@そうだ選挙にいこう
垢版 |
2022/10/09(日) 08:15:09.14
使えません
0206名無しさん@そうだ選挙にいこう
垢版 |
2022/10/27(木) 09:56:09.11
連続した1時間ごとのデータがあって、
ある閾値を下回った連続時間帯が年間で最大何コマだったのかを調べたい。
(例えば、風力発電の年間出力データとか、気温の年間データとか)

下回った時間帯のフラグ列作って、
グループ化してその中でインデックス振って、
List.Sum(List.FirstN())で累計を取ろうかと思ったが、なんか上手く行かない。

List.Accumulateで累計するにも、
グループ化とインデックス、List.FirstN()は要るよね?
List.Accumulateの公式説明がよく分からない。

助けて。
0208名無しさん@そうだ選挙にいこう
垢版 |
2022/10/31(月) 16:24:38.27
表示したいグラフは意味的にはソフトウェア開発における不具合検出数のグラフです。X軸は日付、Y軸は検出した不具合の数の累計と解決した不具合の数の累計です。
0209名無しさん@そうだ選挙にいこう
垢版 |
2022/10/31(月) 16:31:15.24
不具合は課題管理システムで管理していますが、PowerBIへの入力は課題管理システムからエクスポートした不具合一覧です。1行が1件の不具合を表します。1行を構成する列のうち、不具合の連番、不具合の状態(解決済か未解決か)を元データに不具合の累計件数と解決済み不具合の累計件数を時系列に表示させたいです。
0210名無しさん@そうだ選挙にいこう
垢版 |
2022/10/31(月) 16:40:01.25
X軸に不具合報告の作成日を指定し、Y軸にクイックメジャーのタイムインテリジェンスから何か選ぼうとしましたが、一番期間が長い選択肢でも年度累計までです。年度累計を選ぶと年度の変わり目で累計件数が0に戻ってしまいます。表示させたい事は年度関係なしの累計です。
0214名無しさん@そうだ選挙にいこう
垢版 |
2022/10/31(月) 20:32:31.97
要件を書き込むとソリューションが出てくるスレです。
0218名無しさん@そうだ選挙にいこう
垢版 |
2022/11/01(火) 06:49:20.30
1から10まで答えてほしいってこと?
0222名無しさん@そうだ選挙にいこう
垢版 |
2022/11/05(土) 07:46:09.06
別に104万行超えるわけでねぇーべ?
全期間のファイル、クエリーで読込んで結合したらよろし。
1つのフォルダにファイル突っ込んどいて
フォルダ指定で全部結合する方法は
あっちこっちで解説されとるがな。

104万行超えでも
データモデルにしてから集計クエリーで期間絞ればよろし。
遅いけど。
0224名無しさん@そうだ選挙にいこう
垢版 |
2022/11/06(日) 06:55:46.45
0から始まるインデックスを各行にふって
直前のステップ名が「A」とした場合、

前月比 = [売上] / A[売上]{[インデックス]-1}

最初の行がErrorになるのがイヤなら、後からエラーをnullに置換するか、

前月比 = if [インデックス] = 0 then null else [売上] / A[売上]{[インデックス]-1}

とか。

https://analytic-vba.com/power-query/m-code/begin-previous-ref/
0225名無しさん@そうだ選挙にいこう
垢版 |
2022/12/19(月) 01:36:52.50
属性の列にA B C D E…と項目があり、値列に対応する数値が入っています。散布図の縦軸横軸どちらも、値を選択して、X軸はAの値、Y軸はBの値、の様なことをしたいです。スライサーを軸別に設定するようなこと可能でしょうか?もしくは、データテーブルの作り直しから必要でしょうか。
0226名無しさん@そうだ選挙にいこう
垢版 |
2022/12/19(月) 06:30:25.65
PowerPivotでメジャー作成かな
0228名無しさん@そうだ選挙にいこう
垢版 |
2022/12/19(月) 13:26:23.57
>>225
仕様で、ピボットテーブルから直接、散布図やヒストグラム、箱ひげ図、株価あたりのグラフは作れなかったかと。

例えば、気象庁サイトからDLできる気象観測データがイメージが似ているか?
1時間値の場合、
対象年月日時間帯 観測項目 値
2022/12/19 12:00 気温 9.6
2022/12/19 12:00 降水量 0
2022/12/19 13:00 気温 10.1
2022/12/19 13:00 降水量 1
2022/12/19 14:00 気温 11.3
2022/12/19 14:00 降水量 2
・・・みたいなリスト型データに加工済みとか?

この場合、ピボットテーブルのフィルターだけ設定してスライサーを作る、例えば、
・観測項目を属性にして(スライサー対象可)
・対象年月日時間帯から年や月、時間帯を取り出して別列のパラメータにし(スライサー対象可)
・時間帯をX軸、値をY軸にして、
・スライサー選択のたびに、別に用意した属性(観測項目)フィルターするグラフ集計用クエリーをVBAで更新する
Private Sub Worksheet_PivotTableChangeSync(ByVal Target As PivotTable)
Dim tbl As ListObject
Set tbl = ThisWorkbook.Sheets("グラフ用集計").ListObjects("Q_グラフ用集計")
tbl.QueryTable.Refresh BackgroundQuery:=False
End Sub
なんてことで、時間帯推移での気温、降水量を切り替えられる(年または月切替えも可)散布図を作る
みたいなことは可能だけど。

X軸を対象年月日時間帯にすることも可能だが、
それじゃ散布図でなくてただの折れ線グラフで十分で、
ピボットテーブルでも可能。
0229228
垢版 |
2022/12/22(木) 22:38:20.74
たとえば風速の観測地点・年別の月展開箱ひげ図を
このやり方 >>228 でやるより、
PowerBIでやった方が遥に軽かった。
0230名無しさん@そうだ選挙にいこう
垢版 |
2022/12/23(金) 00:27:17.32
月別の集合グラフで半期だけ色変えたりフィルタ変えることはできますか?
4~9月は実績で10~3月は計画値を表示したいです。
0231名無しさん@そうだ選挙にいこう
垢版 |
2022/12/23(金) 07:04:20.22
「集合グラフ」って、積み上げ棒グラフでない、通常の棒グラフ?
実績値と計画値の系列を分けたら色は変えられるけど、
ひと月の幅がやたらと広がってしまうので、
実績月/計画月の判断をシート上のセルで計算して、
それを頼りにVBAで色を変えることくらいしか
思いつかない。
0233名無しさん@そうだ選挙にいこう
垢版 |
2022/12/26(月) 08:13:37.47
PowerBIなんですが、カードで値を表示してフィルタしたときに、レコードがない場合(空白)って出てカッチョ悪いのですがこれを非表示にしたり別の文字に置き換えることって出来ますか?
0238名無しさん@そうだ選挙にいこう
垢版 |
2023/02/04(土) 08:23:09.98
なるほど経理が使うのに大事なのは
クエリーで読み込む時に
日付を元にして期首からの経過月の列を作っておくことなのか
EXCELはアメリカ産だからデフォルトが12月決算になってしまうのな
0239名無しさん@そうだ選挙にいこう
垢版 |
2023/02/04(土) 19:16:46.33
自然科学や工学系ではExcelをメインでは使ってないだろうけど、
分析するには、秒や分単位時系列のカレンダーは要るのかと。

ロガーからデータ取って散布図や相関図作るにしても、
データがNAのところも表記しないと、
おかしな事になりそうだと想像。
0241名無しさん@そうだ選挙にいこう
垢版 |
2023/02/23(木) 19:32:25.67
>>237
PowerBIなんですが、フィルタされたときに連動するグラフY軸の最小値や最大値を指定できますか?

はい、Power BIではフィルタリングされたときに連動するグラフのY軸の最小値や最大値を指定することができます。以下の手順で設定できます。

レポートの編集モードに移動します。
フィルタリングされたいデータを選択し、フィルターを適用します。
フィルタリングされたグラフを選択します。
右側のプロパティウィンドウで、軸の設定をクリックします。
「軸の最小値」または「軸の最大値」をクリックし、値を入力します。
「変更を保存」をクリックして、変更を適用します。
これで、フィルタリングされたときに連動するグラフのY軸の最小値や最大値を指定することができます。
0243名無しさん@そうだ選挙にいこう
垢版 |
2023/04/24(月) 00:36:41.46
マージする時にキー列が一意でない場合、左×右=で行、レコードが増殖するバグは解決不可能でしょうか?
0245名無しさん@そうだ選挙にいこう
垢版 |
2023/04/24(月) 08:12:12.97
>>244
申し訳ありません
左×右の左が多い場合、左の行分右の行が増えるというのは仕組み上分かります
しかしながら左の行が増幅する仕組みがまだよく分かっていません
0246名無しさん@そうだ選挙にいこう
垢版 |
2023/04/24(月) 19:47:36.75
バカにつける薬はありません
0248名無しさん@そうだ選挙にいこう
垢版 |
2023/04/25(火) 06:53:45.87
キー列が一意でない、
つまり、重複しちゃってるんだよね?
それでどうやって名寄せしろと?

VLOOKUPでもできないかと。
0249名無しさん@そうだ選挙にいこう
垢版 |
2023/04/25(火) 20:44:18.56
重複の削除はなぜTable.Bufferがデフォルトで用意されていないのでしょうか?
重複の削除で削除対象に選ばれる行、レコードになにか法則性はあるのでしょうか?
0250名無しさん@そうだ選挙にいこう
垢版 |
2023/04/27(木) 22:14:38.20
Table.Bufferと
グループ化からのインデックス追加
する方法で重複を削除する時に何か違いはありますか?
グループ化からインデックスを追加する方がステップ数が増えて処理が多くなりそうな気がします
0251名無しさん@そうだ選挙にいこう
垢版 |
2023/04/28(金) 05:55:30.09
Table.Bufferって重複削除するの?
0252名無しさん@そうだ選挙にいこう
垢版 |
2023/04/28(金) 08:12:46.53
>>251
重複する列があって、その隣に日付順やインデックスの列があったとして
日付やインデックスを降順に並び替えた後に重複を削除したとしても
その並び替えは無効でなんらかの規則性に基づいて重複行が削除されます
しかしTableバッファを組み込むと並び替えられた状態で一番上の行だけが残ります

この方法とグループ化→インデックス列追加→0だけフィルターする
の違いは何かなと
0253名無しさん@そうだ選挙にいこう
垢版 |
2023/04/28(金) 10:20:50.05
Table.Buffer方式は内部実装任せ
グループ化→インデックス列追加方式は自分で完全制御したい
0254名無しさん@そうだ選挙にいこう
垢版 |
2023/04/28(金) 13:09:34.60
>>253
ありがとうございます
助かります
0256名無しさん@そうだ選挙にいこう
垢版 |
2023/04/29(土) 19:29:05.45
Table.Bufferは、ストリーミングというpowerqueryの基本戦略に反するから、内部的にやることは絶対に無いと思う
0257名無しさん@そうだ選挙にいこう
垢版 |
2023/04/30(日) 21:17:43.50
初歩的な質問になるとは思いますが
ブックを読み込んだ時に10万行も読み込まれてしまう時があります
これは一番下の行まで0か何かしらの値が入力されているからなのでしょうか?
0258名無しさん@そうだ選挙にいこう
垢版 |
2023/04/30(日) 22:21:52.64
>>257
元ブックの、テーブルでなくてワークシートを読込んでいるの?

元ブックのワークシートで、本来読込みたい行数は何行?
元ブックの当該ワークシート開いて、Ctrl+Endで最右下行に移動したら、何行目まで行く?
0259名無しさん@そうだ選挙にいこう
垢版 |
2023/05/04(木) 15:37:23.40
>>258
なるほど
テーブルではなくブックやワークシートそのものを読み込んだ場合に何もない空白の行が読み込まれてしまう場合があるという事ですね
それは盲点でした


クエリのマージに頼るよりもリレーションシップで出来る事は極力(最大限に)リレーションシップで済ませた方が動作は軽いですか?
0260名無しさん@そうだ選挙にいこう
垢版 |
2023/05/04(木) 15:59:34.63
powerqueryでリレーションシップて何?
0261名無しさん@そうだ選挙にいこう
垢版 |
2023/05/04(木) 16:02:50.50
>>260
ピボットテーブル(?)でしたね!
0262名無しさん@そうだ選挙にいこう
垢版 |
2023/05/04(木) 19:20:03.72
全てのデータがデータベースに(一行、1レコード)揃っている状態が正規化されていない状態、あるいは第一正規化で
これ以上ないくらいに重複を排除した、それぞれ別のデータベースにしたのが第三正規化ですか?
0263名無しさん@そうだ選挙にいこう
垢版 |
2023/05/04(木) 20:14:18.31
>>259
実データが数万行程度までなら、
ピボットテーブル(PowerPivot)でのリレーションでも
PowerQueryのマージでも速さは同じぐらいの印象。

104万行超とかの大きなデータを扱うんだったら、リレーションの方が速いか?
ようつべで比較動画上がってたような?

ただ、ピボットテーブルにすると、その後はグラフにするしかなく、
ピボットテーブルのまとめ方が使えそうだったら、最後の段階に使っている。

まだ加工や二次利用が続くんだったらPowerQueryにしている。
0264名無しさん@そうだ選挙にいこう
垢版 |
2023/05/04(木) 21:26:21.36
>>263
そうですよね
リレーションシップはピボットテーブルで活用するしか使い道はないですよね(?)
結合に比べると自由度が低い(?)
0266名無しさん@そうだ選挙にいこう
垢版 |
2023/05/04(木) 22:00:16.82
>>265
ありがとうございます
0267名無しさん@そうだ選挙にいこう
垢版 |
2023/05/04(木) 23:04:13.08
第三正規化はこれ以上ないくらいに細分化している
第二正規化は複数の状況証拠(条件)があるから推移的関数従属が決定する
第一正規化はデータベース
ってコト、、、?
0268名無しさん@そうだ選挙にいこう
垢版 |
2023/05/05(金) 21:35:12.90
>>267
第一正規化はフィールドを定義するために必要
買い物した人のレコードに商品1、商品2、商品3、…って無限にフィールドを作るのを防ぐ
第二正規化で重複データを分離
経理システムかなにかのCMでやってる、何度も同じデータを入力する必要がなくなる
第三正規化し第三正規形にすることでマスタデータとトランザクションデータを完全に分離できる
非正規形含む正規形はすべてデータベース
今は第六正規形まで定義されてる
0269名無しさん@そうだ選挙にいこう
垢版 |
2023/05/06(土) 08:30:19.91
>>268
ありがとうございます
今までデータベースなんて考えた事はあまりなかったです
0270名無しさん@そうだ選挙にいこう
垢版 |
2023/05/12(金) 07:31:39.40
二つの表があって変更された行を表示させるのはやはりパワークエリでしょうか?
0271名無しさん@そうだ選挙にいこう
垢版 |
2023/05/12(金) 11:11:08.97
>>270
数百行程度なら、チェックする列数にもよるけど、ワークシート関数でも可能かと。
ただ、基準表と比較対象表をいろいろ入れ替えるんだったら、
ちと面倒かも。

行数が万単位なら、PowerQueryかな。
同じ表形式なら、基準表と比較対象表の入れ替えも楽だし。
20列とかの全列チェックするんだったら、
クエリー更新もそれなりに時間かかると思う。
0272名無しさん@そうだ選挙にいこう
垢版 |
2023/05/12(金) 12:45:44.93
>>271
ありがとうございます
0274名無しさん@そうだ選挙にいこう
垢版 |
2023/05/18(木) 23:07:29.26
共通の処理まで進めて処理を分岐させようと思います。
そのときに、「複製」を使って処理を分岐させるのと
コピーを使って処理を分岐させるのでは複製の場合はバグが発生しますか?
参照だと分岐元に変更を加えない限りはエラーが発生しませんか?
0275名無しさん@そうだ選挙にいこう
垢版 |
2023/05/19(金) 21:31:18.51
パワークエリで消費メモリを削減するためにはどの様なポイントがありますか?
0276名無しさん@そうだ選挙にいこう
垢版 |
2023/05/20(土) 10:04:59.78
ステップの早い段階で不要な列や行を削除する
0277名無しさん@そうだ選挙にいこう
垢版 |
2023/05/20(土) 12:07:29.56
>>276
ありがとうございます
0278名無しさん@そうだ選挙にいこう
垢版 |
2023/05/20(土) 12:42:19.18
ちなみになのですが、たった3000行未満の表をList.Containsでフィルターしたり、マージしたりした後に2つ複製をして複製したクエリをそれぞれステップを書き加えてもエラーは起きませんよね?
0279名無しさん@そうだ選挙にいこう
垢版 |
2023/05/20(土) 14:40:14.51
複製?参照じゃなくて?
0280名無しさん@そうだ選挙にいこう
垢版 |
2023/05/20(土) 15:47:46.17
>>279
はい
複製です

私は複製のことをコピーそのものだと勘違いしておりました
複製では依存先(?)依存関係にあるクエリまで複製されないので複製したクエリを実行しても動かないのですね

参照で別のクエリを作成し(わかりにくい表現かもしれませんが)作成したクエリに追加の作業を行うと参照元のクエリが書き換わる、変更されるものだと勘違いしておりました

複製ではなくコピーの方がいいのですね
0281名無しさん@そうだ選挙にいこう
垢版 |
2023/05/20(土) 21:02:05.11
データソースであるexcelファイルを参照してるんだけど
上書きしても同じファイル名なら更新すれば読み込んでくれる?
0283名無しさん@そうだ選挙にいこう
垢版 |
2023/05/25(木) 18:43:27.97
フォルダからファイルを接続して読み込んでいましたが不要になったので該当するクエリを削除し、フォルダを削除しました
しかしクエリを更新する時にファイルがありませんとエラーメッセージが表示されます
どうしたらいいでしょうか?
0284名無しさん@そうだ選挙にいこう
垢版 |
2023/05/25(木) 20:55:40.89
>>283
もしかして、そのクエリー、
「読込み先」の時に、ワークシートにテーブルとして読込んだだけでなくて、
「このデータをデータ モデルに追加する」にもチェック入れて読込んでない?
なので、テーブルとクエリーを削除しても「接続」が残っているのかと。

よく分らないけど、
メニューバーの「データ」から「クエリと接続」の右ペインで、
「接続」のタブに何か残っているようだったらそれを削除、
あるいは、メニューバーに「Power Pivot」が出るんだったら、
そこの「管理」開いて、何らかのスプレッドシートみたいなのがあれば、タブで削除、
するとか?
0285名無しさん@そうだ選挙にいこう
垢版 |
2023/05/25(木) 21:30:41.91
>>284
ありがとうございます
データモデルに追加する
にチェックを入れると動作が軽くなるとか早くなると聞いていたので何でもかんでも追加していました
0287名無しさん@そうだ選挙にいこう
垢版 |
2023/05/25(木) 22:24:12.84
頻繁にメモリ不足エラーを吐かれるんだけど一体なんなんだろうか?
私がデータモデルに追加しているからなんだろうか、それともデータソースを追加して、そのまま編集して、そこから次に読み込むで接続オンリーにしているからなんだろうか?
0288名無しさん@そうだ選挙にいこう
垢版 |
2023/05/25(木) 22:28:06.99
クエリのコピーや参照もいいですが、
ファイルそのものをコピーして分けて作成するのもいいですね
0289名無しさん@そうだ選挙にいこう
垢版 |
2023/05/26(金) 16:42:48.05
「データモデル」と「ワークシートにテーブル」の両方読込むと、
メモリーの制約からか、ワークシート側のソート、
特に複数列ソートが思い通りにならなくなったりしない?
104万行以上もワークシートには当然読み込めないし。

なんとなく、
・リレーションシップやDAX関数使わないんだったら、「データモデル」には追加しない。
・使うんだったら接続のみ(それでもソースとして参照したクエリーはワークシートにテーブルとして落とせたような・・・)
にしてるんだけど。
0290名無しさん@そうだ選挙にいこう
垢版 |
2023/05/26(金) 21:32:07.23
ワークシートに出力しているクエリをデータモデルに追加するとバグを起こす可能性があるのですね
0291名無しさん@そうだ選挙にいこう
垢版 |
2023/05/29(月) 19:49:38.16
サーバーから吐き出されるCSVのファイル名を変えられちゃったんだけど
powerqueryのクエリで違うファイル名に変更できる?
0292名無しさん@そうだ選挙にいこう
垢版 |
2023/05/29(月) 20:19:53.36
できる
0295名無しさん@そうだ選挙にいこう
垢版 |
2023/05/30(火) 22:37:21.20
>>291
中身自体が違えば難しいのでは
0297名無しさん@そうだ選挙にいこう
垢版 |
2023/06/01(木) 20:08:58.26
欧州の電力需給実績リアルタイム15分値のチャートがWeb公開されているんだけど、
https://energy-charts.info/charts/power/chart.htm?l=en&c=DE&stacking=stacked_absolute_area
これってPower BIベースなのだろうか?

日本の電力需給1時間値でマネして、
「折れ線グラフおよび積上げ棒グラフ」で再現できないかやってみた。

が、
1時間値の積上げ棒グラフの幅が、
最初はこのくらい狭く表示できたんだけど、
何かの拍子に広がってしもうた。

視覚化の「列」が積み上げ棒グラフのプロパティっぽいんだが、
「カテゴリの最小幅(px)」の最小値が「20」で、
これより細かくできない。

何かやり方あるのだろうか?
0298名無しさん@そうだ選挙にいこう
垢版 |
2023/06/01(木) 20:10:35.43
パワークエリでフォルダからブックを読み込む時にシート2のみ取り込む方法はありますか?
0300名無しさん@そうだ選挙にいこう
垢版 |
2023/06/01(木) 20:36:36.70
>>298
目的のフォルダ指定してPower Queryエディター開いたら、
ステップを最初の「ソース」だけ残す。

kind列でsheetだけ絞るフィルターかけて
Item列にsheet名が出てるはずだから
またフィルターでそれだけ絞る。

1行だけになったらData列だけ残して他の列を削除。
中の緑色の文字"Table"をクリックすれば、
目的のsheetが開く。
そのステップも自動で追加される。

あとは型の変更なり計算なり、
ステップを増やしていくのはお好きなように。
0301名無しさん@そうだ選挙にいこう
垢版 |
2023/06/01(木) 20:41:47.20
>>300
ありがとうございます😊
Bing君に聞いても上手く答えを出してくれなくて
0303名無しさん@そうだ選挙にいこう
垢版 |
2023/06/03(土) 06:09:29.87
完全外部結合させた時にキー列のnullに右部のキー列を入れるにはどうしたらいいでしょうか?

完全外部結合と論理和は何が違うのでしょうか?
Bing AIくんお尋ねしたら完全外部結合は表を結合させるもので、論理和はAUBだから概念は違うけどどちらも全てという意味では似てると言われました
0305名無しさん@そうだ選挙にいこう
垢版 |
2023/06/03(土) 10:00:39.71
>>303
条件列作って、[キー列]がnullなら[右のキー列]、それ以外は[キー列]
キー列を削除
作った条件列をキー列の名前に変更

M言語を直接編集する気があるならキー列を直接変更する方法はあるよ
0306名無しさん@そうだ選挙にいこう
垢版 |
2023/06/03(土) 17:51:17.37
>>305
M言語?はちょくちょく触らせてもらっています
それ自体は簡単そうなので気になりますね

話が変わりますがテーブルに読み込んでいるクエリだけ(?)データモデルに追加するを止めるようにしたらあれだけ出ていたメモリ不足エラーやその他のエラーがぱったり消えました
やはりバグなんですね
0307名無しさん@そうだ選挙にいこう
垢版 |
2023/06/03(土) 18:25:50.26
>>306
= Table.ReplaceValue(前のステップ, each [キー列],each if [キー列] = null then [右のキー列] else [キー列],Replacer.ReplaceValue,{"キー列"})
0308名無しさん@そうだ選挙にいこう
垢版 |
2023/06/03(土) 18:32:00.29
あれ?これで十分なのかな?
= Table.ReplaceValue(前のステップ, null, [右のキー列],Replacer.ReplaceValue,{"キー列"})
試してみて
0309名無しさん@そうだ選挙にいこう
垢版 |
2023/06/03(土) 18:32:02.67
一つ聞きたいのですが
パワークエリで横に長いテーブルを読み込み編集します
そのシートの下でも上でもいいので集計行を追加する事は可能でしょうか?


次にそのクエリを参照したクエリで行列入れ替えを行い、見出し列を行に並び替えます
見出し行の隣に参照元の集計行を行列入れ替えで追加できますか?
0310名無しさん@そうだ選挙にいこう
垢版 |
2023/06/03(土) 18:41:24.85
5ちゃん GTPもBing AIも凄いなぁ
0311名無しさん@そうだ選挙にいこう
垢版 |
2023/06/03(土) 19:36:50.80
ちなみになのですが昨日サイトで完全外部結合した後にキー列をカスタム関数のifで結合すればいいという事のを見て自分で実践してみましたが=が二つになってしまい、なんとかトークンが必要ですというエラーが出てきました
あれは何が問題だったのでしょうか?
BingAIに聞けばよかったですね
0312名無しさん@そうだ選挙にいこう
垢版 |
2023/06/03(土) 22:24:43.95
>>307
eachが必要
= Table.ReplaceValue(前のステップ, null, each [右のキー列],Replacer.ReplaceValue,{"キー列"})
0313名無しさん@そうだ選挙にいこう
垢版 |
2023/06/03(土) 22:48:35.75
>>311
「トークンが必要」というエラーは
詳細エディターで手入力でM言語式を書いたとき、
うっかり間違える「前のステップ」名。

でなきゃ、途中ステップの最後に "," を忘れたか、
最終ステップ(in前)の最後の記述に余計な "," を入れた
だったか。
0314名無しさん@そうだ選挙にいこう
垢版 |
2023/06/03(土) 23:22:22.76
>>313
そうだったのですね
ありがとうございます
まだまだパワークエリのM言語は触り始めたばかりでルールを知りませんでした
0315名無しさん@そうだ選挙にいこう
垢版 |
2023/06/04(日) 13:13:19.77
パワークエリのグループ化の集計方法は何が違うのでしょうか?
0316名無しさん@そうだ選挙にいこう
垢版 |
2023/06/05(月) 12:30:31.25
B列からH列まであって
それぞれの列の値は被らないとします
この場合B列からH列までを一つの列にまとめる事は可能でしょうか?
0318名無しさん@そうだ選挙にいこう
垢版 |
2023/06/05(月) 19:09:10.88
データモデル(PowerPivot)はデータをブックに読み込んでしまう
ファイルサイズ見ればわかるよ
PowerPivotの編集画面で表示されるデータがそのままブックに保存されてる
PowerQueryだけならそうならない
0319名無しさん@そうだ選挙にいこう
垢版 |
2023/06/05(月) 21:44:11.31
>>318
データモデルに追加はよく省メモリとか軽量化のための手段として紹介されていますが
全くの出鱈目だったんですね
0320名無しさん@そうだ選挙にいこう
垢版 |
2023/06/06(火) 06:57:57.49
データモデルは、
ワークシート限界の104万行以上を扱える。
Power Pivotと併用すると、計算が速い。
その代わり、データが大きいほどメモリーは食う。
0321名無しさん@そうだ選挙にいこう
垢版 |
2023/06/06(火) 07:34:36.14
>>320
リレーションシップだから処理が軽く早いんだと聞いていましたが違ったのですね
0322320
垢版 |
2023/06/06(火) 10:15:46.29
たとえば、>>297
日本版電力エリア需給実績(1時間値)もどきをやると、
1時間平均値なので、1供給エリアごとに年間8,760行。

個別の供給10エリアはあって、
さらに、50Hz連系時間帯串刺し、60Hz連系串刺し、10エリア計時間帯串刺しで+3エリア
都合、13エリア分になる。
年間:8,760行×13エリア=113,880行/年。

ここまでの、Web公開csvファイルDLからクレンジング、加工、集計とかの下処理は、
Excelで個別にクエリーやVBAを使って月次処理。

公開開始の2016年度から2022年度までの7年間だと、797,160行。
3ヶ年だけ、蓄電池シミュレーション版も入れたら、104万行を超えてもうた。

で、まだ勉強しながら作ってる途中だけど、
Power BI Desktopから年度別Excelファイルを読みに行って、
統合してデータモデルに格納(そもそも、BIにはワークシートがない)、
これの月別1時間値推移の、積み上げ棒&折れ線の複合グラフを作ると・・・

・スライサー切替えによるグラフ再描写が1秒弱。(第8世代Core i7のKなし)
・月次集計、年次集計、エリア間比較、電源構成比も楽ですよ
・BIの.pbixファイルだけなら130MBくらい
・ただし、BIだけでメモリーは1.4GB食ってます、
 制作途中でBIの中でクエリー更新すると、CPU負荷率とメモリー消費量がもっと跳ね上がって、ちょっと時間が掛かります、
 出来てしまえば、スライサー切替えによる再計算は速いです・・・

って話。

https://i.imgur.com/C74ul4i.png
https://i.imgur.com/omO9dQm.png
https://i.imgur.com/1QPmbIO.png
0324名無しさん@そうだ選挙にいこう
垢版 |
2023/06/06(火) 17:13:19.88
外せるよ。

「クエリと接続」の右ペイン出して、
目的のクエリー右クリックして「読込み先」、
「このデータをデータモデルに追加する」のチェックを外す
だったか。
Power Pivot開いて目的のクエリーのタブ右クリックして削除でも行けたかな?
0326名無しさん@そうだ選挙にいこう
垢版 |
2023/06/06(火) 20:01:51.66
パワーピボットで3種類の値の入った列を複数列、行フィールドに入れてフィルターをかけたらどうなりますか?
ANDでフィルターをかけられた結果が表示されますか?
0328名無しさん@そうだ選挙にいこう
垢版 |
2023/06/07(水) 07:18:28.24
>>327
やはり一つの列には一つの値しか存在してはいけないのですね
私もア以外の値をなくすことによってピボットテーブルで集計する事ができました

https://i.imgur.com/bTwA4tg.jpg


https://i.imgur.com/z7yJTK3.jpg

この様に列を並べて一つのピボットテーブルで集計したいです
0329名無しさん@そうだ選挙にいこう
垢版 |
2023/06/07(水) 08:26:02.56
>>328
「一つの列に一つの値」は基本中の基本、イロハの「イ」やで。
それと、他人に説明するとき、示す文章と絵を一致させるのも、イロハの「イ」や。

よーく、覚えとけ。
0330名無しさん@そうだ選挙にいこう
垢版 |
2023/06/07(水) 08:45:36.27
>>329
一つの列に一つの値が基本中の基本なので一つの列しか並べられない
という事はわかりました

ではなぜこれがア イ ウの値のある列ではなく、アしかない複数の列を並べる場合だと上手く機能するのでしょうか?
0331名無しさん@そうだ選挙にいこう
垢版 |
2023/06/08(木) 21:58:54.72
ピボットテーブルにもデータモデルに追加すると動作が重くなる とか メモリ不足等のエラーメッセージが出る という事はありますか?
0335名無しさん@そうだ選挙にいこう
垢版 |
2023/06/09(金) 20:55:11.42
>>331
データの格納効率(圧縮率?)はワークシートよりデータモデルの方が良いらしい
でもその処理で余計にCPUやメモリは消費するかもしれないね
0336名無しさん@そうだ選挙にいこう
垢版 |
2023/06/11(日) 10:42:42.93
列にフィルターを掛けます
フィルターされた のステップが挿入されます
このステップのコードをコピーすれば何回でも流用できますか?
0337名無しさん@そうだ選挙にいこう
垢版 |
2023/06/14(水) 22:38:53.61
SQLの基本を解説する本を読んでいてパワークエリに通じるものを感じます
つまりそもそもSQLを覚えましょうという事なのでしょうか?
0340名無しさん@そうだ選挙にいこう
垢版 |
2023/06/15(木) 21:07:17.33
パワークエリはSQLでできる事をさもすごい新機能の様に言っているだけでしょうか?
0344名無しさん@そうだ選挙にいこう
垢版 |
2023/06/16(金) 12:14:32.96
Pythonを少し触りはじめた人がExcelでは上手く作れない複雑な計算(数学?)のグラフがPythonだったら簡単に作れると驚いていたのですが、それはデータベースとかライブラリだからだとしたらそういう事だったのかという感じ
0346名無しさん@そうだ選挙にいこう
垢版 |
2023/06/19(月) 22:48:24.89
パワークエリでPythonを動かす人もいるのでしょう?
0347名無しさん@そうだ選挙にいこう
垢版 |
2023/08/04(金) 09:28:17.84
リレーション先のテーブルにある別カラムを条件に、棒グラフの1本だけを色変えたりできないかな?
0348名無しさん@そうだ選挙にいこう
垢版 |
2023/08/04(金) 12:22:46.80
ん?
どういう集計のどういうグラフか、詳細が分らないが、

条件使ってPowerQueryか関数で別系列に出来るなら、
色付け自体は固定的にグラフの設定

棒グラフじゃないけど、例えば、
最大値を別の色のマーカーにしたいとき、
最大値の系列を別に作って、他データを#N/Aにして
その1点だけ、あたかも別系列で重ねて表示させる、
なんてことはよくやる。

系列名が動的に変わるならVBA

とか。
0349名無しさん@そうだ選挙にいこう
垢版 |
2023/08/23(水) 09:28:23.14
やっぱり、出たよ

Introducing Python in Excel: The Best of Both Worlds for Data Analysis and Visualization
https://techcommunity.microsoft.com/t5/microsoft-365-blog/introducing-python-in-excel-the-best-of-both-worlds-for-data/ba-p/3905482?ocid=usoc_TWITTER_M365_spl100004503643083

Microsoft、「Python in Excel」を発表 〜Windows向けベータ版でテスト開始
https://forest.watch.impress.co.jp/docs/news/1525532.html
0351名無しさん@そうだ選挙にいこう
垢版 |
2023/10/02(月) 03:26:16.21
pdf表のデータ・スクレイピングは難儀だけど、
例えば、毎月発表される東電パワーグリッドの再エネ接続量のこのファイル、
https://www.tepco.co.jp/pg/consignment/system/pdf/newenergy_hondo_backnumber.pdf

これから%の表は抜きで
電源種別、申込ステータス、年月ごとの容量(万kW)をリスト化にするには、
・ページ番号・行番号・列番号使って、
・いったん時系列・項目・データ部に分け、
・番号を頼りにマージで再合成
すれば、PowerQueryでも出来んのね。
0353名無しさん@そうだ選挙にいこう
垢版 |
2024/02/29(木) 16:59:07.69
Webデータを読み込むクエリーで
ステップを重ねていって、途中でエラーになったとき(例:該当するデータがない等)、
その後のステップを飛ばして(if then elseでやるか・・・)
データがないのテーブルを#tableで生成して終わるような処理は
出来るかな?
0355名無しさん@そうだ選挙にいこう
垢版 |
2024/03/08(金) 15:47:22.05
初歩的な質問かもしれんのですが、この動画https://youtu.be/tFrjr3IiIlM?si=nYS3GRwPgYwMprmO 見ながら勉強しててドリルダウンまで行ったんだけど何故か綺麗に左からGDP順でドリルダウにならず…国名の五十音順になってしまうのって何故だと思う?
0356名無しさん@そうだ選挙にいこう
垢版 |
2024/03/08(金) 16:05:36.54
>>355
軸の並び替えで対処できたわ
レスを投稿する


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