[[20231001124515]] 『パワークエリのPivotで最少値のデータ行を残したax(クエリ学習ちゅ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『パワークエリのPivotで最少値のデータ行を残したい』(クエリ学習ちゅ)

他の方のを見てできそうでできないので教えていただけたらと思います。
作業工程の最も時間がかかっていないのをパワークエリで抽出し、その最少の値の使用dataSQを、できたらその他のデータも表示したいです。
行程2は1日余分にかかることが前提となっているので、残したいです

 使用dataSQ(テキスト)	作業行程	作業時間合計	工程2	その他データ列
 21010918365603004400	a→b	    1 09:02 	2	
 21010918365603008800	a→b	    0 11:31 		
 21011009265303007000	a→b.c	    1 02:10 	2	
 21011015510803009900	a.b→d	0 13:14 		
 21011110243403006000	a→b	    0 17:07 		
 21011110505303001100	a→b	    1 00:55 	2	
 21011112062103009000	b→C→D	0 23:52 		
 21011114183903007000	a→b	    0 17:42 		
 21011115344103008800	a→b	    0 12:04 		
 21011116002703002200	a→b	    0 20:49 		
 21011118032503006600	a→b  	0 15:54 		
 21011118032503000000 	b→C→D	0 11:38 		

< 使用 Excel:Excel2010、使用 OS:Windows10 >


 ・[作業時間合計]列を選んで、右クリック/重複する列
 ・[作業時間合計 - コピー]列を選んで、変換/列の分割/区切り記号による分割
 ・[作業時間合計 - コピー.1]列を選んで、データ型を10進数
 ・[作業時間合計 - コピー.2]列を選んで、データ型を時刻
 ・[作業時間合計 - コピー.2]列を選んで、データ型を10進数
 ・[作業時間合計 - コピー.1][作業時間合計 - コピー.2]列を選んで、右クリック/合計
 ・列の追加/カスタム列
   新しい列名:カスタム カスタム列の式:=List.Min(挿入された合計[加算])
                                                      ^^^^^^↑^^^^^
                                                 一つ前のステップ名
 ・列の追加/条件列   新しい列名:カスタム.1
       列名   演算         値           出力
   条件  加算   指定の値に等しい   列の選択 最小値    1
 ・[カスタム.1]列を選んで、フィルターで 1のみに☑
 ・不要な列削除

(マナ) 2023/10/02(月) 11:41:36


 ここも簡単操作にしたかったけど挫折

 >・列の追加/カスタム列
 >   新しい列名:カスタム カスタム列の式:=List.Min(挿入された合計[加算])
(マナ) 2023/10/02(月) 11:47:38

 思いつかないので、最小値はグループ化利用に変更

 ・[作業時間合計 - コピー1]列を選んで、変換/グループ化
  ◯基本 ●詳細設定
   新しい列名  操作      列
   テーブル   すべての行
   最小値    最小      加算
 ・[作業時間合計 - コピー1]列を選んで、昇順で並べ替え
 ・ホーム/行の保持/上位の行の保持 行数:1
 ・[テーブル]列を展開 
    列選択で、「作業時間合計 - コピー1」の☑をはずす
   「元の列名をプレフィックス…」の☑をはずす
 ・列の追加/条件列   新しい列名:カスタム
       列名   演算         値           出力
   条件  加算   指定の値に等しい   列の選択 最小値    1
 ・[カスタム]列を選んで、フィルターで 1のみに☑
 ・不要な列削除
(マナ) 2023/10/02(月) 18:42:19

マナ様
有難うございます。
理解できるように頑張ります。
月末の締めなどがありちょっと時間かかるかもしれませんが、できるだけ早くやってみます。

昼頃、投稿したのが、消えているようなのですが、投稿し損ねたのかもしれません。

(クエリ学習ちゅ) 2023/10/02(月) 21:44:00


ありがとうございます。
時間がとれず、まだうまくできていないのですが、
・[作業時間合計 - コピー]列を選んで、変換/列の分割/区切り記号による分割
で躓いています
作業時間合計のデータのドットがなくなっているたのに気が付き
1 09:02 → 1.09:02:05の形だったので、分割を.と:とでやってみたのですが、迷宮に入りました。

「最小値はグループ化利用」
グループ化利用でやってみます
(クエリ学習ちゅ) 2023/10/16(月) 10:25:30


「作業時間合計」列のデータ型は何なんですか?

見た目に桁が揃っているように見えるので duration型でも text型でも 昇順にソートして上位行の
保持で「1」を指定すればいいように思いますが違うのでしょうか。
(d-q-t-p) 2023/10/16(月) 12:52:15


 > 09:02 → 1.09:02:05の形だったので、分割を.と:とでやってみたのですが、迷宮に入りました。

 一番最初に、この操作をしてください。
 これで、区切り文字(.)で分割できます。

 ・[作業時間合計]列を選んで、データ型をテキストに変換
(マナ) 2023/10/16(月) 13:08:09

 > 昇順にソートして上位行の保持で「1」を指定

 複数の工程が、同じ時間で最小となるケースを想定していました。
(マナ) 2023/10/16(月) 13:20:17

 グループ化の基準を作りたいだけなので、列の分割でなくてもよかった。
 もしかすると{工程2}列が利用できるのかもしれません。	

 ・[作業時間合計]列を選んで、列の追加/期間/合計日数
 ・[合計日数]列を選んで、変換/丸め/切り捨て
 ・[合計日数]列を選んで、変換/グループ化
  ◯基本 ●詳細設定
   新しい列名  操作      列
   テーブル   すべての行
   最小値    最小      作業時間合計
 ・[合計日数]列を選んで、昇順で並べ替え
 ・ホーム/行の保持/上位の行の保持 行数:1
 ・[テーブル]列を展開 
    列選択で、「合計日数」の☑をはずす
   「元の列名をプレフィックス…」の☑をはずす
 ・列の追加/条件列   新しい列名:カスタム
       列名   演算         値           出力
   条件  加算   指定の値に等しい   列の選択 最小値    1
 ・[カスタム]列を選んで、フィルターで 1のみに☑
 ・不要な列削除
(マナ) 2023/10/16(月) 18:30:23

作業時間合計」のデータ型は、クエリからのワークシートではユーザー定義 d.hh:mm:ssで、
クエリでは期間となっておりました。

グループ化と上位行の保持ですね
もう少し頑張ります。

(クエリ学習ちゅ) 2023/10/16(月) 21:10:41


マナ様
複数工程が、同じ時間で最小となる、
そういうこともあるかもしれません
まったく考えがおよびませんでした
ありがとうございます。
(クエリ学習ちゅ) 2023/10/17(火) 08:10:56

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.