Az Excel nem kezeli a szakadozott hierarchiákat. Vagy mégis?

Régóta akartam már írni a témáról, és most Chris Webb cikke megadta hozzá a kezdő lökést.

Az Excel 2007 néha jól jeleníti meg a szakadozott hierarchiákat, néha nem. Első ránézésre nem is érti az ember, hogy amit egyszer jól csinál másszor miért nem. Aztán ha kicsit utánajár a témának, akkor még jobban elkeseredik. A leírt működés ugyanis nem egy hiba következménye, hanem az Excel alapból nem támogatja a szakadozott hierarchiák megjelenítését. Miért működik akkor néha mégis jól? Ennek járunk most utána.

Az Excel alapértelmezettként nem támogatja a szakadozott hierarchiák kezelését. (Szakadozott egy hierarchia, ha annak legalább egy elemének szülője nem közvetlenül az elem fölötti szinten helyezkedik el:)

Szakadozott (ragged) hierarchia

Szakadozott (ragged) hierarchia

Szóval az Excel alapértelmezettként nem támogatja az ilyen szakadozott hierarchiák megjelenítését. Helyette kiegyensúlyozza őket,(kiolvassa a dimenzió tábla megye szintjére írt, vagy nem írt értéket) és az alábbi módon jeleníti meg hierarchiát:

Kiegyensúlyozott hierarchia

Kiegyensúlyozott hierarchia

Miért nem támogatja az Excel 2007 a szakadozott hierarchiák megjelenítését?

Ennek rendkívül egyszerű oka van: Az Analysis Services felé küldött connection string-be beégeti az MDX compatibility = 1 beállítást. Ennek következtében az Analysis Services nem a szakadozott hierarchiát küldi vissza az Excelnek, hanem a teljesen kiegyensúlyozottat. (A szakadozott hierarchiát az MDX compatibility=2 beállítás adná vissza)

Írjuk át a connection stringet!

A connection stringet át tudjuk írni, de az Excel sajnos nem fogja figyelembe venni az MDX compatibility 2-re történő átállítást.

Akkor miért jeleníti meg néha helyesen az Excel 2007 a szakadozott hierarchiát?

Nem tudom. Az Excel belülről oldja meg a problémát. Tapasztalatból tudjuk, hogy az Excel 2007 jól jeleníti meg a hierarchiát, ha

  1. Ha nincs testvére a levél szinten elhelyezkedő elemnek (pl Budapestnek) ÉS
  2. a szülő szint HideMemberIf tulajdonságot OnlyChildWithParentsName-re állítottuk az Analysis Servces-ben ÉS
  3. a Levél szinten elhelyezkedő elemet húztuk fel a lyuk kitömésére a dimenziótábla feltöltésekor. (Elvileg megtehetnénk, hogy Magyarországot húznánk le megye szintre, de ebben az esetben az Excel már nem fog megbirkózni a placeholder elem elrejtésével.)

Vegye figyelembe a fentieket az adatbázis tervezésekor és takarítson meg jó néhány óra szemöldökráncolást

 

Kővári Attila - BI projekt

Önkiszolgáló BI WORKSHOP

Tudjon meg többet az itt elhangzottakról! Jelentkezzen a 2024. november 14-15.-i Excel Power Pivot videókurzusra!  Részletek >>

 

Új hozzászólás