Связь SSAS m2m без промежуточной таблицы

Пример:

У нас есть 2 таблицы фактов:

  1. Таблица фактов с pk, которая включает столбец1 и столбец2. Также у нас есть мера1.
  2. Вторая таблица фактов имеет pk только со столбцом2 и одним измерением2.

Какой тип связи мы должны использовать для измерений в ssas, у которых нет обычного ключа для связи с Measure2? Должен ли он быть m2m? Если мы используем обычный тип, он будет иметь несколько измерений и показывать неверную информацию. На самом деле это не отношение «многие ко многим», случай, когда для одной строки из таблицы фактов 1 есть только одна строка из таблицы фактов 2. Не могли бы вы объяснить мне?


person Dmitriy Kravchuk    schedule 08.04.2016    source источник
comment
Недостаточно информации для ответа, но я могу сказать вам, что таблицы фактов не связаны с другими таблицами фактов.   -  person Tab Alleman    schedule 11.04.2016
comment
Я имел в виду связь между измерением и мерой. Этот пример очень прост. 1-я таблица фактов имеет pk с 2 столбцами, вторая имеет pk с 1 cplomn. Измерение имеет pk с теми же двумя столбцами, что и 1-я таблица фактов. Какой тип отношений мы должны использовать?   -  person Dmitriy Kravchuk    schedule 11.04.2016


Ответы (1)


Если ваша таблица измерений имеет ПК с двумя столбцами, то ваша таблица фактов должна иметь оба этих столбца, чтобы иметь связь с этим измерением.

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

person Tab Alleman    schedule 11.04.2016
comment
Я знаю, что ваш вариант работоспособен. В моем примере вторая таблица фактов с 1 столбцом pk имеет другую детализацию и не может иметь pk с 2 столбцами. Пример: 1-й стол - это стол с регионом и магазинами. 2-я таблица только с регионом, потому что в нем нет уровня магазина. - person Dmitriy Kravchuk; 11.04.2016
comment
Что ж, тогда она не может точно соотноситься с измерением, потому что невозможно узнать, к какому магазину относятся факты в этой таблице. Похоже, вам нужно другое измерение, которое является просто регионом. - person Tab Alleman; 11.04.2016
comment
1-й стол: регион, магазин, продажи, дата. 2-я таблица: регион, население, дата. (Очень простой пример для понимания). Я могу связать дату измерения, регион, магазин и регион-магазин (с иерархией) с 1-й таблицей фактов. Также я могу связать все измерения со 2-й таблицей, но для измерения магазина и региона-магазина я использую отношение m2m, потому что я хочу видеть на любом уровне населения магазина в регионе, а не сумму населения для каждого магазина в регионе. Правильно ли связать магазин как m2m для 2-й таблицы фактов? Это работает во всех моих примерах, я просто хочу получить объяснение, потому что между 1-й и 2-й таблицами нет промежуточной таблицы. - person Dmitriy Kravchuk; 11.04.2016
comment
Вы не можете связать измерение магазина со второй таблицей фактов, потому что во второй таблице фактов нет магазина. - person Tab Alleman; 11.04.2016
comment
Да, это так, но магазин может быть связан со 2-й таблицей как многие ко многим, используя 1-ю таблицу фактов. - person Dmitriy Kravchuk; 11.04.2016
comment
В службах SSAS невозможно создать эту связь. Измерение должно относиться непосредственно к группе мер. Таблицу фактов 1 нельзя использовать для создания связи между измерением и таблицей фактов 2. - person Tab Alleman; 11.04.2016
comment
Почему это работает? Я создал этот простой куб и размер магазина, связанный как многие ко многим со второй таблицей. Это показывает правильную информацию на всех уровнях. Может быть, мое объяснение трудно понять, извините. На работе я создал много кубов, но этот пример с m2m столкнулся с диссонансом. - person Dmitriy Kravchuk; 11.04.2016
comment
Ваше объяснение очень нечеткое, и я не могу сказать, почему оно работает, не видя, что вы сделали. Если работает, то в чем вопрос? - person Tab Alleman; 12.04.2016
comment
Отправьте мне свою почту, и я пришлю вам проект с примером. Извините за это объяснение. - person Dmitriy Kravchuk; 12.04.2016