我有一个包含以下.name
和.value
属性的PivotItem:
[dimCalendar].[MonthName].&[April 2013]
我只对April 2013
所说的部分感兴趣。
从PivotItem解析或以其他方式获取此值的好方法是什么?
答案 0 :(得分:2)
解决方案一:拆分并替换
使用Split
作为分隔符时, [
最佳。获取Split
数组的上限,并将]
替换为""
。
解决方案二:正则表达式
添加Microsoft VBregularexpression 5.5
作为参考。
Private Function Method(str As String) As String
Dim regexp As New regexp
regexp.Pattern = "\[.*\]\[.*\]\[(.*)\]"
Method = regexp.Replace(str, "$1")
End Function
答案 1 :(得分:1)
如果你只需要最后一个,这将很好地工作:
Sub test_user1283776()
MsgBox get_PivotItem_From_PowerPivot("[dimCalendar].[MonthName].&[April 2013]")
End Sub
Function get_PivotItem_From_PowerPivot(PowerString As String) As String
Dim A() As String
A = Split(PowerString, ".&[")
get_PivotItem_From_PowerPivot = Trim(Replace(A(UBound(A)), "]", ""))
End Function