2014-11-14 2 views
2

Я пытаюсь объединить 2 источника данных в Таблица.Задача расчета смешанной агрегации таблицы

Когда поле вносятся из вторичного источника данных в вычисляемое поле в первичном источнике данных он силы мне агрегировать в этой точке.

Мой расчет является умножение, а когда Tableau подитоги, это делает его интересным способом:

Formula = SUM(primary.a) x MAX(secondary.b) 

Expected subtotal method = SUM(SUM(primary.a) x MAX(secondary.b)) 

Actual behavior seen = SUM(SUM(primary.a)) x MAX(secondary.b) 

Он подытогами в поле и затем применяет Max B умножение после.

Любые идеи, как контролировать способ расчета?

ответ

1

Был точно такой же вопрос несколько дней назад. Фактическое поведение является правильным, потому что оно зависит от разделов (размеров на рабочем листе), которые вы используете. Позволь мне объяснить. Предположим, у вас есть таблица A и таблица B:

A:

Id MeasureA 
1 10 
2 20 
3 15 
4 25 
5 10 
6 5 

B:

Id MeasureB 
1 5 
2 10 
3 20 
4 5 
5 15 
6 25 

Теперь, если вы перетащите Id к строкам, и ваша формула для столбцов (в виде гистограммы) , вы должны иметь что-то вроде:

Id MeasureB 
1 50 
2 200 
3 300 
4 125 
5 150 
6 125 

Для первой линии, вы будете иметь SUM (A.MeasureA) = 10, и MAX (B.MeasureB) = 5. И умножение равно 50

Теперь, если вы удалите Id из строк, вы получите SUM (A.MeasureA) = 85 и MAX (B.MeasureB) = 25. И умножение будет 2,125, а не 950, которые вы ожидаете (сумма значений в моей третьей таблице)

Помните, что агрегации происходят на уровне размеров, явно указанных на листе.

Чтобы получить результаты, вы должны присоединиться к столам, прежде чем подключаться к Tableau. Думаю, не очень сложно сделать SQL. Невозможно получить то, что вы хотите (только в агрегации самого низкого уровня) только с помощью смешивания данных