Таким образом, похоже, что первый элемент в поле используется для определения типа.
Вы можете confirmif, что, безусловно, имеет место, выполнив следующие действия, и если оба теперь типа двойной, то да, что верхняя пустая клетка создает тип объекта:
select
NON EMPTY
Hierarchize(
Crossjoin(
{[Measures].[engagement]},
Union(
Union(
Union(
Union(
Crossjoin(
{[structure].[All structures]},
{[temps].[2016]}
),
Crossjoin(
{[structure].[All structures]},
{[temps].[2015]}
)
),
Crossjoin(
{[structure].[All structures]},
{[temps].[2014]}
)
),
Crossjoin(
{[structure].[All structures]},
{[temps].[2013]}
)
),
Crossjoin(
{[structure].[All structures]},
{[temps].[2012]}
)
)
)
) ON COLUMNS,
NON EMPTY
{
//[soa].[00-01-0-030-00000], //<<commented out
[soa].[00-01-0-100-00000],
[soa].[00-01-0-120-00000],
[soa].[00-01-0-680-00000],
[soa].[00-01-0-710-00000],
[soa].[00-01-0-720-00000],
[soa].[00-01-0-730-00000]} ON ROWS
from [cubExecution];
Пустое пространство, как правило, ваш друг в кубе и запрос, поскольку он заставляет вещи выполняться быстро, поэтому принудительное удаление нуля - это не очень хорошая практика, но вы можете изменить значение пустым до нуля, но теперь вы получите много ячеек столбцов, которые раньше не существовали, но ваша проблема с типизацией может фиксироваться?
WITH
[Measures].[engagementX] AS
CoalesceEmpty([Measures].[engagement],0)
SELECT
NON EMPTY
Hierarchize(
Crossjoin(
{[Measures].[engagementX]},
Union(
Union(
Union(
Union(
Crossjoin(
{[structure].[All structures]},
{[temps].[2016]}
),
Crossjoin(
{[structure].[All structures]},
{[temps].[2015]}
)
),
Crossjoin(
{[structure].[All structures]},
{[temps].[2014]}
)
),
Crossjoin(
{[structure].[All structures]},
{[temps].[2013]}
)
),
Crossjoin(
{[structure].[All structures]},
{[temps].[2012]}
)
)
)
) ON COLUMNS,
NON EMPTY
{
[soa].[00-01-0-030-00000],
[soa].[00-01-0-100-00000],
[soa].[00-01-0-120-00000],
[soa].[00-01-0-680-00000],
[soa].[00-01-0-710-00000],
[soa].[00-01-0-720-00000],
[soa].[00-01-0-730-00000]} ON ROWS
from [cubExecution];
Непонятно, что вам нужно: что вы подавали? –
Поле, представляющее меру для столбца 2013. – pheromix