Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / OLAP и DWH Новый топик    Ответить
 MDX получить текущий срез  [new]
me1vin_
Member

Откуда:
Сообщений: 6
Всем привет! Подскажите пожалуйста.
У меня есть измерение [Dim Calendar].[Calendar Period].
tt_period вычисляется как: [Dim Calendar].[Calendar Period].[Calendar Period].members и отображает набор из всех периодов календаря (Снимок 1)
При выборе в срезе 2017 год, по прежнему отображаются все периоды календаря, я мне нужно чтобы в набор попадали периоды только за выбранный год. (Снимок 2)
Если делать так EXISTING ( [Dim Calendar].[Calendar Period].[Calendar Period].members ), то tt_period равняется tt_currentset

К сообщению приложен файл. Размер - 146Kb
14 фев 18, 08:28    [21189687]     Ответить | Цитировать Сообщить модератору
 Re: MDX получить текущий срез  [new]
bideveloper
Member

Откуда:
Сообщений: 243
me1vin_,
можно взять Ancestor от текущего мембера до года и от этого всех Descendants до месяца.
14 фев 18, 13:49    [21190870]     Ответить | Цитировать Сообщить модератору
 Re: MDX получить текущий срез  [new]
me1vin_
Member

Откуда:
Сообщений: 6
Тогда, когда выбраны все года, для периодов 2016 будут Descendants только этого года, для 2017 только его Descendants. Нужно так:
Выбраны допустим 2016 и 2017. Для обоих Descendants одинаковые за 2016 и 2017

current ------------ period
201609 ------------ 201609, 201610, 201611, 201612, 201701, 201702
201610 ------------ 201609, 201610, 201611, 201612, 201701, 201702
201611 ------------ 201609, 201610, 201611, 201612, 201701, 201702
201612 ------------ 201609, 201610, 201611, 201612, 201701, 201702
201701 ------------ 201609, 201610, 201611, 201612, 201701, 201702
201702 ------------ 201609, 201610, 201611, 201612, 201701, 201702
14 фев 18, 14:18    [21190985]     Ответить | Цитировать Сообщить модератору
 Re: MDX получить текущий срез  [new]
bideveloper
Member

Откуда:
Сообщений: 243
А исходный tt_period у вас Dynamic?
14 фев 18, 15:32    [21191357]     Ответить | Цитировать Сообщить модератору
 Re: MDX получить текущий срез  [new]
me1vin_
Member

Откуда:
Сообщений: 6
bideveloper, Что это значит?
CREATE MEMBER CURRENTCUBE.[Measures].[tt_period]
 AS settostr( NONEMPTY( [Dim Calendar].[Calendar Period].[Calendar Period].members )), 
NON_EMPTY_BEHAVIOR = { [IBR Article SUM] }, 
VISIBLE = 1 ,  ASSOCIATED_MEASURE_GROUP = 'Fact IBR Reg Article Fact';  
14 фев 18, 16:29    [21191550]     Ответить | Цитировать Сообщить модератору
 Re: MDX получить текущий срез  [new]
me1vin_
Member

Откуда:
Сообщений: 6
Возможно это как то поможет. Обнаружил вот что. Сейчас у меня настроены связи и иерархии в календаре таким образом:
+ Измерение календарь
Картинка с другого сайта.
Картинка с другого сайта.


Но если изменить связи на такой вид (дефолтный):
+ Измерение календарь без связей
Картинка с другого сайта.


То отбор работает именно так, как мне нужно:
+ Результат
Картинка с другого сайта.

Но в этом случае перестает работать функция Parallelperiod в других вычисляемых членах. Вероятно потому что нет связи Период->год.
14 фев 18, 16:55    [21191661]     Ответить | Цитировать Сообщить модератору
 Re: MDX получить текущий срез  [new]
bideveloper
Member

Откуда:
Сообщений: 243
me1vin_,

попробуйте сначала tt_period задать как Dynamic set, а уже на его основе сделайте calculated member.
Связи и названия у вас странные. Period это month? Почему бы его так и не назвать? Общепринятыми являются названия month (месяц вместе с указанием года) и month of year (месяц без указания года).
14 фев 18, 19:20    [21192088]     Ответить | Цитировать Сообщить модератору
 Re: MDX получить текущий срез  [new]
me1vin_
Member

Откуда:
Сообщений: 6
bideveloper, Большое спасибо!! Все получилось!!
Аналогичная проблема кстати описана тут: https://blog.gbrueckl.at/2014/12/ssas-dynamic-named-sets-in-calculated-members/

автор
Связи и названия у вас странные. Period это month?

Period - "2017 апрель"
Month - "апрель"

В предыдущих проектах было так. К таким календарям привыкли. Так и тянется дальше :)
15 фев 18, 02:43    [21192629]     Ответить | Цитировать Сообщить модератору
 Re: MDX получить текущий срез  [new]
me1vin_
Member

Откуда:
Сообщений: 6
Радость длилась недолго. :(
Собственно в Excele я получил то что мне нужно было.
Но выводя те же самые меры в PowerBI, вижу то, что было в Excele изначально. Т.е. PowerBI как будто "не распознает" или "не пересчитывает" этот Dynamic Set и при выборе 2017 года выдает всех членов измерения времени.. :(
15 фев 18, 16:55    [21194601]     Ответить | Цитировать Сообщить модератору
 Re: MDX получить текущий срез  [new]
bideveloper
Member

Откуда:
Сообщений: 243
Тут на форуме писали, что есть проблемы с Power BI в том, что он сейчас не полностью интегрирован с SSAS...
15 фев 18, 17:09    [21194655]     Ответить | Цитировать Сообщить модератору
 Re: MDX получить текущий срез  [new]
bideveloper
Member

Откуда:
Сообщений: 243
https://ideas.powerbi.com/forums/265200-power-bi-ideas/suggestions/6706390-custom-and-named-sets-support
15 фев 18, 17:23    [21194696]     Ответить | Цитировать Сообщить модератору
Все форумы / OLAP и DWH Ответить