powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Оборотка
15 сообщений из 15, страница 1 из 1
Оборотка
    #32654863
Осирис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Знаю, что делать можно, а вот как не соображу.

AS. Есть таблица фактов.

Номенклатура (ссылка на справ-к номенклатуры) - (одно измерение)
Дата (ссылка на спр-к дат) - второе измерение
Кол-во - должно быть мерой.

Нужно получать приходы, расходы, обороты и остатки на каждую из дат.

Обороты - это сумма кол-ва по модулю.
Приходы - это сумма положительных количеств
Расходы - это сумма отрицательных количеств.

А вот как быть с остатком на дату. По идее это должна быть сумма всех количеств до заданной, но вот как это сделать в MS AS ?

Заранее благодарен.
...
Рейтинг: 0 / 0
Оборотка
    #32654917
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы этим пользовались?
...
Рейтинг: 0 / 0
Оборотка
    #32655559
Осирис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо. Поискал, почитал, попробовал сделать сам...

Беру FoodMart 2000.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
with member [Measures].[MyMeasure] as
'
sum(PeriodsToDate([Time].[Month],[Time].CurrentMember),[Measures].[Sales Count])
'
select 
    {[Measures].[Sales Count], [Measures].[MyMeasure] } on columns, 
    { ([Product].[Product Family].members) *([Time].[Month].members ) } on rows
from Sales 

Не ругается, но и не суммирует.

Рассчитываю в MyMeasure получить сумму всех предыдущих [Sales Count].

Научите начинающего ;)

Спасибо.
...
Рейтинг: 0 / 0
Оборотка
    #32655712
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вместо

Код: plaintext
sum(PeriodsToDate([Time].[Month],[Time].CurrentMember),[Measures].[Sales Count])


пишите

Код: plaintext
sum(PeriodsToDate([Time].CurrentMember, [Time].[Year]), [Measures].[Sales Count])
...
Рейтинг: 0 / 0
Оборотка
    #32656294
Dmitry Biryukov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а почему так?
BOL:
PeriodsToDate([«Level»[, «Member»]])

[Time].CurrentMember - это member (второй параметр)
[Time].[Year] - это level (перый параметр)
...
Рейтинг: 0 / 0
Оборотка
    #32656324
Осирис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
backfire:

так вообще не работает -

unable to open cellset

Formula error - cannot bind; unknown dimension or member: "[Time].[Month]"
...
Рейтинг: 0 / 0
Оборотка
    #32656328
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry Biryukovа почему так?
BOL:
PeriodsToDate([«Level»[, «Member»]])

[Time].CurrentMember - это member (второй параметр)
[Time].[Year] - это level (перый параметр)

Жутко извиняюсь, господа, за "очепятку".
...
Рейтинг: 0 / 0
Оборотка
    #32656334
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Осирисbackfire:

так вообще не работает -

unable to open cellset

Formula error - cannot bind; unknown dimension or member: "[Time].[Month]"

Вам накопление надо считать с какого момента?
...
Рейтинг: 0 / 0
Оборотка
    #32656426
Осирис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Честно говоря - неважно. Я хочу просто с принципом разобраться. Пусть будет с самого начала.
...
Рейтинг: 0 / 0
Оборотка
    #32660032
demas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В Вашем случае стоит делать так:

Код: plaintext
1.
2.
3.
4.
with member [Measures].[MyMeasure] as'sum(Ascendants([Time].CurrentMember),(sum([Time].FirstSibling :[Time].CurrentMember ,[Measures].[Sales Count]))-[Measures].[Sales Count])+[Measures].[Sales Count]'
select     
{[Measures].[Sales Count], [Measures].[MyMeasure] } on columns,     
{ ([Product].[Product Family].members) * ([Time].[Month].members  )  } on rows
from Sales
...
Рейтинг: 0 / 0
Оборотка
    #32662863
Осирис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо. То, что надо.
...
Рейтинг: 0 / 0
Оборотка
    #32662940
demas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, говоря, в моем случае работоспособна и вот такая упрощенная форма:

Код: plaintext
1.
2.
3.
4.
5.
with member [Measures].[MyMeasure] as'
sum([Time].FirstSibling :[Time].CurrentMember ,[Measures].[Sales Count])'
select     
{[Measures].[Sales Count], [Measures].[MyMeasure] } on columns,     
{ ([Product].[Product Family].members) * ([Time].[Month].members  )  } on rows
from Sales

Зачем нужны остальные навороты в предыдущей формуле, честно говоря, не знаю. Но, когда решал данную задачу наешл рекомендации использовать ее именно в таком виде.

Кстати хороший вопрос профессионалам в этой области ;)

В чем преимущество предыдущей формулы, которую привел я перед данной ?

Последняя формула при определенном наборе данных может дать ошибку ?
...
Рейтинг: 0 / 0
Оборотка
    #32663026
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
demasПоследняя формула при определенном наборе данных может дать ошибку ?

В зависимости от построения иерархии измерения времени...
...
Рейтинг: 0 / 0
Оборотка
    #32663120
demas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
backfireВ зависимости от построения иерархии измерения времени...

Если не сложно, можешь поподробнее объяснить ситуацию, когда мы получим ошибку ?

Спасибо.
...
Рейтинг: 0 / 0
Оборотка
    #32663142
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я так понял, что ты на FoodMart упражняешься. Но вообщем это не так важно.
Создай в измерении доп уровни: All, HalfYear, Quarter, Day и погоняй формулки.

Обем и сложность FoodMart таковы, что различия связанные с производительностью на нем не прочуствуешь.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Оборотка
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]