Arhn - архитектура программирования

Запрос MDX фильтруется неправильно

У меня есть следующая схема звезды:

Objects       <-> Facts         <-> Simulation
-ObjectID         -ObjectID         -SimulationID
-SimulationID     -SimulationID     
-ObjHierarchy     -Volume
-ObjectType

Теперь я пытаюсь отфильтровать куб, используя оба измерения:

select [Measures].[Volume] on columns,
[Objects].[ObjHierarchy].[Level 02] on rows
from [DM OC]
where ([Objects].[ObjectType].&[2], [Simulation].[SimulationID].&[52])

Однако это возвращает строки для SimulationID=52 (со значениями), а также дублирует для SimulationID=53 (с нулями):

ObjHierarchy | Volume
MyObj1       | 12345
MyObj2       | 54321
MyObj1       | (NULL)
MyObj2       | (NULL)

Обходной путь — использовать NonEmpty, однако кажется, что куб смоделирован неправильно.

17.09.2010

Ответы:


1

Это обычный случай и не означает, что модель куба неверна.

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

23.09.2010

2

Можете ли вы выполнить следующее:

с членом XX как [Objects].[ObjHierarchy].currentMember.Properties("KEY" )

выберите { [Measures].[Volume], XX} в столбцах, [Objects].[ObjHierarchy].[Level 02] в строках из [DM OC], где ([Objects].[ObjectType].&[2], [ Моделирование].[Идентификатор моделирования].&[52])

MyObj1 и MyObj2 не должны иметь одинаковый ключ; иначе я не вижу прямо сейчас.

29.09.2010
  • Этот запрос возвращает одинаковое количество результатов, причем элемент xx возвращает значения для всех строк (даже для тех, где Volume равен нулю). Все объекты имеют разные ключи, поэтому даже первый MyObj1 имеет другой ключ, чем второй MyObj1 (то же самое относится и к MyObj2) — для каждого SimulationID существует разная коллекция объектов. 01.10.2010
  • Кажется, у вас есть разные члены MDX с одинаковым именем, поэтому это объясняет результат. 03.10.2010
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..