'如何把多維數據轉換成一維數據?'
原始表:
原始表:
目標表:
原始表:
目標表:
項目和時間在行列的順序是互換的,這個肯定會涉及到轉置功能。
我們看2種解法:
(一) 通過函數分割後轉置合併。
我們看一個新函數Table.Partition。
Table.Partition(table as table, column as text, group as number, hash as function) as list
位置參數描述第1參數Table需要操作的表第2參數Text列名,文本形式第3參數Group分組的數量,數字格式第4參數Hash應用以獲取哈希值的函數
解釋:此作用主要是把表根據哈希值及制定分組數進行分割成單個table的列表。
1. 添加索引列並整除
原始表:
目標表:
項目和時間在行列的順序是互換的,這個肯定會涉及到轉置功能。
我們看2種解法:
(一) 通過函數分割後轉置合併。
我們看一個新函數Table.Partition。
Table.Partition(table as table, column as text, group as number, hash as function) as list
位置參數描述第1參數Table需要操作的表第2參數Text列名,文本形式第3參數Group分組的數量,數字格式第4參數Hash應用以獲取哈希值的函數
解釋:此作用主要是把表根據哈希值及制定分組數進行分割成單個table的列表。
1. 添加索引列並整除
2. 轉換成3個獨立的表,使用到Table.Partition函數
Table.Partition(被用整數除的列,"索引",3, each _)
解釋:被用整數除的列代表之前的過程表; 索引代表根據內容進行的分組列名,需要文本格式,所以用""; 3代表分組的數量; each _代表之前的整個表。
原始表:
目標表:
項目和時間在行列的順序是互換的,這個肯定會涉及到轉置功能。
我們看2種解法:
(一) 通過函數分割後轉置合併。
我們看一個新函數Table.Partition。
Table.Partition(table as table, column as text, group as number, hash as function) as list
位置參數描述第1參數Table需要操作的表第2參數Text列名,文本形式第3參數Group分組的數量,數字格式第4參數Hash應用以獲取哈希值的函數
解釋:此作用主要是把表根據哈希值及制定分組數進行分割成單個table的列表。
1. 添加索引列並整除
2. 轉換成3個獨立的表,使用到Table.Partition函數
Table.Partition(被用整數除的列,"索引",3, each _)
解釋:被用整數除的列代表之前的過程表; 索引代表根據內容進行的分組列名,需要文本格式,所以用""; 3代表分組的數量; each _代表之前的整個表。
這樣我們得到3個獨立的表。因為返回的結果是list格式,所以我們還需要轉成Table格式。
3. 把這3個table裡面的行列進行轉置。
Table.AddColumn(轉換為表, "自定義", each
Table.Transpose(
Table.RemoveColumns([Column1],"索引")
)
)
因為索引列我們已經不需要了,所以在轉置前把索引列給去除,然後在進行轉置。
原始表:
目標表:
項目和時間在行列的順序是互換的,這個肯定會涉及到轉置功能。
我們看2種解法:
(一) 通過函數分割後轉置合併。
我們看一個新函數Table.Partition。
Table.Partition(table as table, column as text, group as number, hash as function) as list
位置參數描述第1參數Table需要操作的表第2參數Text列名,文本形式第3參數Group分組的數量,數字格式第4參數Hash應用以獲取哈希值的函數
解釋:此作用主要是把表根據哈希值及制定分組數進行分割成單個table的列表。
1. 添加索引列並整除
2. 轉換成3個獨立的表,使用到Table.Partition函數
Table.Partition(被用整數除的列,"索引",3, each _)
解釋:被用整數除的列代表之前的過程表; 索引代表根據內容進行的分組列名,需要文本格式,所以用""; 3代表分組的數量; each _代表之前的整個表。
這樣我們得到3個獨立的表。因為返回的結果是list格式,所以我們還需要轉成Table格式。
3. 把這3個table裡面的行列進行轉置。
Table.AddColumn(轉換為表, "自定義", each
Table.Transpose(
Table.RemoveColumns([Column1],"索引")
)
)
因為索引列我們已經不需要了,所以在轉置前把索引列給去除,然後在進行轉置。
4. 對每一個表用表格裡的第一列的第一個值作為表的說明。
Table.AddColumn(刪除的其他列, "自定義.1", each [自定義][Column1]{0})
添加列並取自定義表的Column1列的第1行值作為表的說明。
原始表:
目標表:
項目和時間在行列的順序是互換的,這個肯定會涉及到轉置功能。
我們看2種解法:
(一) 通過函數分割後轉置合併。
我們看一個新函數Table.Partition。
Table.Partition(table as table, column as text, group as number, hash as function) as list
位置參數描述第1參數Table需要操作的表第2參數Text列名,文本形式第3參數Group分組的數量,數字格式第4參數Hash應用以獲取哈希值的函數
解釋:此作用主要是把表根據哈希值及制定分組數進行分割成單個table的列表。
1. 添加索引列並整除
2. 轉換成3個獨立的表,使用到Table.Partition函數
Table.Partition(被用整數除的列,"索引",3, each _)
解釋:被用整數除的列代表之前的過程表; 索引代表根據內容進行的分組列名,需要文本格式,所以用""; 3代表分組的數量; each _代表之前的整個表。
這樣我們得到3個獨立的表。因為返回的結果是list格式,所以我們還需要轉成Table格式。
3. 把這3個table裡面的行列進行轉置。
Table.AddColumn(轉換為表, "自定義", each
Table.Transpose(
Table.RemoveColumns([Column1],"索引")
)
)
因為索引列我們已經不需要了,所以在轉置前把索引列給去除,然後在進行轉置。
4. 對每一個表用表格裡的第一列的第一個值作為表的說明。
Table.AddColumn(刪除的其他列, "自定義.1", each [自定義][Column1]{0})
添加列並取自定義表的Column1列的第1行值作為表的說明。
5. 最後展開後篩選,調整,重命名標題即可。
(二) 使用自定義函數
之前我們有做過一個關於多列數據組合的自定義函數。
Power Query中如何把多列數據合併?
Power Query中如何把多列數據合併?升級篇
原始表:
目標表:
項目和時間在行列的順序是互換的,這個肯定會涉及到轉置功能。
我們看2種解法:
(一) 通過函數分割後轉置合併。
我們看一個新函數Table.Partition。
Table.Partition(table as table, column as text, group as number, hash as function) as list
位置參數描述第1參數Table需要操作的表第2參數Text列名,文本形式第3參數Group分組的數量,數字格式第4參數Hash應用以獲取哈希值的函數
解釋:此作用主要是把表根據哈希值及制定分組數進行分割成單個table的列表。
1. 添加索引列並整除
2. 轉換成3個獨立的表,使用到Table.Partition函數
Table.Partition(被用整數除的列,"索引",3, each _)
解釋:被用整數除的列代表之前的過程表; 索引代表根據內容進行的分組列名,需要文本格式,所以用""; 3代表分組的數量; each _代表之前的整個表。
這樣我們得到3個獨立的表。因為返回的結果是list格式,所以我們還需要轉成Table格式。
3. 把這3個table裡面的行列進行轉置。
Table.AddColumn(轉換為表, "自定義", each
Table.Transpose(
Table.RemoveColumns([Column1],"索引")
)
)
因為索引列我們已經不需要了,所以在轉置前把索引列給去除,然後在進行轉置。
4. 對每一個表用表格裡的第一列的第一個值作為表的說明。
Table.AddColumn(刪除的其他列, "自定義.1", each [自定義][Column1]{0})
添加列並取自定義表的Column1列的第1行值作為表的說明。
5. 最後展開後篩選,調整,重命名標題即可。
(二) 使用自定義函數
之前我們有做過一個關於多列數據組合的自定義函數。
Power Query中如何把多列數據合併?
Power Query中如何把多列數據合併?升級篇
1. 先進行轉置
原始表:
目標表:
項目和時間在行列的順序是互換的,這個肯定會涉及到轉置功能。
我們看2種解法:
(一) 通過函數分割後轉置合併。
我們看一個新函數Table.Partition。
Table.Partition(table as table, column as text, group as number, hash as function) as list
位置參數描述第1參數Table需要操作的表第2參數Text列名,文本形式第3參數Group分組的數量,數字格式第4參數Hash應用以獲取哈希值的函數
解釋:此作用主要是把表根據哈希值及制定分組數進行分割成單個table的列表。
1. 添加索引列並整除
2. 轉換成3個獨立的表,使用到Table.Partition函數
Table.Partition(被用整數除的列,"索引",3, each _)
解釋:被用整數除的列代表之前的過程表; 索引代表根據內容進行的分組列名,需要文本格式,所以用""; 3代表分組的數量; each _代表之前的整個表。
這樣我們得到3個獨立的表。因為返回的結果是list格式,所以我們還需要轉成Table格式。
3. 把這3個table裡面的行列進行轉置。
Table.AddColumn(轉換為表, "自定義", each
Table.Transpose(
Table.RemoveColumns([Column1],"索引")
)
)
因為索引列我們已經不需要了,所以在轉置前把索引列給去除,然後在進行轉置。
4. 對每一個表用表格裡的第一列的第一個值作為表的說明。
Table.AddColumn(刪除的其他列, "自定義.1", each [自定義][Column1]{0})
添加列並取自定義表的Column1列的第1行值作為表的說明。
5. 最後展開後篩選,調整,重命名標題即可。
(二) 使用自定義函數
之前我們有做過一個關於多列數據組合的自定義函數。
Power Query中如何把多列數據合併?
Power Query中如何把多列數據合併?升級篇
1. 先進行轉置
2. 使用自定義函數進行多列合併
批量多列合併(轉置表,Table.ColumnCount(轉置表)/7,7,0)
解釋:
第1參數代表需要處理的表,轉置表代表上個過程的表
第2參數代表是循環次數,這裡實際轉換是3,代表3組數據進行合併,我們這裡使用了函數可以相對自動化的獲取循環次數。
第3參數是多少列作為一組進行轉換,這裡是7個列進行。
第4參數是代表是否需要固定列,這不存在固定列,所以用0代表。
原始表:
目標表:
項目和時間在行列的順序是互換的,這個肯定會涉及到轉置功能。
我們看2種解法:
(一) 通過函數分割後轉置合併。
我們看一個新函數Table.Partition。
Table.Partition(table as table, column as text, group as number, hash as function) as list
位置參數描述第1參數Table需要操作的表第2參數Text列名,文本形式第3參數Group分組的數量,數字格式第4參數Hash應用以獲取哈希值的函數
解釋:此作用主要是把表根據哈希值及制定分組數進行分割成單個table的列表。
1. 添加索引列並整除
2. 轉換成3個獨立的表,使用到Table.Partition函數
Table.Partition(被用整數除的列,"索引",3, each _)
解釋:被用整數除的列代表之前的過程表; 索引代表根據內容進行的分組列名,需要文本格式,所以用""; 3代表分組的數量; each _代表之前的整個表。
這樣我們得到3個獨立的表。因為返回的結果是list格式,所以我們還需要轉成Table格式。
3. 把這3個table裡面的行列進行轉置。
Table.AddColumn(轉換為表, "自定義", each
Table.Transpose(
Table.RemoveColumns([Column1],"索引")
)
)
因為索引列我們已經不需要了,所以在轉置前把索引列給去除,然後在進行轉置。
4. 對每一個表用表格裡的第一列的第一個值作為表的說明。
Table.AddColumn(刪除的其他列, "自定義.1", each [自定義][Column1]{0})
添加列並取自定義表的Column1列的第1行值作為表的說明。
5. 最後展開後篩選,調整,重命名標題即可。
(二) 使用自定義函數
之前我們有做過一個關於多列數據組合的自定義函數。
Power Query中如何把多列數據合併?
Power Query中如何把多列數據合併?升級篇
1. 先進行轉置
2. 使用自定義函數進行多列合併
批量多列合併(轉置表,Table.ColumnCount(轉置表)/7,7,0)
解釋:
第1參數代表需要處理的表,轉置表代表上個過程的表
第2參數代表是循環次數,這裡實際轉換是3,代表3組數據進行合併,我們這裡使用了函數可以相對自動化的獲取循環次數。
第3參數是多少列作為一組進行轉換,這裡是7個列進行。
第4參數是代表是否需要固定列,這不存在固定列,所以用0代表。
3. 添加自定義列標註數據歸屬
try if Text.Contains([Column1],"班") then [Column1] else null otherwise null
解釋:
因為歸屬的字段裡面都有個"班"字,所以以這個為條件進行判斷,但是第1列當中既有文本格式,又有日期格式,所以直接使用文本函數,在判斷日期的時候會出錯,所以這裡使用了try...otherwise...函數來進行處理。
原始表:
目標表:
項目和時間在行列的順序是互換的,這個肯定會涉及到轉置功能。
我們看2種解法:
(一) 通過函數分割後轉置合併。
我們看一個新函數Table.Partition。
Table.Partition(table as table, column as text, group as number, hash as function) as list
位置參數描述第1參數Table需要操作的表第2參數Text列名,文本形式第3參數Group分組的數量,數字格式第4參數Hash應用以獲取哈希值的函數
解釋:此作用主要是把表根據哈希值及制定分組數進行分割成單個table的列表。
1. 添加索引列並整除
2. 轉換成3個獨立的表,使用到Table.Partition函數
Table.Partition(被用整數除的列,"索引",3, each _)
解釋:被用整數除的列代表之前的過程表; 索引代表根據內容進行的分組列名,需要文本格式,所以用""; 3代表分組的數量; each _代表之前的整個表。
這樣我們得到3個獨立的表。因為返回的結果是list格式,所以我們還需要轉成Table格式。
3. 把這3個table裡面的行列進行轉置。
Table.AddColumn(轉換為表, "自定義", each
Table.Transpose(
Table.RemoveColumns([Column1],"索引")
)
)
因為索引列我們已經不需要了,所以在轉置前把索引列給去除,然後在進行轉置。
4. 對每一個表用表格裡的第一列的第一個值作為表的說明。
Table.AddColumn(刪除的其他列, "自定義.1", each [自定義][Column1]{0})
添加列並取自定義表的Column1列的第1行值作為表的說明。
5. 最後展開後篩選,調整,重命名標題即可。
(二) 使用自定義函數
之前我們有做過一個關於多列數據組合的自定義函數。
Power Query中如何把多列數據合併?
Power Query中如何把多列數據合併?升級篇
1. 先進行轉置
2. 使用自定義函數進行多列合併
批量多列合併(轉置表,Table.ColumnCount(轉置表)/7,7,0)
解釋:
第1參數代表需要處理的表,轉置表代表上個過程的表
第2參數代表是循環次數,這裡實際轉換是3,代表3組數據進行合併,我們這裡使用了函數可以相對自動化的獲取循環次數。
第3參數是多少列作為一組進行轉換,這裡是7個列進行。
第4參數是代表是否需要固定列,這不存在固定列,所以用0代表。
3. 添加自定義列標註數據歸屬
try if Text.Contains([Column1],"班") then [Column1] else null otherwise null
解釋:
因為歸屬的字段裡面都有個"班"字,所以以這個為條件進行判斷,但是第1列當中既有文本格式,又有日期格式,所以直接使用文本函數,在判斷日期的時候會出錯,所以這裡使用了try...otherwise...函數來進行處理。
4. 最後通過提升標題,篩選數據,重命名列名等整理數據即可