Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
MS AS вычесляю период начала и конец.
|
|||
|---|---|---|---|
|
#18+
Наверняка кто то сталкивался с проблемой что в одном кубе нужно отобразить продажи за какой то произвольный период и остаток на начала этого периода и конец. Так вот у меня есть решение. Нада создать дату не как иерархию а с одним уровнем где будут все дни. И ее не трогать сделать visible - false. Далее показатель 1 Остаток на начало периода SUM(HEAD(Filter(CrossJoin({[Measures].[Sales Val]},Descendants([Salesdate 1].currentmember,[Salesdate 1].levels(1))), NOT IsEmpty([Salesdate 1].currentmember)),1)) Сдесь очень долго мучился с NonEmptyCrossJoin ну не как не хотел он мне выдавать не пустых, пришлось фильтр надеть на него. Остаток на конец периода SUM(HEAD(Filter(CrossJoin({[Measures].[Sales Val]},Descendants([Salesdate 1].currentmember,[Salesdate 1].levels(1))), NOT IsEmpty([Salesdate 1].currentmember)), count(Filter(CrossJoin({[Measures].[Sales Val]},Descendants([Salesdate 1].currentmember,[Salesdate 1].levels(1))), NOT IsEmpty([Salesdate 1].currentmember))))) - SUM(HEAD(Filter(CrossJoin({[Measures].[Sales Val]},Descendants([Salesdate 1].currentmember,[Salesdate 1].levels(1))), NOT IsEmpty([Salesdate 1].currentmember)), count(Filter(CrossJoin({[Measures].[Sales Val]},Descendants([Salesdate 1].currentmember,[Salesdate 1].levels(1))), NOT IsEmpty([Salesdate 1].currentmember)))-1)) Сдесь все тоже самое только от НЕAD отнимаю предидущую сумму. Пробовал выделять произвольные периоды(мультиселект) и все работает. Для этот помогла формула для вычесления сount(crossjoin({population},descendants(city.currentmember,city.[city name])),excludeempty) Автора уже не помню если он зайдет ему огромное спасибо за помошь!! Есть возможность оптимизировать?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 15:27 |
|
||
|
MS AS вычесляю период начала и конец.
|
|||
|---|---|---|---|
|
#18+
OLAPMASTERСдесь очень долго мучился с NonEmptyCrossJoin ну не как не хотел он мне выдавать не пустых, пришлось фильтр надеть на него. Для этот помогла формула для вычесления сount(crossjoin({population},descendants(city.currentmember,city.[city name])),excludeempty) Автора уже не помню если он зайдет ему огромное спасибо за помошь!! Есть возможность оптимизировать?? Формула моя, но г-н backfire советовал использовать NonEmptyCrossJoin({population},descendants(city.currentmember,city.[city name])).Count Всё-таки Filter+CrossJoin едят много ресурсов. При мультиселкте бывают "дыры"? т.е. выбираются ли только январь и апрель или всегда январь,февраль,март,апрель? Кроме того, какой глубокий смысл в SUM(HEAD( ... ),1)) ? Для оптимизации, можно повторно используемые множества засунуть в named sets, аналогично Count(...) можно засунуть в Calc. Member ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 16:00 |
|
||
|
MS AS вычесляю период начала и конец.
|
|||
|---|---|---|---|
|
#18+
Dmitry Biryukov OLAPMASTERСдесь очень долго мучился с NonEmptyCrossJoin ну не как не хотел он мне выдавать не пустых, пришлось фильтр надеть на него. Для этот помогла формула для вычесления сount(crossjoin({population},descendants(city.currentmember,city.[city name])),excludeempty) Автора уже не помню если он зайдет ему огромное спасибо за помошь!! Есть возможность оптимизировать?? Формула моя, но г-н backfire советовал использовать NonEmptyCrossJoin({population},descendants(city.currentmember,city.[city name])).Count Всё-таки Filter+CrossJoin едят много ресурсов. При мультиселкте бывают "дыры"? т.е. выбираются ли только январь и апрель или всегда январь,февраль,март,апрель? Кроме того, какой глубокий смысл в SUM(HEAD( ... ),1)) ? Для оптимизации, можно повторно используемые множества засунуть в named sets, аналогично Count(...) можно засунуть в Calc. Member Дырок для них я не видел, что хочешь выбирай он тебе даст 1 и последнего в множестве. NonEmptyCrossJoin неработает вернул мне все множество, поэтому и filter поставил. А вот name Set это хорошо, попробую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 16:56 |
|
||
|
MS AS вычесляю период начала и конец.
|
|||
|---|---|---|---|
|
#18+
OLAPMASTER Dmitry BiryukovПри мультиселкте бывают "дыры"? т.е. выбираются ли только январь и апрель или всегда январь,февраль,март,апрель? Кроме того, какой глубокий смысл в SUM(HEAD(( ... ),1)) ? Дырок для них я не видел, что хочешь выбирай он тебе даст 1 и последнего в множестве. Я имел в виду: есть ли у пользователей причины выбирать периоды "не подряд"? например отдельно январь и отдельно апрель без февраля и марта? (есть более быстрый алгоритм в случае "сплошных" периодов) Вместо SUM(HEAD(( ... ),1)) можно просто писать просто HEAD(( ... ),1) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 17:16 |
|
||
|
MS AS вычесляю период начала и конец.
|
|||
|---|---|---|---|
|
#18+
Dmitry Biryukov OLAPMASTER Dmitry BiryukovПри мультиселкте бывают "дыры"? т.е. выбираются ли только январь и апрель или всегда январь,февраль,март,апрель? Кроме того, какой глубокий смысл в SUM(HEAD(( ... ),1)) ? Дырок для них я не видел, что хочешь выбирай он тебе даст 1 и последнего в множестве. Я имел в виду: есть ли у пользователей причины выбирать периоды "не подряд"? например отдельно январь и отдельно апрель без февраля и марта? (есть более быстрый алгоритм в случае "сплошных" периодов) Вместо SUM(HEAD(( ... ),1)) можно просто писать просто HEAD(( ... ),1) Получаеться не гибкое решение, так как я как раз расчитовал на не сплощные периоды, на вот например исключая выходные дни, или просто по выходным дням. Поэтому я и сделал Sum(HEAD((...)1)). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 17:32 |
|
||
|
MS AS вычесляю период начала и конец.
|
|||
|---|---|---|---|
|
#18+
Остаток на конец периода SUM(TAIL(Filter(CrossJoin({[Measures].[Sales Val]},Descendants([Salesdate 1].currentmember,[Salesdate 1].levels(1))), NOT IsEmpty([Salesdate 1].currentmember)),1)) Так оптимальнее вот и сам все оптимизировал!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2005, 18:37 |
|
||
|
MS AS вычесляю период начала и конец.
|
|||
|---|---|---|---|
|
#18+
Что в ваше формуле [Measures].[Sales Val]? Движение или подневной остаток? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2006, 19:27 |
|
||
|
MS AS вычесляю период начала и конец.
|
|||
|---|---|---|---|
|
#18+
backfireЧто в ваше формуле [Measures].[Sales Val]? Движение или подневной остаток? Привет. [Sales Val] - остаток на каждый день. Поэтому фактов на куб подавалось очень много, но если его разбить на партиции то все очень даже хорошо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2006, 10:25 |
|
||
|
MS AS вычесляю период начала и конец.
|
|||
|---|---|---|---|
|
#18+
А измерение времени включает только дни? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2006, 10:29 |
|
||
|
MS AS вычесляю период начала и конец.
|
|||
|---|---|---|---|
|
#18+
OLAPMASTER backfireЧто в ваше формуле [Measures].[Sales Val]? Движение или подневной остаток? Привет. [Sales Val] - остаток на каждый день. Поэтому фактов на куб подавалось очень много, но если его разбить на партиции то все очень даже хорошо. Если товар A на начало периода P не был в системе, и только в середине периода появилась запись с его остатком, ваша формула для остатка на начало периода вернет этот остаток, а это не 0. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2006, 11:42 |
|
||
|
MS AS вычесляю период начала и конец.
|
|||
|---|---|---|---|
|
#18+
Ну так все таки какие Levels включает рабочее измерение времени? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2006, 15:55 |
|
||
|
MS AS вычесляю период начала и конец.
|
|||
|---|---|---|---|
|
#18+
на сколько я понял , только дни и All level ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2006, 05:33 |
|
||
|
MS AS вычесляю период начала и конец.
|
|||
|---|---|---|---|
|
#18+
backfireна сколько я понял , только дни и All level Привет. Не проверял такого. Помоему она не вернет его остаток. Что касается дней. Это виртуальное измерение и там дни лежат все на одном уровне. Это только дни. Хотя... нет не вернет она его остаток она напишет там 0. Вы мажете сами это проверить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2006, 09:54 |
|
||
|
MS AS вычесляю период начала и конец.
|
|||
|---|---|---|---|
|
#18+
А какже месяцы, недели, кварталы, годы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2006, 10:08 |
|
||
|
MS AS вычесляю период начала и конец.
|
|||
|---|---|---|---|
|
#18+
АналитикА какже месяцы, недели, кварталы, годы? Все это живет в номральном измерение под название Дата. Там есть все иерархие которые нужны для отчета. Вот только уровень "день" в этой иерархии имеет свойство "день" типа "01.01.2001" это дата без времени. И на базе этого делаеться виртуальное измерение all_date и ему ставиться hide. Просто то если сделать иерархию то формула не работает если выбрать разные уровни. Непонимаю почему но это факт и это подметил backfire как то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2006, 13:23 |
|
||
|
MS AS вычесляю период начала и конец.
|
|||
|---|---|---|---|
|
#18+
Если я выбираю месяц, то в формулу значения подставляются из виртуального[Salesdate 1] или же из номрального измерения под названием Дата? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2006, 14:04 |
|
||
|
MS AS вычесляю период начала и конец.
|
|||
|---|---|---|---|
|
#18+
АналитикЕсли я выбираю месяц, то в формулу значения подставляются из виртуального[Salesdate 1] или же из номрального измерения под названием Дата? Все значения которые ты вибираеш в измерении Дата, для расчета формулы беруться из виртуального измерения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2006, 09:56 |
|
||
|
MS AS вычесляю период начала и конец.
|
|||
|---|---|---|---|
|
#18+
Т.е. [Salesdate 1] это виртуальное измерение? Можно рассмотреть на примере? Я выбрал месяц Октябрь, что подставится в формулу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2006, 10:46 |
|
||
|
MS AS вычесляю период начала и конец.
|
|||
|---|---|---|---|
|
#18+
АналитикТ.е. [Salesdate 1] это виртуальное измерение? Можно рассмотреть на примере? Я выбрал месяц Октябрь, что подставится в формулу? В формуле будут все дни октябра. Что бы не мучать себя, сделай такое измерение и просто в excel кинь их друг на друга. И все увидишь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2006, 10:54 |
|
||
|
MS AS вычесляю период начала и конец.
|
|||
|---|---|---|---|
|
#18+
Мне на самом деле понятен смысл формулы. Я уже решал такую задачу используя подобную формулу. И подставлял я значения напрямую из измерения времени, в котором были Годы-месяцы-дни. Мне же непонятно использование виртуального измерения, если мы его непосредственно используем в формуле, то там всего лишь один уровень, тогда зачем нам descendants. Прошу прощения за свою навязчивость, просто хочу разобраться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2006, 11:12 |
|
||
|
MS AS вычесляю период начала и конец.
|
|||
|---|---|---|---|
|
#18+
АналитикМне на самом деле понятен смысл формулы. Я уже решал такую задачу используя подобную формулу. И подставлял я значения напрямую из измерения времени, в котором были Годы-месяцы-дни. Мне же непонятно использование виртуального измерения, если мы его непосредственно используем в формуле, то там всего лишь один уровень, тогда зачем нам descendants. Прошу прощения за свою навязчивость, просто хочу разобраться. Чесно сказать, я сам не разбирал что и как. Сделай и проверь следующее: Напиши две подобные формулы в одной по нормальной иерархии времени а дургую по виртуальным дням как я. Возьми и выдели периоды из раных годов просто декабрь 2005 и январь 2006 и ты увидишь что по дням все будет работать а с иерархией нет. Вот по этому я и использую формулу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2006, 11:17 |
|
||
|
|

start [/forum/topic.php?fid=49&msg=33533167&tid=1870565]: |
0ms |
get settings: |
11ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
62ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
81ms |
get tp. blocked users: |
2ms |
| others: | 257ms |
| total: | 459ms |

| 0 / 0 |
