主頁 > 後端開發 > PowerQuery中的日期之間的差異

PowerQuery中的日期之間的差異

2022-03-25 14:52:09 後端開發

在電源查詢編輯器中,我添加了一個具有以下公式的自定義列:

=if[Type7]="REST" 然后 [Til7]-[Fra7] 否則 0

那個很好用。

[Type#] 是“REST”或“REGULAR”。[Fra#] 和 [Til#] 是格式為 dd.mm.yyyy hh:mm 的時間和日期(格式不是問題),我從較大的減去較小的得到時間量小數([Fra#] 總是較小的那個)。

但是,當我嘗試將其中幾個鏈接在一起時,我得到了錯誤。我試著這樣做:

=((如果[Type7]="REST" 然后 [Til7]-[Fra7] 否則 0)

(if[Type6]="REST" 然后 [Til6]-[Fra6] 否則 0)

(if[Type5]="REST" 然后 [Til5]-[Fra5] 否則 0)

(if[Type4]="REST" 然后 [Til4]-[Fra4] 否則 0)

(if[Type3]="REST" 然后 [Til3]-[Fra3] 否則 0)

(if[Type2]="REST" 然后 [Til2]-[Fra2] 否則 0)

(if[Type1]="REST" 然后 [Til1]-[Fra1] 否則 0)

(if[Type]="REST" then [Til]-[Fra] else 0))*24

我嘗試洗掉 *24 位,但這也不是問題。

為什么它不起作用?在此先感謝您的幫助:)

編輯: 資料截圖

對螢屏截圖的評論:當我運行代碼時,我在最右邊的列中得到錯誤作為輸出。

let
  Source = Excel.Workbook(File.Contents("C:\Users\xxxxxx\Downloads\export.xlsx"), 
  null, true),
  #"ag-grid_Sheet" = Source{[Item="ag-grid",Kind="Sheet"]}[Data],
#"Promoted Headers" = Table.PromoteHeaders(#"ag-grid_Sheet", [PromoteAllScalars=true]),
#"Changed Type" = Table.TransformColumnTypes(#"Promoted Headers",{{"X_CREATED", type datetime}, {"X_CREATED_BY", type text}, {"X_DEFAULT_TZ", type text}, {"LocationData", type text}, {"Shift", type text}, {"ScheduleStart", type any}}),
#"Removed Columns" = Table.RemoveColumns(#"Changed Type",{"ScheduleStart"}),
#"Split Column by Delimiter" = Table.SplitColumn(#"Removed Columns", "Shift", Splitter.SplitTextByDelimiter("}", QuoteStyle.Csv), {"Shift.1", "Shift.2", "Shift.3", "Shift.4", "Shift.5", "Shift.6", "Shift.7", "Shift.8", "Shift.9"}),
#"Replaced Value" = Table.ReplaceValue(#"Split Column by Delimiter",",{hours:,paidHours:,signature:,overtimeType:,","",Replacer.ReplaceText,{"Shift.1", "Shift.2", "Shift.3", "Shift.4", "Shift.5", "Shift.6", "Shift.7", "Shift.8", "Shift.9"}),
#"Replaced Value1" = Table.ReplaceValue(#"Replaced Value","]","",Replacer.ReplaceText,{"Shift.1", "Shift.2", "Shift.3", "Shift.4", "Shift.5", "Shift.6", "Shift.7", "Shift.8", "Shift.9"}),
#"Replaced Value2" = Table.ReplaceValue(#"Replaced Value1",null,"",Replacer.ReplaceValue,{"Shift.1", "Shift.2", "Shift.3", "Shift.4", "Shift.5", "Shift.6", "Shift.7", "Shift.8", "Shift.9"}),
#"Replaced Value3" = Table.ReplaceValue(#"Replaced Value2",",comment:","",Replacer.ReplaceText,{"Shift.1", "Shift.2", "Shift.3", "Shift.4", "Shift.5", "Shift.6", "Shift.7", "Shift.8", "Shift.9"}),
#"Replaced Value4" = Table.ReplaceValue(#"Replaced Value3","[{hours:,paidHours:,signature:,overtimeType:,","",Replacer.ReplaceText,{"Shift.1", "Shift.2", "Shift.3", "Shift.4", "Shift.5", "Shift.6", "Shift.7", "Shift.8", "Shift.9"}),
#"Split Column by Delimiter1" = Table.SplitColumn(#"Replaced Value4", "Shift.1", Splitter.SplitTextByDelimiter("_", QuoteStyle.Csv), {"Shift.1.1", "Shift.1.2"}),
#"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter1",{{"Shift.1.1", type text}, {"Shift.1.2", type text}}),
#"Split Column by Delimiter2" = Table.SplitColumn(#"Changed Type1", "Shift.2", Splitter.SplitTextByDelimiter("_", QuoteStyle.Csv), {"Shift.2.1", "Shift.2.2"}),
#"Changed Type2" = Table.TransformColumnTypes(#"Split Column by Delimiter2",{{"Shift.2.1", type text}, {"Shift.2.2", type text}}),
#"Split Column by Delimiter3" = Table.SplitColumn(#"Changed Type2", "Shift.3", Splitter.SplitTextByDelimiter("_", QuoteStyle.Csv), {"Shift.3.1", "Shift.3.2", "Shift.3.3", "Shift.3.4", "Shift.3.5"}),
#"Changed Type3" = Table.TransformColumnTypes(#"Split Column by Delimiter3",{{"Shift.3.1", type text}, {"Shift.3.2", type text}, {"Shift.3.3", type text}, {"Shift.3.4", type text}, {"Shift.3.5", type text}}),
#"Removed Columns1" = Table.RemoveColumns(#"Changed Type3",{"Shift.3.3", "Shift.3.4", "Shift.3.5"}),
#"Split Column by Delimiter4" = Table.SplitColumn(#"Removed Columns1", "Shift.4", Splitter.SplitTextByDelimiter("_", QuoteStyle.Csv), {"Shift.4.1", "Shift.4.2"}),
#"Changed Type4" = Table.TransformColumnTypes(#"Split Column by Delimiter4",{{"Shift.4.1", type text}, {"Shift.4.2", type text}}),
#"Split Column by Delimiter5" = Table.SplitColumn(#"Changed Type4", "Shift.5", Splitter.SplitTextByDelimiter("_", QuoteStyle.Csv), {"Shift.5.1", "Shift.5.2"}),
#"Changed Type5" = Table.TransformColumnTypes(#"Split Column by Delimiter5",{{"Shift.5.1", type text}, {"Shift.5.2", type text}}),
#"Split Column by Delimiter6" = Table.SplitColumn(#"Changed Type5", "Shift.6", Splitter.SplitTextByDelimiter("_", QuoteStyle.Csv), {"Shift.6.1", "Shift.6.2"}),
#"Changed Type6" = Table.TransformColumnTypes(#"Split Column by Delimiter6",{{"Shift.6.1", type text}, {"Shift.6.2", type text}}),
#"Split Column by Delimiter7" = Table.SplitColumn(#"Changed Type6", "Shift.7", Splitter.SplitTextByDelimiter("_", QuoteStyle.Csv), {"Shift.7.1", "Shift.7.2"}),
#"Changed Type7" = Table.TransformColumnTypes(#"Split Column by Delimiter7",{{"Shift.7.1", type text}, {"Shift.7.2", type text}}),
#"Split Column by Delimiter8" = Table.SplitColumn(#"Changed Type7", "Shift.8", Splitter.SplitTextByDelimiter("_", QuoteStyle.Csv), {"Shift.8.1", "Shift.8.2"}),
#"Changed Type8" = Table.TransformColumnTypes(#"Split Column by Delimiter8",{{"Shift.8.1", type text}, {"Shift.8.2", type text}}),
#"Split Column by Delimiter9" = Table.SplitColumn(#"Changed Type8", "Shift.1.2", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), {"Shift.1.2.1", "Shift.1.2.2"}),
#"Changed Type9" = Table.TransformColumnTypes(#"Split Column by Delimiter9",{{"Shift.1.2.1", type text}, {"Shift.1.2.2", type text}}),
#"Removed Columns2" = Table.RemoveColumns(#"Changed Type9",{"Shift.1.2.1"}),
#"Split Column by Delimiter10" = Table.SplitColumn(#"Removed Columns2", "Shift.2.2", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), {"Shift.2.2.1", "Shift.2.2.2"}),
#"Changed Type10" = Table.TransformColumnTypes(#"Split Column by Delimiter10",{{"Shift.2.2.1", type text}, {"Shift.2.2.2", type text}}),
#"Removed Columns3" = Table.RemoveColumns(#"Changed Type10",{"Shift.2.2.1"}),
#"Split Column by Delimiter11" = Table.SplitColumn(#"Removed Columns3", "Shift.3.2", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), {"Shift.3.2.1", "Shift.3.2.2"}),
#"Changed Type11" = Table.TransformColumnTypes(#"Split Column by Delimiter11",{{"Shift.3.2.1", type text}, {"Shift.3.2.2", type text}}),
#"Removed Columns4" = Table.RemoveColumns(#"Changed Type11",{"Shift.3.2.1"}),
#"Split Column by Delimiter12" = Table.SplitColumn(#"Removed Columns4", "Shift.4.2", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), {"Shift.4.2.1", "Shift.4.2.2"}),
#"Changed Type12" = Table.TransformColumnTypes(#"Split Column by Delimiter12",{{"Shift.4.2.1", type text}, {"Shift.4.2.2", type text}}),
#"Removed Columns5" = Table.RemoveColumns(#"Changed Type12",{"Shift.4.2.1"}),
#"Split Column by Delimiter13" = Table.SplitColumn(#"Removed Columns5", "Shift.5.2", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), {"Shift.5.2.1", "Shift.5.2.2"}),
#"Changed Type13" = Table.TransformColumnTypes(#"Split Column by Delimiter13",{{"Shift.5.2.1", type text}, {"Shift.5.2.2", type text}}),
#"Removed Columns6" = Table.RemoveColumns(#"Changed Type13",{"Shift.5.2.1"}),
#"Split Column by Delimiter14" = Table.SplitColumn(#"Removed Columns6", "Shift.6.2", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), {"Shift.6.2.1", "Shift.6.2.2"}),
#"Changed Type14" = Table.TransformColumnTypes(#"Split Column by Delimiter14",{{"Shift.6.2.1", type text}, {"Shift.6.2.2", type text}}),
#"Removed Columns7" = Table.RemoveColumns(#"Changed Type14",{"Shift.6.2.1"}),
#"Split Column by Delimiter15" = Table.SplitColumn(#"Removed Columns7", "Shift.7.2", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), {"Shift.7.2.1", "Shift.7.2.2"}),
#"Changed Type15" = Table.TransformColumnTypes(#"Split Column by Delimiter15",{{"Shift.7.2.1", type text}, {"Shift.7.2.2", type text}}),
#"Removed Columns8" = Table.RemoveColumns(#"Changed Type15",{"Shift.7.2.1"}),
#"Split Column by Delimiter16" = Table.SplitColumn(#"Removed Columns8", "Shift.8.2", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), {"Shift.8.2.1", "Shift.8.2.2"}),
#"Changed Type16" = Table.TransformColumnTypes(#"Split Column by Delimiter16",{{"Shift.8.2.1", type text}, {"Shift.8.2.2", type text}}),
#"Removed Columns9" = Table.RemoveColumns(#"Changed Type16",{"Shift.8.2.1"}),
#"Replaced Value5" = Table.ReplaceValue(#"Removed Columns9",null,"",Replacer.ReplaceValue,{"Shift.1.1", "Shift.1.2.2", "Shift.2.1", "Shift.2.2.2", "Shift.3.1", "Shift.3.2.2", "Shift.4.1", "Shift.4.2.2", "Shift.5.1", "Shift.5.2.2", "Shift.6.1", "Shift.6.2.2", "Shift.7.1", "Shift.7.2.2", "Shift.8.1", "Shift.8.2.2", "Shift.9"}),
#"Merged Columns" = Table.CombineColumns(#"Replaced Value5",{"Shift.1.1", "Shift.1.2.2"},Combiner.CombineTextByDelimiter("", QuoteStyle.None),"Merged"),
#"Merged Columns1" = Table.CombineColumns(#"Merged Columns",{"Shift.2.1", "Shift.2.2.2"},Combiner.CombineTextByDelimiter("", QuoteStyle.None),"Merged.1"),
#"Merged Columns2" = Table.CombineColumns(#"Merged Columns1",{"Shift.3.1", "Shift.3.2.2"},Combiner.CombineTextByDelimiter("", QuoteStyle.None),"Merged.2"),
#"Merged Columns3" = Table.CombineColumns(#"Merged Columns2",{"Shift.4.1", "Shift.4.2.2"},Combiner.CombineTextByDelimiter("", QuoteStyle.None),"Merged.3"),
#"Merged Columns4" = Table.CombineColumns(#"Merged Columns3",{"Shift.5.1", "Shift.5.2.2"},Combiner.CombineTextByDelimiter("", QuoteStyle.None),"Merged.4"),
#"Merged Columns5" = Table.CombineColumns(#"Merged Columns4",{"Shift.6.1", "Shift.6.2.2"},Combiner.CombineTextByDelimiter("", QuoteStyle.None),"Merged.5"),
#"Merged Columns6" = Table.CombineColumns(#"Merged Columns5",{"Shift.7.1", "Shift.7.2.2"},Combiner.CombineTextByDelimiter("", QuoteStyle.None),"Merged.6"),
#"Merged Columns7" = Table.CombineColumns(#"Merged Columns6",{"Shift.8.1", "Shift.8.2.2"},Combiner.CombineTextByDelimiter("", QuoteStyle.None),"Merged.7"),
#"Removed Columns10" = Table.RemoveColumns(#"Merged Columns7",{"LocationData"}),
#"Replaced Value6" = Table.ReplaceValue(#"Removed Columns10","/KVAKT","",Replacer.ReplaceText,{"X_CREATED_BY"}),
#"Split Column by Delimiter17" = Table.SplitColumn(#"Replaced Value6", "X_CREATED_BY", Splitter.SplitTextByEachDelimiter({" "}, QuoteStyle.Csv, false), {"X_CREATED_BY.1", "X_CREATED_BY.2"}),
#"Changed Type17" = Table.TransformColumnTypes(#"Split Column by Delimiter17",{{"X_CREATED_BY.1", type text}, {"X_CREATED_BY.2", type text}}),
#"Renamed Columns" = Table.RenameColumns(#"Changed Type17",{{"X_CREATED_BY.1", "Stilling"}, {"X_CREATED_BY.2", "Fart?y"}, {"X_CREATED", "Dato_f?rt"}}),
#"Removed Columns11" = Table.RemoveColumns(#"Renamed Columns",{"X_DEFAULT_TZ"}),
#"Changed Type18" = Table.TransformColumnTypes(#"Removed Columns11",{{"Merged", type text}}),
#"Split Column by Position" = Table.SplitColumn(#"Changed Type18", "Merged", Splitter.SplitTextByPositions({0, 25}, false), {"Merged.1.1", "Merged.2.1"}),
#"Changed Type19" = Table.TransformColumnTypes(#"Split Column by Position",{{"Merged.1.1", type text}, {"Merged.2.1", type text}}),
#"Replaced Value7" = Table.ReplaceValue(#"Changed Type19","T"," ",Replacer.ReplaceText,{"Merged.1.1"}),
#"Replaced Value8" = Table.ReplaceValue(#"Replaced Value7","L"," ",Replacer.ReplaceText,{"Merged.1.1"}),
#"Replaced Value9" = Table.ReplaceValue(#"Replaced Value8","from: ","",Replacer.ReplaceText,{"Merged.1.1"}),
#"Renamed Columns1" = Table.RenameColumns(#"Replaced Value9",{{"Merged.1.1", "Fra"}}),
#"Replaced Value10" = Table.ReplaceValue(#"Renamed Columns1",",to:L","",Replacer.ReplaceText,{"Merged.2.1"}),
#"Replaced Value11" = Table.ReplaceValue(#"Replaced Value10","T"," ",Replacer.ReplaceText,{"Merged.2.1"}),
#"Split Column by Delimiter18" = Table.SplitColumn(#"Replaced Value11", "Merged.2.1", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), {"Merged.2.1.1", "Merged.2.1.2"}),
#"Changed Type20" = Table.TransformColumnTypes(#"Split Column by Delimiter18",{{"Merged.2.1.1", type datetime}, {"Merged.2.1.2", type text}}),
#"Renamed Columns2" = Table.RenameColumns(#"Changed Type20",{{"Merged.2.1.1", "Til"}}),
#"Changed Type21" = Table.TransformColumnTypes(#"Renamed Columns2",{{"Fra", type datetime}}),
#"Replaced Value12" = Table.ReplaceValue(#"Changed Type21","type:","",Replacer.ReplaceText,{"Merged.2.1.2"}),
#"Replaced Value13" = Table.ReplaceValue(#"Replaced Value12","RES","REST",Replacer.ReplaceText,{"Merged.2.1.2"}),
#"Renamed Columns3" = Table.RenameColumns(#"Replaced Value13",{{"Merged.2.1.2", "Type"}}),
#"Replaced Value14" = Table.ReplaceValue(#"Renamed Columns3","from:L","",Replacer.ReplaceText,{"Merged.1"}),
#"Split Column by Position1" = Table.SplitColumn(#"Replaced Value14", "Merged.1", Splitter.SplitTextByPositions({0, 19}, false), {"Merged.1.1", "Merged.1.2"}),
#"Changed Type22" = Table.TransformColumnTypes(#"Split Column by Position1",{{"Merged.1.1", type datetime}, {"Merged.1.2", type text}}),
#"Renamed Columns4" = Table.RenameColumns(#"Changed Type22",{{"Merged.1.1", "Fra1"}, {"Merged.1.2", "Til1"}}),
#"Replaced Value15" = Table.ReplaceValue(#"Renamed Columns4",",to:L","",Replacer.ReplaceText,{"Til1"}),
#"Split Column by Delimiter19" = Table.SplitColumn(#"Replaced Value15", "Til1", Splitter.SplitTextByEachDelimiter({":"}, QuoteStyle.Csv, true), {"Til1.1", "Til1.2"}),
#"Changed Type23" = Table.TransformColumnTypes(#"Split Column by Delimiter19",{{"Til1.1", type text}, {"Til1.2", type text}}),
#"Replaced Value16" = Table.ReplaceValue(#"Changed Type23",",type","",Replacer.ReplaceText,{"Til1.1"}),
#"Replaced Value17" = Table.ReplaceValue(#"Replaced Value16","T"," ",Replacer.ReplaceText,{"Til1.1"}),
#"Changed Type24" = Table.TransformColumnTypes(#"Replaced Value17",{{"Til1.1", type datetime}}),
#"Renamed Columns5" = Table.RenameColumns(#"Changed Type24",{{"Til1.1", "Til1"}, {"Til1.2", "Type1"}}),
#"Replaced Value18" = Table.ReplaceValue(#"Renamed Columns5","from:L","",Replacer.ReplaceText,{"Merged.2"}),
#"Split Column by Delimiter20" = Table.SplitColumn(#"Replaced Value18", "Merged.2", Splitter.SplitTextByEachDelimiter({":"}, QuoteStyle.Csv, true), {"Merged.2.1", "Merged.2.2"}),
#"Changed Type25" = Table.TransformColumnTypes(#"Split Column by Delimiter20",{{"Merged.2.1", type text}, {"Merged.2.2", type text}}),
#"Replaced Value19" = Table.ReplaceValue(#"Changed Type25",",type","",Replacer.ReplaceText,{"Merged.2.1"}),
#"Replaced Value20" = Table.ReplaceValue(#"Replaced Value19","T"," ",Replacer.ReplaceText,{"Merged.2.1"}),
#"Replaced Value21" = Table.ReplaceValue(#"Replaced Value20","L","",Replacer.ReplaceText,{"Merged.2.1"}),
#"Split Column by Delimiter21" = Table.SplitColumn(#"Replaced Value21", "Merged.2.1", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), {"Merged.2.1.1", "Merged.2.1.2"}),
#"Changed Type26" = Table.TransformColumnTypes(#"Split Column by Delimiter21",{{"Merged.2.1.1", type datetime}, {"Merged.2.1.2", type text}}),
#"Renamed Columns6" = Table.RenameColumns(#"Changed Type26",{{"Merged.2.1.1", "Fra2"}}),
#"Replaced Value22" = Table.ReplaceValue(#"Renamed Columns6","to:","",Replacer.ReplaceText,{"Merged.2.1.2"}),
#"Changed Type27" = Table.TransformColumnTypes(#"Replaced Value22",{{"Merged.2.1.2", type datetime}}),
#"Renamed Columns7" = Table.RenameColumns(#"Changed Type27",{{"Merged.2.1.2", "Til2"}, {"Merged.2.2", "Type2"}}),
#"Replaced Value23" = Table.ReplaceValue(#"Renamed Columns7","from:L","",Replacer.ReplaceText,{"Merged.3"}),
#"Split Column by Delimiter22" = Table.SplitColumn(#"Replaced Value23", "Merged.3", Splitter.SplitTextByEachDelimiter({":"}, QuoteStyle.Csv, true), {"Merged.3.1", "Merged.3.2"}),
#"Changed Type28" = Table.TransformColumnTypes(#"Split Column by Delimiter22",{{"Merged.3.1", type text}, {"Merged.3.2", type text}}),
#"Replaced Value24" = Table.ReplaceValue(#"Changed Type28",",type","",Replacer.ReplaceText,{"Merged.3.1"}),
#"Replaced Value25" = Table.ReplaceValue(#"Replaced Value24","T"," ",Replacer.ReplaceText,{"Merged.3.1"}),
#"Replaced Value26" = Table.ReplaceValue(#"Replaced Value25","L","",Replacer.ReplaceText,{"Merged.3.1"}),
#"Split Column by Delimiter23" = Table.SplitColumn(#"Replaced Value26", "Merged.3.1", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), {"Merged.3.1.1", "Merged.3.1.2"}),
#"Changed Type29" = Table.TransformColumnTypes(#"Split Column by Delimiter23",{{"Merged.3.1.1", type datetime}, {"Merged.3.1.2", type text}}),
#"Replaced Value27" = Table.ReplaceValue(#"Changed Type29","to:","",Replacer.ReplaceText,{"Merged.3.1.2"}),
#"Changed Type30" = Table.TransformColumnTypes(#"Replaced Value27",{{"Merged.3.1.2", type datetime}}),
#"Renamed Columns8" = Table.RenameColumns(#"Changed Type30",{{"Merged.3.1.1", "Fra3"}, {"Merged.3.1.2", "Til3"}, {"Merged.3.2", "Type3"}}),
#"Replaced Value28" = Table.ReplaceValue(#"Renamed Columns8","from:L","",Replacer.ReplaceText,{"Merged.4"}),
#"Split Column by Delimiter24" = Table.SplitColumn(#"Replaced Value28", "Merged.4", Splitter.SplitTextByEachDelimiter({":"}, QuoteStyle.Csv, true), {"Merged.4.1", "Merged.4.2"}),
#"Changed Type31" = Table.TransformColumnTypes(#"Split Column by Delimiter24",{{"Merged.4.1", type text}, {"Merged.4.2", type text}}),
#"Replaced Value29" = Table.ReplaceValue(#"Changed Type31",",type","",Replacer.ReplaceText,{"Merged.4.1"}),
#"Replaced Value30" = Table.ReplaceValue(#"Replaced Value29","L","",Replacer.ReplaceText,{"Merged.4.1"}),
#"Replaced Value31" = Table.ReplaceValue(#"Replaced Value30","T"," ",Replacer.ReplaceText,{"Merged.4.1"}),
#"Split Column by Delimiter25" = Table.SplitColumn(#"Replaced Value31", "Merged.4.1", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), {"Merged.4.1.1", "Merged.4.1.2"}),
#"Changed Type32" = Table.TransformColumnTypes(#"Split Column by Delimiter25",{{"Merged.4.1.1", type text}, {"Merged.4.1.2", type text}}),
#"Replaced Value32" = Table.ReplaceValue(#"Changed Type32","to:","",Replacer.ReplaceText,{"Merged.4.1.2"}),
#"Changed Type33" = Table.TransformColumnTypes(#"Replaced Value32",{{"Merged.4.1.1", type datetime}, {"Merged.4.1.2", type datetime}}),
#"Renamed Columns9" = Table.RenameColumns(#"Changed Type33",{{"Merged.4.1.1", "Fra4"}, {"Merged.4.1.2", "Til4"}, {"Merged.4.2", "Type4"}}),
#"Replaced Value33" = Table.ReplaceValue(#"Renamed Columns9","from:L","",Replacer.ReplaceText,{"Merged.5"}),
#"Split Column by Delimiter26" = Table.SplitColumn(#"Replaced Value33", "Merged.5", Splitter.SplitTextByEachDelimiter({":"}, QuoteStyle.Csv, true), {"Merged.5.1", "Merged.5.2"}),
#"Changed Type34" = Table.TransformColumnTypes(#"Split Column by Delimiter26",{{"Merged.5.1", type text}, {"Merged.5.2", type text}}),
#"Replaced Value34" = Table.ReplaceValue(#"Changed Type34",",type","",Replacer.ReplaceText,{"Merged.5.1"}),
#"Replaced Value35" = Table.ReplaceValue(#"Replaced Value34","T"," ",Replacer.ReplaceText,{"Merged.5.1"}),
#"Replaced Value36" = Table.ReplaceValue(#"Replaced Value35","L","",Replacer.ReplaceText,{"Merged.5.1"}),
#"Split Column by Delimiter27" = Table.SplitColumn(#"Replaced Value36", "Merged.5.1", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), {"Merged.5.1.1", "Merged.5.1.2"}),
#"Changed Type35" = Table.TransformColumnTypes(#"Split Column by Delimiter27",{{"Merged.5.1.1", type datetime}, {"Merged.5.1.2", type text}}),
#"Replaced Value37" = Table.ReplaceValue(#"Changed Type35","to:","",Replacer.ReplaceText,{"Merged.5.1.2"}),
#"Changed Type36" = Table.TransformColumnTypes(#"Replaced Value37",{{"Merged.5.1.2", type datetime}}),
#"Renamed Columns10" = Table.RenameColumns(#"Changed Type36",{{"Merged.5.1.1", "Fra5"}, {"Merged.5.1.2", "Til5"}, {"Merged.5.2", "Type5"}}),
#"Replaced Value38" = Table.ReplaceValue(#"Renamed Columns10","from:L","",Replacer.ReplaceText,{"Merged.6"}),
#"Split Column by Delimiter28" = Table.SplitColumn(#"Replaced Value38", "Merged.6", Splitter.SplitTextByEachDelimiter({":"}, QuoteStyle.Csv, true), {"Merged.6.1", "Merged.6.2"}),
#"Changed Type37" = Table.TransformColumnTypes(#"Split Column by Delimiter28",{{"Merged.6.1", type text}, {"Merged.6.2", type text}}),
#"Replaced Value39" = Table.ReplaceValue(#"Changed Type37",",type","",Replacer.ReplaceText,{"Merged.6.1"}),
#"Replaced Value40" = Table.ReplaceValue(#"Replaced Value39","T"," ",Replacer.ReplaceText,{"Merged.6.1"}),
#"Replaced Value41" = Table.ReplaceValue(#"Replaced Value40","L","",Replacer.ReplaceText,{"Merged.6.1"}),
#"Split Column by Delimiter29" = Table.SplitColumn(#"Replaced Value41", "Merged.6.1", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), {"Merged.6.1.1", "Merged.6.1.2"}),
#"Changed Type38" = Table.TransformColumnTypes(#"Split Column by Delimiter29",{{"Merged.6.1.1", type datetime}, {"Merged.6.1.2", type text}}),
#"Replaced Value42" = Table.ReplaceValue(#"Changed Type38","to:","",Replacer.ReplaceText,{"Merged.6.1.2"}),
#"Changed Type39" = Table.TransformColumnTypes(#"Replaced Value42",{{"Merged.6.1.2", type datetime}}),
#"Renamed Columns11" = Table.RenameColumns(#"Changed Type39",{{"Merged.6.1.1", "Fra6"}, {"Merged.6.1.2", "Til6"}, {"Merged.6.2", "Type6"}}),
#"Replaced Value43" = Table.ReplaceValue(#"Renamed Columns11","from:L","",Replacer.ReplaceText,{"Merged.7"}),
#"Split Column by Delimiter30" = Table.SplitColumn(#"Replaced Value43", "Merged.7", Splitter.SplitTextByEachDelimiter({":"}, QuoteStyle.Csv, true), {"Merged.7.1", "Merged.7.2"}),
#"Changed Type40" = Table.TransformColumnTypes(#"Split Column by Delimiter30",{{"Merged.7.1", type text}, {"Merged.7.2", type text}}),
#"Replaced Value44" = Table.ReplaceValue(#"Changed Type40","T"," ",Replacer.ReplaceText,{"Merged.7.1"}),
#"Replaced Value45" = Table.ReplaceValue(#"Replaced Value44","L","",Replacer.ReplaceText,{"Merged.7.1"}),
#"Replaced Value46" = Table.ReplaceValue(#"Replaced Value45",",type","",Replacer.ReplaceText,{"Merged.7.1"}),
#"Split Column by Delimiter31" = Table.SplitColumn(#"Replaced Value46", "Merged.7.1", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), {"Merged.7.1.1", "Merged.7.1.2"}),
#"Changed Type41" = Table.TransformColumnTypes(#"Split Column by Delimiter31",{{"Merged.7.1.1", type datetime}, {"Merged.7.1.2", type text}}),
#"Replaced Value47" = Table.ReplaceValue(#"Changed Type41","to:","",Replacer.ReplaceText,{"Merged.7.1.2"}),
#"Changed Type42" = Table.TransformColumnTypes(#"Replaced Value47",{{"Merged.7.1.2", type datetime}}),
#"Renamed Columns12" = Table.RenameColumns(#"Changed Type42",{{"Merged.7.1.1", "Fra7"}, {"Merged.7.1.2", "Til7"}, {"Merged.7.2", "Type7"}}),
#"Removed Columns12" = Table.RemoveColumns(#"Renamed Columns12",{"Shift.9"}),
#"Replaced Value48" = Table.ReplaceValue(#"Removed Columns12","REST ","REST",Replacer.ReplaceText,{"Type", "Type1", "Type2", "Type3", "Type4", "Type5", "Type6", "Type7"}),
#"Replaced Value49" = Table.ReplaceValue(#"Replaced Value48"," REST","REST",Replacer.ReplaceText,{"Type", "Type1", "Type2", "Type3", "Type4", "Type5", "Type6", "Type7"}),
#"Replaced Value50" = Table.ReplaceValue(#"Replaced Value49","REGULAR ","REGULAR",Replacer.ReplaceText,{"Type", "Type1", "Type2", "Type3", "Type4", "Type5", "Type6", "Type7"}),
#"Replaced Value51" = Table.ReplaceValue(#"Replaced Value50"," REGULAR","REGULAR",Replacer.ReplaceText,{"Type", "Type1", "Type2", "Type3", "Type4", "Type5", "Type6", "Type7"}),
#"Added Custom" = Table.AddColumn(#"Replaced Value51", "Hours rest", each ((if[Type7]="REST" then [Til7]-[Fra7] else 0)
 (if[Type6]="REST" then [Til6]-[Fra6] else 0)
 (if[Type5]="REST" then [Til5]-[Fra5] else 0)
 (if[Type4]="REST" then [Til4]-[Fra4] else 0)
 (if[Type3]="REST" then [Til3]-[Fra3] else 0)
 (if[Type2]="REST" then [Til2]-[Fra2] else 0)
 (if[Type1]="REST" then [Til1]-[Fra1] else 0)
 (if[Type]="REST" then [Til]-[Fra] else 0))*24)
in
#"Added Custom"

uj5u.com熱心網友回復:

你不能直接減去日期

要么嘗試

Duration.Days([Fra]-[Fra1])

要么

Number.From ([Fra])-Number.From([Fra1])

查看潛在的持續時間函式https://docs.microsoft.com/en-us/powerquery-m/duration-functions

也可能使用一些錯誤捕獲

=( try if [Type6]="REST" then Duration.Days([Til6]-[Fra6]) else 0 otherwise 0)

要么

=( try if [Type6]="REST" then Number.From([Til6]) -Number.From([Fra6]) else 0 otherwise 0)

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/449330.html

標籤:擅长 if 语句 电源查询

上一篇:使用&&和||時違反MISRA12.5在if陳述句中

下一篇:if陳述句在函式中起作用,但在setter方法中不起作用,反之亦然,setter也根本不起作用

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 【C++】Microsoft C++、C 和匯編程式檔案

    ......

    uj5u.com 2020-09-10 00:57:23 more
  • 例外宣告

    相比于斷言適用于排除邏輯上不可能存在的狀態,例外通常是用于邏輯上可能發生的錯誤。 例外宣告 Item 1:當函式不可能拋出例外或不能接受拋出例外時,使用noexcept 理由 如果不打算拋出例外的話,程式就會認為無法處理這種錯誤,并且應當盡早終止,如此可以有效地阻止例外的傳播與擴散。 示例 //不可 ......

    uj5u.com 2020-09-10 00:57:27 more
  • Codeforces 1400E Clear the Multiset(貪心 + 分治)

    鏈接:https://codeforces.com/problemset/problem/1400/E 來源:Codeforces 思路:給你一個陣列,現在你可以進行兩種操作,操作1:將一段沒有 0 的區間進行減一的操作,操作2:將 i 位置上的元素歸零。最終問:將這個陣列的全部元素歸零后操作的最少 ......

    uj5u.com 2020-09-10 00:57:30 more
  • UVA11610 【Reverse Prime】

    本人看到此題沒有翻譯,就附帶了一個自己的翻譯版本 思考 這一題,它的第一個要求是找出所有 $7$ 位反向質數及其質因數的個數。 我們應該需要質數篩篩選1~$10^{7}$的所有數,這里就不慢慢介紹了。但是,重讀題,我們突然發現反向質數都是 $7$ 位,而將它反過來后的數字卻是 $6$ 位數,這就說明 ......

    uj5u.com 2020-09-10 00:57:36 more
  • 統計區間素數數量

    1 #pragma GCC optimize(2) 2 #include <bits/stdc++.h> 3 using namespace std; 4 bool isprime[1000000010]; 5 vector<int> prime; 6 inline int getlist(int ......

    uj5u.com 2020-09-10 00:57:47 more
  • C/C++編程筆記:C++中的 const 變數詳解,教你正確認識const用法

    1、C中的const 1、區域const變數存放在堆疊區中,會分配記憶體(也就是說可以通過地址間接修改變數的值)。測驗代碼如下: 運行結果: 2、全域const變數存放在只讀資料段(不能通過地址修改,會發生寫入錯誤), 默認為外部聯編,可以給其他源檔案使用(需要用extern關鍵字修飾) 運行結果: ......

    uj5u.com 2020-09-10 00:58:04 more
  • 【C++犯錯記錄】VS2019 MFC添加資源不懂如何修改資源宏ID

    1. 首先在資源視圖中,添加資源 2. 點擊新添加的資源,復制自動生成的ID 3. 在解決方案資源管理器中找到Resource.h檔案,編輯,使用整個專案搜索和替換的方式快速替換 宏宣告 4. Ctrl+Shift+F 全域搜索,點擊查找全部,然后逐個替換 5. 為什么使用搜索替換而不使用屬性視窗直 ......

    uj5u.com 2020-09-10 00:59:11 more
  • 【C++犯錯記錄】VS2019 MFC不懂的批量添加資源

    1. 打開資源頭檔案Resource.h,在其中預先定義好宏 ID(不清楚其實ID值應該設定多少,可以先新建一個相同的資源項,再在這個資源的ID值的基礎上遞增即可) 2. 在資源視圖中選中專案資源,按F7編輯資源檔案,按 ID 型別 相對路徑的形式添加 資源。(別忘了先把檔案拷貝到專案中的res檔案 ......

    uj5u.com 2020-09-10 01:00:19 more
  • C/C++編程筆記:關于C++的參考型別,專供新手入門使用

    今天要講的是C++中我最喜歡的一個用法——參考,也叫別名。 參考就是給一個變數名取一個變數名,方便我們間接地使用這個變數。我們可以給一個變數創建N個參考,這N + 1個變數共享了同一塊記憶體區域。(參考型別的變數會占用記憶體空間,占用的記憶體空間的大小和指標型別的大小是相同的。雖然參考是一個物件的別名,但 ......

    uj5u.com 2020-09-10 01:00:22 more
  • 【C/C++編程筆記】從頭開始學習C ++:初學者完整指南

    眾所周知,C ++的學習曲線陡峭,但是花時間學習這種語言將為您的職業帶來奇跡,并使您與其他開發人員區分開。您會更輕松地學習新語言,形成真正的解決問題的技能,并在編程的基礎上打下堅實的基礎。 C ++將幫助您養成良好的編程習慣(即清晰一致的編碼風格,在撰寫代碼時注釋代碼,并限制類內部的可見性),并且由 ......

    uj5u.com 2020-09-10 01:00:41 more
最新发布
  • Rust中的智能指標:Box<T> Rc<T> Arc<T> Cell<T> RefCell<T> Weak

    Rust中的智能指標是什么 智能指標(smart pointers)是一類資料結構,是擁有資料所有權和額外功能的指標。是指標的進一步發展 指標(pointer)是一個包含記憶體地址的變數的通用概念。這個地址參考,或 ” 指向”(points at)一些其 他資料 。參考以 & 符號為標志并借用了他們所 ......

    uj5u.com 2023-04-20 07:24:10 more
  • Java的值傳遞和參考傳遞

    值傳遞不會改變本身,參考傳遞(如果傳遞的值需要實體化到堆里)如果發生修改了會改變本身。 1.基本資料型別都是值傳遞 package com.example.basic; public class Test { public static void main(String[] args) { int ......

    uj5u.com 2023-04-20 07:24:04 more
  • [2]SpinalHDL教程——Scala簡單入門

    第一個 Scala 程式 shell里面輸入 $ scala scala> 1 + 1 res0: Int = 2 scala> println("Hello World!") Hello World! 檔案形式 object HelloWorld { /* 這是我的第一個 Scala 程式 * 以 ......

    uj5u.com 2023-04-20 07:23:58 more
  • 理解函式指標和回呼函式

    理解 函式指標 指向函式的指標。比如: 理解函式指標的偽代碼 void (*p)(int type, char *data); // 定義一個函式指標p void func(int type, char *data); // 宣告一個函式func p = func; // 將指標p指向函式func ......

    uj5u.com 2023-04-20 07:23:52 more
  • Django筆記二十五之資料庫函式之日期函式

    本文首發于公眾號:Hunter后端 原文鏈接:Django筆記二十五之資料庫函式之日期函式 日期函式主要介紹兩個大類,Extract() 和 Trunc() Extract() 函式作用是提取日期,比如我們可以提取一個日期欄位的年份,月份,日等資料 Trunc() 的作用則是截取,比如 2022-0 ......

    uj5u.com 2023-04-20 07:23:45 more
  • 一天吃透JVM面試八股文

    什么是JVM? JVM,全稱Java Virtual Machine(Java虛擬機),是通過在實際的計算機上仿真模擬各種計算機功能來實作的。由一套位元組碼指令集、一組暫存器、一個堆疊、一個垃圾回收堆和一個存盤方法域等組成。JVM屏蔽了與作業系統平臺相關的資訊,使得Java程式只需要生成在Java虛擬機 ......

    uj5u.com 2023-04-20 07:23:31 more
  • 使用Java接入小程式訂閱訊息!

    更新完微信服務號的模板訊息之后,我又趕緊把微信小程式的訂閱訊息給實作了!之前我一直以為微信小程式也是要企業才能申請,沒想到小程式個人就能申請。 訊息推送平臺🔥推送下發【郵件】【短信】【微信服務號】【微信小程式】【企業微信】【釘釘】等訊息型別。 https://gitee.com/zhongfuch ......

    uj5u.com 2023-04-20 07:22:59 more
  • java -- 緩沖流、轉換流、序列化流

    緩沖流 緩沖流, 也叫高效流, 按照資料型別分類: 位元組緩沖流:BufferedInputStream,BufferedOutputStream 字符緩沖流:BufferedReader,BufferedWriter 緩沖流的基本原理,是在創建流物件時,會創建一個內置的默認大小的緩沖區陣列,通過緩沖 ......

    uj5u.com 2023-04-20 07:22:49 more
  • Java-SpringBoot-Range請求頭設定實作視頻分段傳輸

    老實說,人太懶了,現在基本都不喜歡寫筆記了,但是網上有關Range請求頭的文章都太水了 下面是抄的一段StackOverflow的代碼...自己大修改過的,寫的注釋挺全的,應該直接看得懂,就不解釋了 寫的不好...只是希望能給視頻網站開發的新手一點點幫助吧. 業務場景:視頻分段傳輸、視頻多段傳輸(理 ......

    uj5u.com 2023-04-20 07:22:42 more
  • Windows 10開發教程_編程入門自學教程_菜鳥教程-免費教程分享

    教程簡介 Windows 10開發入門教程 - 從簡單的步驟了解Windows 10開發,從基本到高級概念,包括簡介,UWP,第一個應用程式,商店,XAML控制元件,資料系結,XAML性能,自適應設計,自適應UI,自適應代碼,檔案管理,SQLite資料庫,應用程式到應用程式通信,應用程式本地化,應用程式 ......

    uj5u.com 2023-04-20 07:22:35 more