Я использую VB.NET для подключения и анализа данных из базы данных служб Analysis Services.
Проблема, с которой я сталкиваюсь, заключается в попытке найти все группы мер, связанные с данным измерением.Я копался в API, и кажется, что измерения вообще не имеют никакой информации о группах мер, но группы мер могут содержать измерения.
Это облегчает задачу, если я хочу получить списоксвязанные измерения с заданной группой мер (measureGroup.Dimensions
), но я ищу противоположность.
Единственное, о чем я могу думать, - это перебрать все группы мер внутри куба и проверить,он содержит ссылку на рассматриваемое измерение:
Dim dimID As String = "SOME_DIM_ID"
Dim relatedMeasureGroups As New List(Of Amo.MeasureGroup)
For Each mg As Amo.MeasureGroup In _cube.MeasureGroups
If mg.Dimensions.Contains(dimID) Then
relatedMeasureGroups.Add(mg)
Continue For
End If
Next
Это работает, но, очевидно, очень медленно и неэффективно.Есть ли более прямой путь, которого я просто не вижу?
РЕДАКТИРОВАТЬ: я должен сказать, мне нужно сделать это, потому что я пытаюсь найти все потенциальные Мера многих ко многимГруппы для измерения .Как вы можете сказать, то, как я это делаю, немного ручное (найдите группы мер, связанные с начальным измерением, найдите все измерения, связанные с ними, и еще раз найдите все группы мер, связанные с те ), так что если есть более прямой способ решения этой проблемы, это может обойти мою потребность в решении исходной проблемы.