Мера безопасности SSAS, основанная на двух разных измерениях - PullRequest
0 голосов
/ 23 ноября 2018

Я новичок в запросе MDX и ищу помощи.

Мне нужно создать роль на основе этих требований: у меня есть мера: калории и два измерения: люди и направление

Таблица выглядит следующим образом:

id pid direction calories
1   1   In        20
2   1   In        30
3   1   Out       50
4   2   In        10
5   2   Out       60
6   2   Out       70
7   3   In        20
8   3   In        25
9   3   Out       35
10  4   In        20
11  4   Out       40

Я хочу создать Роль в кубе, к которому требуется доступ:

  • PID: 1, 2 и только Направление: IN
  • PID: 3 и только направление: OUT
  • PID: 4 и направление: IN и OUT

Запрос, который показывает результат:

with
 set [person1] as { { [person].[pid].&[1], [person].[pid].&[2]} * [direction].[direction].&[In] }
 set [person2] as { { [person].[pid].&[3]} * [direction].[direction].&[Out] }
 set [person3] as { { [person].[pid].&[4]} * {[direction].[direction].&[Out], [direction].[direction].&[In]} }

set [p] as {[person1], [person2], [person3]}

select non empty {measure.calories} on columns,
{[p]} on rows
from [CUBE]

и работает нормально.

...