Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 更正如下所示的列,其余步骤相同_Excel_Powerquery_M - Fatal编程技术网

Excel 更正如下所示的列,其余步骤相同

Excel 更正如下所示的列,其余步骤相同,excel,powerquery,m,Excel,Powerquery,M,以下是幕后的M代码,供您参考 let Source = Excel.CurrentWorkbook(){[Name="RawData"]}[Content], #"Filter [null]" = Table.SelectRows(Source, each [ID] <> null and [ID] <> ""), #"Remove [Duplicates]" = Table.Distinct(#"Filter [null]", {"ID"}),

以下是幕后的M代码,供您参考

let
    Source = Excel.CurrentWorkbook(){[Name="RawData"]}[Content],
    #"Filter [null]" = Table.SelectRows(Source, each [ID] <> null and [ID] <> ""),
    #"Remove [Duplicates]" = Table.Distinct(#"Filter [null]", {"ID"}),
    #"Unpivot [Table]" = Table.UnpivotOtherColumns(#"Remove [Duplicates]", {"ID"}, "Date", "TM"),
    #"Detect Data Type" = Table.TransformColumnTypes(#"Unpivot [Table]",{{"ID", Int64.Type}, {"Date", type date}, {"TM", type text}}),
    #"Group [Table]" = Table.Group(#"Detect Data Type", {"ID", "TM"}, {{"From", each List.Min([Date]), type date}, {"On", each List.Max([Date]), type date}}, GroupKind.Local),
    #"Sorted Rows" = Table.Sort(#"Group [Table]",{{"ID", Order.Ascending}, {"From", Order.Ascending}}),
    #"Added Index" = Table.AddIndexColumn(#"Sorted Rows", "Index", 0, 1),
    #"Added Index1" = Table.AddIndexColumn(#"Added Index", "Index.1", 1, 1),
    #"Merged Queries" = Table.NestedJoin(#"Added Index1", {"ID", "Index.1"}, #"Added Index1", {"ID", "Index"}, "Added Index1", JoinKind.LeftOuter),
    #"Expanded Added Index1" = Table.ExpandTableColumn(#"Merged Queries", "Added Index1", {"From"}, {"Added Index1.From"}),
    #"Added Custom" = Table.AddColumn(#"Expanded Added Index1", "To", each if [Added Index1.From]=null then [On] else Date.AddDays([Added Index1.From],-1)),
    #"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"On","Index", "Index.1", "Added Index1.From"})
in
    #"Removed Columns"
let
Source=Excel.CurrentWorkbook(){[Name=“RawData”]}[Content],
#“Filter[null]”=表。选择行(源、每个[ID]null和[ID]“”),
#“Remove[Duplicates]”=Table.Distinct(#“Filter[null]”,{“ID}),
#“Unpivot[Table]”=Table.UnpivotOtherColumns(#“Remove[Duplicates]”,{ID},Date,,“TM”),
#“检测数据类型”=表.TransformColumnTypes(#“Unpivot[Table]”,{{{“ID”,Int64.Type},{“Date”,Type Date},{“TM”,Type text}),
#“Group[Table]”=Table.Group(#“Detect Data Type”、{“ID”、“TM”}、{“From”、each List.Min([Date])、Type Date}、{“On”、each List.Max([Date])、Type Date}}、GroupKind.Local),
#“排序行”=表.Sort(#“组[表]”,{{“ID”,Order.升序},{“From”,Order.升序}),
#“添加的索引”=表.AddIndexColumn(#“排序行”,“索引”,0,1),
#“添加的索引1”=表AddIndexColumn(#“添加的索引”、“索引1”、1、1),
#“合并查询”=表.NestedJoin(#“Added Index1”、{“ID”、“Index.1”}、#“Added Index1”、{“ID”、“Index”}、“Added Index1”、JoinKind.LeftOuter),
#“Expanded Added Index1”=Table.ExpandTableColumn(#“合并查询”、“Added Index1”、{“From”}、{“Added Index1.From”}),
#“Added Custom”=Table.AddColumn(#“Expanded Added Index1”、“To”),如果[Added Index1.From]=null,则为[On]else Date.AddDays([Added Index1.From],-1)),
#“Removed Columns”=Table.RemoveColumns(#“Added Custom”、{“On”、“Index”、“Index.1”、“Added Index1.From”})
在里面
#“删除的列”

如果你有任何问题,请告诉我。干杯:)

如何使用函数
Date.AddDays
?您可以通过添加负数的天数来减去天数。关于使用函数
Date.AddDays
?您可以通过添加负数的天数来减去天数
+----+----------+----------+----------+
| ID |   Name   |   From   |    To    |
+----+----------+----------+----------+
| 00 | Darell   | 12/29/14 | 01/05/15 |
| 00 | Kamala   | 01/12/15 | ...      |
| 01 | Jarrod   | 12/29/14 | 12/29/14 |
| 01 | Annelle  | 01/05/15 | 01/05/15 |
| 01 | Todd     | 01/12/15 | ....     |
| 04 | Lakeesha | 12/29/14 | 12/29/14 |
| 04 | Linn     | 01/05/15 | ....     |
| .. | ........ | ....     | ....     |
+----+----------+----------+----------+
let
Source = Excel.CurrentWorkbook(){[Name="RawData"]}[Content],

#"Unpivot [Table]" = Table.UnpivotOtherColumns(Source, {"ID"}, "Date", "Name"),

#"Group [Table]" = Table.Group(#"Unpivot [Table]", {"ID", "Name"}, {{"From", each List.Min([Date]), type date}, {"On", each List.Max([Date]), type date}}, GroupKind.Local)

in
#"Group [Table]"
+----+----------+----------+----------+
| ID |   Name   |   From   |    To    |
+----+----------+----------+----------+
| 00 | Darell   | 12/29/14 | 01/11/15 |
| 00 | Kamala   | 01/12/15 | ....     |
| 01 | Jarrod   | 12/29/14 | 01/04/15 |
| 01 | Annelle  | 01/05/15 | 01/11/15 |
| 01 | Todd     | 01/12/15 | ....     |
| 04 | Lakeesha | 12/29/14 | 01/04/15 |
| 04 | Linn     | 01/05/15 | ....     |
| .. | ........ | ....     | ....     |
+----+----------+----------+----------+
Table.AddColumn(#"Calculate [To]", "Date", each { Number.From([From])..Number.From([To]) })
let
    Source = Excel.CurrentWorkbook(){[Name="RawData"]}[Content],
    #"Filter [null]" = Table.SelectRows(Source, each [ID] <> null and [ID] <> ""),
    #"Remove [Duplicates]" = Table.Distinct(#"Filter [null]", {"ID"}),
    #"Unpivot [Table]" = Table.UnpivotOtherColumns(#"Remove [Duplicates]", {"ID"}, "Date", "TM"),
    #"Detect Data Type" = Table.TransformColumnTypes(#"Unpivot [Table]",{{"ID", Int64.Type}, {"Date", type date}, {"TM", type text}}),
    #"Group [Table]" = Table.Group(#"Detect Data Type", {"ID", "TM"}, {{"From", each List.Min([Date]), type date}, {"On", each List.Max([Date]), type date}}, GroupKind.Local),
    #"Sorted Rows" = Table.Sort(#"Group [Table]",{{"ID", Order.Ascending}, {"From", Order.Ascending}}),
    #"Added Index" = Table.AddIndexColumn(#"Sorted Rows", "Index", 0, 1),
    #"Added Index1" = Table.AddIndexColumn(#"Added Index", "Index.1", 1, 1),
    #"Merged Queries" = Table.NestedJoin(#"Added Index1", {"ID", "Index.1"}, #"Added Index1", {"ID", "Index"}, "Added Index1", JoinKind.LeftOuter),
    #"Expanded Added Index1" = Table.ExpandTableColumn(#"Merged Queries", "Added Index1", {"From"}, {"Added Index1.From"}),
    #"Added Custom" = Table.AddColumn(#"Expanded Added Index1", "To", each if [Added Index1.From]=null then [On] else Date.AddDays([Added Index1.From],-1)),
    #"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"On","Index", "Index.1", "Added Index1.From"})
in
    #"Removed Columns"