因此,我有一个保存在Excel中的城市datalist
,我想要在PowerBI
中将其视觉化。但是,一些城市包含zipcode
。这个zipcode
只存在于数字中。电力查询 - 用空值替换所有数字
是否可以用“”(无)替换该列中的所有数字?或者另一种选择是检查值是否以数字开头,然后删除该单元格中的前4个字符?
任何想法如何做到这一点?
因此,我有一个保存在Excel中的城市datalist
,我想要在PowerBI
中将其视觉化。但是,一些城市包含zipcode
。这个zipcode
只存在于数字中。电力查询 - 用空值替换所有数字
是否可以用“”(无)替换该列中的所有数字?或者另一种选择是检查值是否以数字开头,然后删除该单元格中的前4个字符?
任何想法如何做到这一点?
您可以修剪列的开始(“自定义”)使用此命令条目:
Table.TransformColumns(NameOfPreviousStep,{{"Custom", each Text.TrimStart(_,List.Transform({0..9}, each Number.ToText(_)))}})
尝试这个用户定义函数
ALT + F11打开VBEditor插入>模块 然后在右侧面板中
Function RemoveNumbers(t As String)
Dim i As Long,
Dim newString As String
For i = 1 To Len(t)
If Not IsNumeric(Mid(t, i, 1)) Then
newString = newString & Mid(t, i, 1)
End If
Next i
RemoveNumbers = newString
End Function
假设在A2,A3数据粘贴下面的代码... 把这个公式B2 = RemoveNumbers(A2)
只是一个想法,因为这不是你的原始问题,但如果你想拥有正确的城市而不是邮政编码,你也可以复制列,只保留数字,标记为邮政编码数据,从Bing Maps API获取结果并将“城市名称”结果合并回“最终”城市列。
解决方法是添加新列,使用IF(isNumber(tablename [colname])then null else tablename [colname]。请检查IF公式。 – Vasim