M - Function

You might also like

You are on page 1of 11

M Functions là gì ? Tìm và chọn.

Có rất nhiều M functions trong Power Query và chúng ta có thể sử dụng


chúng một cách dễ dàng bằng việc sử dụng bảng bên dưới.

Ví dụ, nếu bạn cần chỉnh sửa một ô dạng text, hãy nhìn vào bảng và tìm
kiếm các M functions bắt đầu với chữ Text. Sau đó, bạn có thể tìm
function names bằng cách xác định các công thức có thể phù hợp với
bài toán bạn đang xử lý.

Trong ví dụ dưới đây, chúng tôi tìm thấy Text.Upper để chuyển trường
dữ liệu dạng chữ viết thường sang viết hoa.

Cấu trúc của mỗi function name là <type>.<function name>, ví dụ:


<type> = Text và <function name> = Upper hoặc Text.Upper

List of Functions Date.EndOfMonth Date.IsInPreviousNWeeks


Character.FromNumber Date.EndOfQuarter Date.IsInPreviousNYears
Character.ToNumber Date.EndOfWeek Date.IsInPreviousQuarter
Character.Type Date.EndOfYear Date.IsInPreviousWeek
Combiner.CombineTextByDelimiter Date.From Date.IsInPreviousYear
Combiner.CombineTextByEachDeli Date.FromText Date.IsInYearToDate
miter Date.IsInCurrentDay Date.IsLeapYear
Combiner.CombineTextByLengths
Date.IsInCurrentMonth Date.Month
Combiner.CombineTextByPositions
Date.IsInCurrentQuarter Date.MonthName
Combiner.CombineTextByRanges
Date.IsInCurrentWeek Date.QuarterOfYear
Comparer.Equals
Date.IsInCurrentYear Date.StartOfDay
Comparer.FromCulture
Date.IsInNextDay Date.StartOfMonth
Comparer.Ordinal
Date.IsInNextMonth Date.StartOfQuarter
Comparer.OrdinalIgnoreCase
Date.IsInNextNDays Date.StartOfWeek
Currency.From
Date.IsInNextNMonths Date.StartOfYear
Currency.Type
Date.IsInNextNQuarters Date.ToRecord
Date.AddDays
Date.IsInNextNWeeks Date.ToText
Date.AddMonths
Date.IsInNextNYears Date.Type
Date.AddQuarters
Date.IsInNextQuarter Date.WeekOfMonth
Date.AddWeeks
Date.IsInNextWeek Date.WeekOfYear
Date.AddYears
Date.IsInNextYear Date.Year
Date.Day
Date.IsInPreviousDay DateTime.AddZone
Date.DayOfWeek
Date.IsInPreviousMonth DateTime.Date
Date.DayOfWeekName
Date.IsInPreviousNDays DateTime.FixedLocalNow
Date.DayOfYear
Date.IsInPreviousNMonths DateTime.From
Date.DaysInMonth
Date.IsInPreviousNQuarters DateTime.FromFileTime
Date.EndOfDay
DateTime.FromText Double.From List.Difference
DateTime.IsInCurrentHour Double.Type List.Distinct
DateTime.IsInCurrentMinute Duration.Days List.Durations
DateTime.IsInCurrentSecond Duration.From List.FindText
DateTime.IsInNextHour Duration.FromText List.First
DateTime.IsInNextMinute Duration.Hours List.FirstN
DateTime.IsInNextNHours Duration.Minutes List.Generate
DateTime.IsInNextNMinutes Duration.Seconds List.InsertRange
DateTime.IsInNextNSeconds Duration.ToRecord List.Intersect
DateTime.IsInNextSecond Duration.ToText List.IsDistinct
DateTime.IsInPreviousHour Duration.TotalDays List.IsEmpty
DateTime.IsInPreviousMinute Duration.TotalHours List.Last
DateTime.IsInPreviousNHours Duration.TotalMinutes List.LastN
DateTime.IsInPreviousNMinutes Duration.TotalSeconds List.MatchesAll
DateTime.IsInPreviousNSeconds Duration.Type List.MatchesAny
DateTime.IsInPreviousSecond Excel.CurrentWorkbook List.Max
DateTime.LocalNow Excel.Workbook List.MaxN
DateTime.Time File.Contents List.Median
DateTime.ToRecord Folder.Contents List.Min
DateTime.ToText Folder.Files List.MinN
DateTime.Type Int16.From List.Mode
DateTimeZone.FixedLocalNow Int16.Type List.Modes
DateTimeZone.FixedUtcNow Int32.From List.NonNullCount
DateTimeZone.From Int32.Type List.Numbers
DateTimeZone.FromFileTime Int64.From List.PositionOf
DateTimeZone.FromText Int64.Type List.PositionOfAny
DateTimeZone.LocalNow Int8.From List.Positions
DateTimeZone.RemoveZone Int8.Type List.Product
DateTimeZone.SwitchZone Lines.FromBinary List.Random
DateTimeZone.ToLocal Lines.FromText List.Range
DateTimeZone.ToRecord Lines.ToBinary List.RemoveFirstN
DateTimeZone.ToText Lines.ToText List.RemoveItems
DateTimeZone.ToUtc List.Accumulate List.RemoveLastN
DateTimeZone.Type List.AllTrue List.RemoveMatchingItems
DateTimeZone.UtcNow List.Alternate List.RemoveNulls
DateTimeZone.ZoneHours List.AnyTrue List.RemoveRange
DateTimeZone.ZoneMinutes List.Average List.Repeat
Day.Friday List.Buffer List.ReplaceMatchingItems
Day.Monday List.Combine List.ReplaceRange
Day.Saturday List.Contains List.ReplaceValue
Day.Sunday List.ContainsAll List.Reverse
Day.Thursday List.ContainsAny List.Select
Day.Tuesday List.Count List.Single
Day.Type List.Covariance List.SingleOrDefault
Day.Wednesday List.DateTimeZones List.Skip
Decimal.From List.DateTimes List.Sort
Decimal.Type List.Dates List.Split
List.StandardDeviation Number.RandomBetween Table.AddKey
List.Sum Number.Round Table.AggregateTableColumn
List.Times Number.RoundAwayFromZero Table.AlternateRows
List.Transform Number.RoundDown Table.Buffer
List.TransformMany Number.RoundTowardZero Table.Column
List.Type Number.RoundUp Table.ColumnCount
List.Union Number.Sign Table.ColumnNames
List.Zip Number.Sin Table.ColumnsOfType
Logical.From Number.Sinh Table.Combine
Logical.FromText Number.Sqrt Table.CombineColumns
Logical.ToText Number.Tan Table.Contains
Logical.Type Number.Tanh Table.ContainsAll
Number.Abs Number.ToText Table.ContainsAny
Number.Acos Number.Type Table.DemoteHeaders
Number.Asin Percentage.From Table.Distinct
Number.Atan Percentage.Type Table.DuplicateColumn
Number.Atan2 Record.AddField Table.ExpandListColumn
Number.BitwiseAnd Record.Combine Table.ExpandRecordColumn
Number.BitwiseNot Record.Field Table.ExpandTableColumn
Number.BitwiseOr Record.FieldCount Table.FillDown
Number.BitwiseShiftLeft Record.FieldNames Table.FillUp
Number.BitwiseShiftRight Record.FieldOrDefault Table.FilterWithDataTable
Number.BitwiseXor Record.FieldValues Table.FindText
Number.Combinations Record.FromList Table.First
Number.Cos Record.FromTable Table.FirstN
Number.Cosh Record.HasFields Table.FirstValue
Number.E Record.RemoveFields Table.FromColumns
Number.Epsilon Record.RenameFields Table.FromList
Number.Exp Record.ReorderFields Table.FromPartitions
Number.Factorial Record.SelectFields Table.FromRecords
Number.From Record.ToList Table.FromRows
Number.FromText Record.ToTable Table.FromValue
Number.IntegerDivide Record.TransformFields Table.FuzzyJoin
Number.IsEven Record.Type Table.FuzzyNestedJoin
Number.IsNaN Splitter.SplitByNothing Table.Group
Number.IsOdd Splitter.SplitTextByAnyDelimiter Table.HasColumns
Number.Ln Splitter.SplitTextByCharacterTransition Table.InsertRows
Number.Log Splitter.SplitTextByDelimiter Table.IsDistinct
Number.Log10 Splitter.SplitTextByEachDelimiter Table.IsEmpty
Number.Mod Splitter.SplitTextByLengths Table.Join
Number.NaN Splitter.SplitTextByPositions Table.Keys
Number.NegativeInfinity Splitter.SplitTextByRanges Table.Last
Number.PI Splitter.SplitTextByRepeatedLengths Table.LastN
Number.Permutations Splitter.SplitTextByWhitespace Table.MatchesAllRows
Number.PositiveInfinity Table.AddColumn Table.MatchesAnyRows
Number.Power Table.AddIndexColumn Table.Max
Number.Random Table.AddJoinColumn Table.MaxN
Table.Min Table.Sort Text.PadEnd
Table.MinN Table.Split Text.PadStart
Table.NestedJoin Table.SplitColumn Text.PositionOf
Table.Partition Table.ToColumns Text.PositionOfAny
Table.PartitionValues Table.ToList Text.Proper
Table.Pivot Table.ToRecords Text.Range
Table.PositionOf Table.ToRows Text.Remove
Table.PositionOfAny Table.TransformColumnNames Text.RemoveRange
Table.PrefixColumns Table.TransformColumnTypes Text.Repeat
Table.Profile Table.TransformColumns Text.Replace
Table.PromoteHeaders Table.TransformRows Text.ReplaceRange
Table.Range Table.Transpose Text.Reverse
Table.RemoveColumns Table.Type
Text.Select
Table.RemoveFirstN Table.Unpivot
Text.Split
Table.RemoveLastN Table.UnpivotOtherColumns
Text.SplitAny
Table.RemoveMatchingRows Table.View
Text.Start
Table.RemoveRows Table.ViewFunction
Text.StartsWith
Table.RemoveRowsWithErrors Tables.GetRelationships
Text.ToBinary
Table.RenameColumns Text.AfterDelimiter
Text.ToList
Table.ReorderColumns Text.At
Text.Trim
Table.Repeat Text.BeforeDelimiter
Text.TrimEnd
Table.ReplaceErrorValues Text.BetweenDelimiters
Text.TrimStart
Table.ReplaceKeys Text.Clean
Text.Type
Table.ReplaceMatchingRows Text.Combine
Table.ReplaceRelationshipIdentity Text.Contains Text.Upper
Table.ReplaceRows Text.End Time.EndOfHour
Table.ReplaceValue Text.EndsWith Time.From
Table.ReverseRows Text.Format Time.FromText
Table.RowCount Text.From Time.Hour
Table.Schema Text.FromBinary Time.Minute
Table.SelectColumns Text.Insert Time.Second
Table.SelectRows Text.Length Time.StartOfHour
Table.SelectRowsWithErrors Text.Lower Time.ToRecord
Table.SingleRow Text.Middle Time.ToText
Table.Skip Text.NewGuid Time.Type
Sử dụng M Function

Bây giờ, chúng ta sẽ tạo một blank query trong Power Query
để hiểu cách M Function hoạt động.

Chúng ta sẽ ví dụ với Text.Upper function.

Đi tới Data > Get & Transform > New Query > From Other
Sources > Blank Query:
Trong Formula Bar, gõ vào =#shared và ấn Enter.

Power Query sẽ hiển thị cho chúng ta các M Functions có sẵn.


Lưu ý: các M Functions này chúng tôi đã tổng hợp ở phần
trên với việc chia lại dễ đọc hơn.
Chọn vào Text.Upper trong list.
Tiếp tục, PowerQuery sẽ hỏi bạn chọn parameters dưới phần
text để bạn có thể thấy được hoạt động. Hãy gõ vào text bất kỳ
và ấn OK.

Và giờ bạn có thể tìn được kết quả! Đoạn text mà bạn gõ
giờ đã được viết hoa.

Nếu bạn muốn nhìn xem query thực tế, bạn có thể đi tới
View > Advanced > Advanced Editor
Bạn không cần hiểu quá chi tiết trong vai trò người dung
cơ bản nhưng sẽ rất tốt nếu bạn hiểu cách Power Query
viết các câu lệnh và sử dụng M Formula khi bạn tạo một
query.

Chọn vào File > Close & Load để nhìn được kết quả
trong Excel Sheet
Sử dụng M để tạo Cột
Bây giờ, hãy thử sử dụng Date.Month function để tạo một
cột trong tính năng Custom Column.
Trong ảnh bên dưới, chúng tôi đã sử dụng Date.Month bằng
cách sử dụng =#shared để nhận được gợi ý.
Bạn có thể xuất kết quả (Output) tới các giá trị Month từ
định dạng DateTime, ví dụ như dưới đây

Kết quả, bảng Excel đã có lists ngẫu nhiên các ngày tháng
cho cột được đặt tên là Dates. Chúng ta đã sử dụng M
function để lấy ra các giá trị Months từ list này.
Đi tới Data > Get & Transform > From Table

Đi tới Add Column > General > Custom Column


Tiếp theo hãy sử dụng M formula! Ấn OK. Khi hoàn thành

Bây giờ, bạn hãy lấy ra các giá trị Month từ cột Dates!

Đi tới File > Close & Load để thấy 2 cột kết quả
trong Excel.

You might also like