我们在Power Query中有时候也会看到在公式中会有"#"字符存在,这个#字是什么意思呢?
我们今天来初步了解下这个#的功能。
在说这个之前,我们先来了解下什么是Unicode字符。Unicode字符是计算机科学领域里的一项业界标准,包括字符集、编码方案等。我们平时所听说的ASCII就是其中的一部分,只是前128个字符,包括英文字符,数字及一些常用符号(不包括汉字)。
字符区间 | 16进制编码区间 |
---|---|
0..9 | 0031-0039 |
A..Z | 0041-005A |
a..z | 0061-007A |
一..龥 | 4E00-9FA5 |
在Power Query中,使用List生成列表,必须是升序的(是根据Unicode编码进行的升序)
另外其中主要的3个符号类的,有自己的简称,我们记住简称即可。
回车符简写:cr 编码号:000D
换行符简写:lf 编码号:000A
制表符简写:tab 编码号:0009
此外,如果我们需要一些特殊字符,也可以根据Unicode编码分类进行查找。
具体分类大家可以去搜索引擎查找。例如我们需要日语的片假名,韩语字符,特殊的符号等都可以进行查找,查找到后就可以把对应的16位进制的编号记下,以后就可以方便转义了。
了解了Unicode编码,那我们看下,在Power Query中如何使用转义字符"#"进行转换。
例1:通过"#"直接进行16进制Unicode编码转义。 ="abc#(lf)abc",其结果就是把lf转义成了换行。在进行Unicode编码转义时,必须用""在最外面,转义的编码在()内即可。当然如果直接转义就不需要了。
="123#(0061)bc"
例2:通过#转义含有特殊字符的字段名。
=[#"a b"=1]
= [#"a&b"=1]
例3:通过转义符直接转义日期格式并进行计算。 = #date(2018,11,11) #duration(1,0,0,0)
例4:此外还可以用于一些特殊转义。 =#shared (获得所有函数详细说明)
=#table({},{{}}) (构建一个表格)
此外需要注意的是,跟在转义字符#后面的都是小写单词。