2015/11/23

Power BI - 12 - Power Query Text.Middle vs Text.Range

Power Query の追加/更新された関数について
"Text.Middle vs Text.Range" としましたが、Text.Middle でいいじゃんという内容。いずれも引数は変わらず文字列の切り出しができるが、引数 'count' 範囲外の扱いが異なる。

Text.Range (MSDN - Text.Range)
Text.Range(text as nullable text, offset as number, optional count as nullable number) as nullable text

Text.Middle
Text.Middle(text as nullable text, start as number, optional count as nullable number) as nullable text


let
    Source = #table(
        type table [text = text, start = number, count = number],
        {
            {null, 2, 3},
            {"12345", 2, 3},
            {"12345", 3, 2},
            {"12345", 2, 4},
            {"12345", 8, 2}
        }),
    #"Added Text.Range" = Table.AddColumn(Source, "Text.Range", each Text.Range([text],[start],[count])),
    #"Added ErrHnd" = Table.AddColumn(#"Added Text.Range", "ErrHnd", each try [Text.Range] otherwise (try [Text.Range])[Error][Message]),
    #"Added Text.Middle" = Table.AddColumn(#"Added ErrHnd", "Text.Middle", each Text.Middle([text],[start],[count]))
in
    #"Added Text.Middle"
としたとき、
となる。Text.Middle は、ワークシート関数 MID 関数と同じように使える。ただし、Power Query は Base 1 ではなく Base 0。

[環境]
Excel 2016(FirstReleaseCurrent):16.0.6228.1010 / 2.27.4163.551
Excel 2013 / Power Query for Excel:15.0.4771.1004 / 2.27.4163.242
Power BI Desktop:2.29.4217.221

0 件のコメント: