|
|
|
MDX запрос
|
|||
|---|---|---|---|
|
#18+
Коллеги, нужна Ваша помощь с MDX запросом для вычисляемой меры в OLAP-кубе: В кубе есть: Иерархия препаратов: [Препараты].[Макросегменты].[Макросегмент].[Микросегмент].[Полное наименование] Мера: [Measures].[Упаковки] Нужно найти сумму упаковок родительского элемента иерархии измерения Препараты: [Препараты].[Макросегменты].[Макросегмент].[Микросегмент].[Полное наименование] Например, выбираем полное наименование, а сумма считается по соответствующему всему микросегменту, куда входит данное полное наименование; выбираем Микросегмент, а сумма считается по соответствующему всему макросегменту, куда входит данный Микросегмент; выбираем Макросегмент, а сумма считается по всем макросегментам. У меня получился такой запрос, но он не работет. Что я делаю не так? (ANCESTOR(([Препараты].[Макросегменты].currentmember),1),[Measures].[Упаковки]) Версия сервера: SSAS на Microsoft SQL Server 2008 R2 (SP3-GDR) (KB4057113) - 10.50.6560.0 (X64) Dec 28 2017 15:03:48 Copyright (c) Microsoft Corporation Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) (Hypervisor) Клиент Microsoft Excel 2013 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2018, 16:33 |
|
||
|
MDX запрос
|
|||
|---|---|---|---|
|
#18+
ondorsal, потому что это не запрос а выражение чего-то (конкретнее какие-то координаты в кубе), так-же утверждать что он не работает немного странно т.к. синтаксис явно верный, следовательно выражение скорее всего работает, просто не так как ожидалось. кроме того для полноты картины лучше указать где именно это выражение применяется и что именно не нравиться в результате (что получается и что ожидалось, с логикой на примере). для функции Ancestor аргументом нужно указать именно иерархию (состоящую из нескольких атрибутов а не иерархия одного атрибута) например так: Код: sql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2018, 17:24 |
|
||
|
MDX запрос
|
|||
|---|---|---|---|
|
#18+
vikkiv, спасибо за ответ. Считаю, что не работает, так как при подключении к кубу через Excel и перетаскивании в строки "Полное наименование"(Продукт), а этой расчетной меры в значения получаю пустую ячейку, а должны быть числа. Выражение применяется для вычисления суммы продаж всего Микросегмента(Категории товаров), в который входит данное "Полное наименование"(Продукт). Например, продажи продукта А 10 упаковок, а всего микросегмента(Категории товаров), куда входит этот продукт 2000 упаковок. Нужно чтобы при выборе продукта А мера показывала 2000 упаковок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2018, 17:57 |
|
||
|
MDX запрос
|
|||
|---|---|---|---|
|
#18+
ondorsalКоллеги, нужна Ваша помощь с MDX запросом для вычисляемой меры в OLAP-кубе: В кубе есть: Иерархия препаратов: [Препараты].[Макросегменты].[Макросегмент].[Микросегмент].[Полное наименование] Мера: [Measures].[Упаковки] Нужно найти сумму упаковок родительского элемента иерархии измерения Препараты: [Препараты].[Макросегменты].[Макросегмент].[Микросегмент].[Полное наименование] Например, выбираем полное наименование, а сумма считается по соответствующему всему микросегменту, куда входит данное полное наименование; выбираем Микросегмент, а сумма считается по соответствующему всему макросегменту, куда входит данный Микросегмент; выбираем Макросегмент, а сумма считается по всем макросегментам. У меня получился такой запрос, но он не работет. Что я делаю не так? (ANCESTOR(([Препараты].[Макросегменты].currentmember),1),[Measures].[Упаковки]) Версия сервера: SSAS на Microsoft SQL Server 2008 R2 (SP3-GDR) (KB4057113) - 10.50.6560.0 (X64) Dec 28 2017 15:03:48 Copyright (c) Microsoft Corporation Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) (Hypervisor) Клиент Microsoft Excel 2013 Ловите. CREATE MEMBER CURRENTCUBE.[Measures].[Упаковки по иерархии препаратов] AS iif([Measures].[Упаковки]=0 or [Препараты].[название иерархии включающее микросегменты и макросегменты].CurrentMember.Ordinal = 0,null, -- таки мы на корневом уровне или для продаж на уровне пусто и не нужно показывать продажи уровня выше -- таки находимся где-то на уровне иерархии, но не на корневом -- так можно --aggregate([Препараты].[название иерархии включающее микросегменты и макросегменты].CurrentMember.Parent.Children,[Measures].[Упаковки]) -- и так можно sum([Препараты].[название иерархии включающее микросегменты и макросегменты].CurrentMember.Parent.Children,[Measures].[Упаковки]) ), VISIBLE = 1; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2018, 18:26 |
|
||
|
|

start [/forum/topic.php?fid=49&msg=39679813&tid=1857821]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
152ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 16ms |
| total: | 261ms |

| 0 / 0 |

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