У меня есть две таблицы данных:
1.Fact:
ImaginaryFact =
DATATABLE (
"FruitKey", INTEGER,
"Amount", INTEGER,
{
{ 1, 1 },
{ 1, 5 },
{ 1, 2 },
{ 2, 2 },
{ 2, 3 },
{ 3, 4 },
{ 3, 5 },
{ 4, 2 },
{ 5, 2 },
{ 6, 3 },
{ 7, 8 }
} )
2.Dimension:
Dimension =
DATATABLE (
"FruitKey", INTEGER,
"Fruit", STRING,
"Colour", STRING,
{
{ 1, "Apple", "Green" },
{ 6, "Apple", "Blue" },
{ 7, "Apple", "Red" },
{ 2, "Pear", "Pink" },
{ 3, "Orange", "Green" },
{ 4, "Kiwi", "Green" },
{ 5, "Mango", "Green" }
} )
С этим простым соединением:
Затем я создал эти две меры:
Amount = SUM( ImaginaryFact[Amount] )
Rank Fruity =
IF(
ISFILTERED( 'Dimension'[Colour] ),
RANKX( ALLSELECTED( 'Dimension'[Colour] ), [Amount] ),
IF(
ISFILTERED( 'Dimension'[Fruit] ),
RANKX( ALLSELECTED( 'Dimension'[Fruit] ), [Amount] )
)
)
Если я создаю «Матрицу», то мера «Ранг Фруктовый» означает, что я могу перемещаться вверх и вниз между Фруктами и Цветом, и ранг все еще работает И он удаляет строку «Всего», которую я хотел, так как эта строка не фильтруется:
ЗДЕСЬ ПРОБЛЕМА
Когда я углубляюсь в иерархию, я хочу вернуть пустые значения для промежуточных итогов, так же как пустая строка Итого ...