|
|
|
Связывание мер
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Подскажите как правильно связать меры 3-х и более таблиц, какие виды связи правильный использовать? Таблица 1 ID_1 Value_11 12 13 1 Таблица 2 ID_2 FK_ID_1 Value_21 1 12 1 13 2 1 Таблица 3 ID_3 FK_ID_1 Value_31 2 12 2 1 Сводная таблица ключей ID_0 ID_1 ID_2 ID_31 1 1 02 1 2 03 2 3 14 2 3 23 0 0 0 Сейчас, кроме как использования сводной таблицы, куда собираются все уникальные значения 3 таблиц, с собственным идентификатором и данные которой используются как обычное измерение не придумал. Далее через ссылочные измерения соединяю все. Но это какой-то тупиковый ход, т.к. таблица 1 уже является неким ключом для связывания 2 и 3 таблиц. К тому же кол-во записей в сводной может оказать очень большим. Но тут постоянно возникают ошибки про выключенную иерархию атрибута. Мне кажется, что ключевым измерением должен быть идентификатор 1 таблицы и через него дальше как-то вязаться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2017, 19:03 |
|
||
|
Связывание мер
|
|||
|---|---|---|---|
|
#18+
Коломиец Юрий, Как связаны таблица 1,2,3 между собой? ID_1 = ID_2 = ID_3? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2017, 21:40 |
|
||
|
Связывание мер
|
|||
|---|---|---|---|
|
#18+
SkyTod, Таблицы 1 и 2 через FK_ID_1 Таблицы 1 и 3 через FK_ID_1 Таблицы 2 и 3 прямой связи не имеют. Максимум через FK_ID_1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2017, 09:19 |
|
||
|
Связывание мер
|
|||
|---|---|---|---|
|
#18+
Коломиец Юрий, То есть связь Table1.ID_1 = Table2.FK_ID_1 = Table3.FK_ID_1 ? Создавайте измерение на основе Table1, а потом вяжите все три таблицы к этому измерению. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2017, 17:18 |
|
||
|
Связывание мер
|
|||
|---|---|---|---|
|
#18+
SkyTod, А как остальные измерения таблицы 2 (поля в примере не показаны), вязать, чтобы через измерение таблицы 2 увидеть данные таблицы 1 или 3? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2017, 17:36 |
|
||
|
Связывание мер
|
|||
|---|---|---|---|
|
#18+
SkyTod, Допустим структуру таблицы 2 дополнил колонкой Проекты ID_2 FK_ID_1 Value_2 Проекты1 1 1 Проект 12 1 1 Проект 13 2 1 Проект 2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2017, 17:38 |
|
||
|
Связывание мер
|
|||
|---|---|---|---|
|
#18+
SkyTod, 1. Создал измерение 1 с ключевым атрибутом по полю ID_1 таблицы 1. 2. Соединил все таблицы по данному измерению. 3. Создал измерение 2 с ключевым атрибутом по полю ID_2 и атрибутом FK_ID_1 таблицы 2. 4. Соединил таблицу 2 с измерением 2 по полю ID_2, а таблицу 1 через ссылочное измерение 1 с таблицей 1 по полю FK_ID_1 = ID_1. 5. Создал измерение 3 с ключевым атрибутом Проекты таблицы 2. Соединил его с таблицей 2 по полю Проекты. А как измерение 3 соединить с таблицей 1? Надо в измерение 3 добавлять атрибут FK_ID_1 и затем вязать с измерением 1 по полю FK_ID_1 = ID_1? Или надо в измерение 3 добавлять атрибут ID_2 и затем вязать с измерением 2 по полю ID_2 = ID_2? В обоих случаях ключевой атрибут Проекты не будет уникальным и просто не сможет сделать процессинг. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2017, 18:33 |
|
||
|
Связывание мер
|
|||
|---|---|---|---|
|
#18+
SkyTod, Если же в измерение 2 добавить атрибут Проекты, а в измерении 3 оставить только ключевой атрибут Проекты и затем попробовать соединить измерения, то получаю ошибку "Для промежуточного атрибута гранулярности Проекты измерения 2 не включена иерархия атрибута.". Хотя на самом деле она включена и в измерении и в измерении куба. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2017, 18:44 |
|
||
|
Связывание мер
|
|||
|---|---|---|---|
|
#18+
Коломиец ЮрийSkyTod, А как остальные измерения таблицы 2 (поля в примере не показаны), вязать, чтобы через измерение таблицы 2 увидеть данные таблицы 1 или 3?Вы не слышали обо many-to-many или в чем проблема? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2017, 00:50 |
|
||
|
Связывание мер
|
|||
|---|---|---|---|
|
#18+
SkyTod, Про многие ко многим знаю. Но этот вариант для меры из таблицы 1 не отображает запись 3, т.к. на нее нет ссылки в таблице 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2017, 10:14 |
|
||
|
Связывание мер
|
|||
|---|---|---|---|
|
#18+
А в моем случае для 3 строки 1 таблицы все-равно надо вывести значение, при этом в измерении Проекты должно быть значение "Нет данных". В само измерение Проекты я добавил такое значение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2017, 11:40 |
|
||
|
Связывание мер
|
|||
|---|---|---|---|
|
#18+
Коломиец Юрий, 3 строки 1 таблицы? Это что? Table1.Value_1? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2017, 14:47 |
|
||
|
Связывание мер
|
|||
|---|---|---|---|
|
#18+
SkyTod, 3 строка в таблице 1 с ID_1 = 3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2017, 15:20 |
|
||
|
Связывание мер
|
|||
|---|---|---|---|
|
#18+
Коломиец Юрий, Я так понимаю, нужно сделать меру на основе измерения? Это факт связь. https://msdn.microsoft.com/en-us/library/ms167409.aspx + IgnoreUnrelatedDimensions = false ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2017, 18:43 |
|
||
|
Связывание мер
|
|||
|---|---|---|---|
|
#18+
SkyTod, Нет, это не то. Во вложении картинка со схемой данных, использованием измерений и результатом, который получается. Красным прямоугольником обозначение проблемное место. В итогах значение равно 3, а по измерению сумма равна 2. А мне надо, чтобы строк было 3 и в первой колонке было 3 единицы. В измерении Project_Table_2 были значения "Проект 1", "Проект 2", "Нет данных" . Значение "Нет данных" соответствует 3 строке таблицы 1, ID_1 которого отсутствует в таблице 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2017, 10:36 |
|
||
|
Связывание мер
|
|||
|---|---|---|---|
|
#18+
SkyTod, В предыдущем сообщении картинка неверная. "Нет, это не то. Во вложении картинка со схемой данных, использованием измерений и результатом, который получается. Красным прямоугольником обозначение проблемное место. В итогах значение равно 3, а по измерению сумма равна 2. А мне надо, чтобы строк было 3 и в первой колонке было 3 единицы. В измерении Project_Table_2 были значения "Проект 1", "Проект 2", "Нет данных". Значение "Нет данных" соответствует 3 строке таблицы 1, ID_1 которого отсутствует в таблице 2." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2017, 10:38 |
|
||
|
Связывание мер
|
|||
|---|---|---|---|
|
#18+
Коломиец Юрий, Если я правильно понял, вам нужно указать: UnknownMember = Visible UnknownMemberName = Нет данных в свойствах измерения Project_Table_2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2017, 13:07 |
|
||
|
Связывание мер
|
|||
|---|---|---|---|
|
#18+
SkyTod, Указаны оба свойства. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2017, 13:34 |
|
||
|
Связывание мер
|
|||
|---|---|---|---|
|
#18+
Коломиец Юрий, KeyErrorAction = ConvertToUnknown? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2017, 12:49 |
|
||
|
Связывание мер
|
|||
|---|---|---|---|
|
#18+
SkyTod, Может тут все-таки надо делать ссылочное измерение, предварительно добавив в измерение Project_Table_2 атрибут FK_ID_1 со всеми возможными ID_1 из таблицы 1. Для записей ID_1, которых нет в таблице 2 значение атрибута Project сделать равным "Нет данных". Хотя это какой-то тупиковый путь получается и я как раз пытаюсь уйти от этого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2017, 13:22 |
|
||
|
Связывание мер
|
|||
|---|---|---|---|
|
#18+
Единственный вариант при котором я добился желаемого результата - это создание отдельного представления с полями ID_1 таблицы 1 и Project таблицы 2 через левую связь, добавив обработку поля Project на NULL. Затем на основании данного представления создал новое измерение, которое связал с мерами таблицы 1 и 2 через обычную связь по соответствующим полям. Но мне не нравится тот факт, что придется все измерения, которые будут относится к таблице 2 делать по такой же схеме. Я думаю, что должно быть другое решение, более простое и главное, правильное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2017, 10:50 |
|
||
|
Связывание мер
|
|||
|---|---|---|---|
|
#18+
Коломиец Юрий, Возможно, many2many обрезает что-то на уровне UnknownMember, сейчас нет времени пробовать у себя. Но советую все считать в DWH - не пожалеете. Ибо many2many это тормозная и сложная штука. Я его не используют именно из-за плохого опыта. Затем трудно самому разобрать, как оно работает, а кому-то другому объяснить - легче переписать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2017, 18:52 |
|
||
|
Связывание мер
|
|||
|---|---|---|---|
|
#18+
SkyTod, В целом все и так рассчитано на уровне хранилища. Здесь стоит задача объединить две таблицы показателей. А создавать на уровне хранилища общую таблицу показателей на мой взгляд не верно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2017, 11:09 |
|
||
|
Связывание мер
|
|||
|---|---|---|---|
|
#18+
SkyTod, Кроме того, если я правильно понял описание свойства UnknownMember, то оно работает со значениями NULL и вместо этого значения подставляет указанно значение, а не выводом строк, с которыми измерение не связано. Видимо из-за того, что в таблице 2 нет никакого указания на ID_1 = 3 таблицы 1, то такую строку для измерения Project вывести нельзя. Либо создавать какую-то сводную таблицу, где будут все возможные варианты таблицы 1 и таблицы 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2017, 11:34 |
|
||
|
|

start [/forum/topic.php?fid=49&msg=39387115&tid=1858404]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
145ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
| others: | 14ms |
| total: | 257ms |

| 0 / 0 |

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