|
|
|
SSAS 2012 калк мембер
|
|||
|---|---|---|---|
|
#18+
Wello World! 1 Есть измерение [Дата](Sale Date), которое строится по таблице view_Dim_Date. Гранулянтность - ДЕНЬ 2 По этой же таблице строится мера [Days Count], которая определяется агр. функ Count of rows. 3 А также калк мембер [Days Count 2] Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. При просмотре отчета не могу обосновать полученный результ. На скрине видно, если установить фильтры на самом нижнем уровне(т.е. отобрать нескольно дней), то [Days Count 2] вообще не учитывает этот фильтр. Подскажите, как это побороть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2017, 14:38 |
|
||
|
SSAS 2012 калк мембер
|
|||
|---|---|---|---|
|
#18+
Провел небольшей экспиремент. Профайлером отловил скрипт формируемый excel-ем. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. [Days Count][Days Count 2]74273 Затем немного упростил Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. В итоге получил, то что надо. [Days Count][Days Count 2]77 Подскажите, почему в первом случаи получаются такие цифры? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2017, 16:06 |
|
||
|
SSAS 2012 калк мембер
|
|||
|---|---|---|---|
|
#18+
Yagrus2, потому что existing не знает что есть подселект. подселект невидим для CurrentMember и EXISTING. решение - использовать для таких целей динамический именованный набор (я не вник зачем Вам нужен intersect, поэтому пример попроще) Код: sql 1. 2. 3. 4. 5. 6. обратите внимание, что existing в этом случае не требуется. при использовании подселекта на всех осях в запросе и всех именованные наборах (включая динамические) выполняется autoexist. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2017, 22:25 |
|
||
|
SSAS 2012 калк мембер
|
|||
|---|---|---|---|
|
#18+
ShIgorYagrus2, (я не вник зачем Вам нужен intersect, поэтому пример попроще) Измерение [Sale Date] содержит дни, которые еще не наступили. А с помощью INTERSECT я пытаюсь ограничить набор дней текущей датой минус 1 день. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2017, 12:02 |
|
||
|
SSAS 2012 калк мембер
|
|||
|---|---|---|---|
|
#18+
ShIgor, Перенес в динамический набор все, что под интерсектом . Вроде все заработало. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2017, 12:34 |
|
||
|
SSAS 2012 калк мембер
|
|||
|---|---|---|---|
|
#18+
Yagrus2, Вы и так его уже ограничили указав границу справа, зачем повторно получать тот же ограниченный набор через пересечение с полным набором? попробуйте найти вариант, который не будет использовать StrToMember и Format - очень медленные функции для работы с динамическими наборами. Зачем Вам LAG? у Вас пропуски в датах? если нет, стройте сразу требуемую дату. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2017, 13:48 |
|
||
|
SSAS 2012 калк мембер
|
|||
|---|---|---|---|
|
#18+
ShIgorВы и так его уже ограничили указав границу справа, зачем повторно получать тот же ограниченный набор через пересечение с полным набором? Наконец понял, что вы имели ввиду. Оказываеся INTERSECT не нужен. Для того, чтобы ограничить измерение [Sale Date], достаточно вот этого: Код: sql 1. 2. ShIgor Зачем Вам LAG? Чтобы ограничиваться не текущей датой, а предыдущей. ShIgorYagrus2, попробуйте найти вариант, который не будет использовать StrToMember и Format - очень медленные функции для работы с динамическими наборами. Единственно что приходит в голову - это реализовать на физическом уровне ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2017, 14:44 |
|
||
|
SSAS 2012 калк мембер
|
|||
|---|---|---|---|
|
#18+
Yagrus2, вместо LAG можно день вычесть из Now() заменить StrToMemeber и Format можно атрибутами, например Сегодня или Прошлое/Будущее... придумайте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2017, 15:59 |
|
||
|
SSAS 2012 калк мембер
|
|||
|---|---|---|---|
|
#18+
ShIgorвместо LAG можно день вычесть из Now() Заменил на DATEADD("D",-1,NOW()) ShIgorзаменить StrToMemeber и Format можно атрибутами, например Сегодня или Прошлое/Будущее... придумайте Можете пояснить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2017, 17:21 |
|
||
|
SSAS 2012 калк мембер
|
|||
|---|---|---|---|
|
#18+
Yagrus2, Озвучу такой вариант решения. Добавьте в таблицу измерения колонку с 1 для всех дат в прошлом и постройте на ней меру типа сумма ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2017, 09:40 |
|
||
|
|

start [/forum/topic.php?fid=49&gotonew=1&tid=1858238]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
162ms |
get topic data: |
12ms |
get first new msg: |
9ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
| others: | 11ms |
| total: | 280ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...