В настоящее время я настраиваю двойное решение, и у меня возникают трудности с определением куба и его иерархий.
Часть определения схемы выглядит следующим образом:
<Dimension foreignKey="user" highCardinality="false" name="user">
<Hierarchy name="user" hasAll="true" allMemberName="all" primaryKey="ID">
<Table name="user" />
<Level name="timezone" column="timezone"/>
<Level name="locale" column="locale"/>
<Level name="gender" column="gender"/>
</Level>
</Hierarchy>
</Dimension>
Теперь я хочу получить прямой доступ к гендерному уровню.
SELECT
{[user].[gender].Members} ON COLUMNS,
{[Measures].[Fact Count]} ON ROWS
FROM [cube]
В результате получается что-то вроде [user].[zone3].[de_DE].[male] = 10, [user].[zone1].[en_US].[male] = 30
и так далее. Я хочу общее количество для каждого пола: [user].[male] = 20
и [user].[female] = 30
.
В общем, мне нужно гибкое упорядочение уровней. Это возможно? Я знаю, что есть параллельные иерархии, но я не могу создать их для каждого возможного порядка ...
Я также пытался поместить все атрибуты в свойствах вместо уровней, но я не мог понять, как получить общее количество пользователей мужского и женского пола.
И это должно быть довольно просто, потому что все это будет частью динамического би-инструмента ...