Hoe werken LOD-expressies in Tableau?



Tableau LOD-expressies vertegenwoordigen een elegante en krachtige manier om vragen te beantwoorden met meerdere granulariteitsniveaus in één visualisatie.

Het doel van elke BI-tool is om te geven Gegevensanalyse een betere doorstroming. Als iemand als professional de moeilijkheid ondervindt om de tool te gebruiken bij het oplossen van een probleem, is de stroomtoestand onderbroken. Een veel voorkomende oorzaak van dit probleem is de noodzaak om te werken met gegevens die zijn samengevoegd tot verschillende Detailniveau in Tableau (LOD) .

Tableau dat voor de zesde keer op rij bovenop de stapel wordt geplaatst, in het Magic Quadrant van Gartner, zegt zeker iets over de vraag in de markt. Dit is waarschijnlijk de beste tijd om .





Deze blog zal je helpen LOD-uitdrukkingen te begrijpen en de volgende onderwerpen te bespreken:



leren ssis stap voor stap

Tableau LOD: Waarom heb je LOD nodig?

Vaak zijn er vragen die je zeker tegenkomt bij het analyseren van data. Deze vragen zijn vaak eenvoudig te stellen, maar moeilijk te beantwoorden. Ze klinken vaak als:

Vragen in Tableau - Tableau LOD - EdurekaOm dit soort vragen te beantwoorden, werd een nieuwe syntaxis geïntroduceerd Detailniveau in Tableau 9.0. Deze nieuwe syntaxis vereenvoudigde en breidde de rekentaal van Tableau uit door het mogelijk te maken om deze vragen rechtstreeks te beantwoorden.

Tableau LOD: Wat is LOD?

LOD-expressies vertegenwoordigen een elegante en krachtige manier om vragen te beantwoorden met meerdere granulariteitsniveaus in een enkele visualisatie.



Met het detailniveau in Tableau- of LOD-expressies kun je waarden berekenen op gegevensbronniveau en op visualisatieniveau. LOD-expressies geven u echter nog meer controle over het granulariteitsniveau dat u wilt berekenen. Ze kunnen worden uitgevoerd op een gedetailleerder niveau (INCLUDE berekening), a minder korrelig niveau (EXCLUDE berekening), of een geheel onafhankelijk mild l (VASTE berekening).

Tableau LOD: Expressies op rijniveau en weergaveniveau

Rij niveau

In Tableau, uitdrukkingen die verwijzen naar niet geaggregeerd gegevensbronkolommen worden berekend voor elke rij in de onderliggende tabel. In dit geval is de dimensionaliteit van de uitdrukking rijniveau . Een voorbeeld van een expressie op rijniveau is:

[Verkoop] ​​/ [Winst]

Deze berekening wordt in elke rij van de database geëvalueerd. De verkoopwaarde in elke rij wordt gedeeld door de winstwaarde in die rij, waardoor een nieuwe kolom ontstaat met het resultaat van de vermenigvuldiging (een winstverhouding).

Als u een berekening met deze definitie maakt, slaat u deze op met de naam [ProfitRatio], en sleep het vervolgens van het Gegevensvenster op een plank, Tableau zal doorgaans het berekende veld voor de weergave aggregeren:

SUM [ProfitRatio]

Bekijk niveau

Uitdrukkingen daarentegen die verwijzen naar geaggregeerd gegevensbronkolommen worden berekend met de dimensionaliteit die wordt gedefinieerd door de dimensies in de weergave. In dit geval is de dimensionaliteit van de uitdrukking weergaveniveau. Een voorbeeld van een expressie op weergaveniveau is:

SUM (verkoop) / SUM (winst)

Als u deze berekening naar een plank sleept (of deze rechtstreeks op een plank typt als een ad-hoc berekening), plaatst Tableau deze in een AGG-functie :

AGG (SUM (verkoop) / SUM (winst))

Dit is wat bekend staat als een Geaggregeerde berekening .

Tableau LOD: Aggregatie en LOD-expressies

LOD-expressie is grover dan het detailniveau

Een uitdrukking heeft een grover detailniveau dan de weergave wanneer deze verwijst naar een subset van de afmetingen in het uitzicht.

Voor een weergave die bijvoorbeeld de afmetingen [Categorie] en [Segment], zou je een detailniveau in Tableau kunnen creëren dat slechts één van deze dimensies gebruikt:

{FIXED [Segment]: SUM ([Sales])}

In dit geval heeft de uitdrukking een grover detailniveau dan de weergave. Het baseert zijn waarden op één dimensie ([Segment]), terwijl de weergave haar mening baseert op twee dimensies ([Segment] en [Categorie]).

Het resultaat is dat het gebruik van het detailuitdrukkingsniveau in de weergave ervoor zorgt dat bepaalde waarden worden gerepliceerd - dat wil zeggen: to verschijnen meerdere keren .

LOD-expressie is fijner dan het detailniveau

Een uitdrukking heeft een fijner detailniveau dan de weergave wanneer deze verwijst naar een superset van de afmetingen in het uitzicht.

Wanneer je zo'n uitdrukking in de weergave gebruikt, zal Tableau resultaten tot op weergaveniveau aggregeren. Het volgende detailniveau in Tableau verwijst bijvoorbeeld naar twee dimensies:

{FIXED [Segment], [Category]: SUM ([Sales])}

Wanneer deze uitdrukking wordt gebruikt in een weergave die alleen [Segment] als detailniveau heeft, worden de waarden moet worden geaggregeerd . Dit is wat u zou zien als u die uitdrukking naar een plank zou slepen:

wat is het verschil tussen een abstracte klasse en een interface?

AVG ([{FIXED [Segment]], [Category]]: SUM ([Sales]])}])

Een aggregatie (in dit geval gemiddelde) wordt automatisch toegewezen door Tableau. U kunt de aggregatie indien nodig wijzigen.

Een LOD-expressie toevoegen aan de weergave

Of een detailniveau in Tableau-expressie wordt geaggregeerd of gerepliceerd in de weergave, wordt bepaald door de expressie type en granulariteit .

  • INCLUDE-expressies hebben hetzelfde detailniveau als de weergave of een fijner detailniveau dan de weergave. Daarom worden waarden nooit gerepliceerd.
  • VASTE uitdrukkingen kunnen een fijner detailniveau hebben dan de weergave, een grover detailniveau of hetzelfde detailniveau. De noodzaak om de resultaten van een VAST detailniveau samen te voegen, hangt af van de dimensies in de weergave.
  • EXCLUDE-expressies zorgen er altijd voor dat gerepliceerde waarden in de view verschijnen. Wanneer berekeningen met EXCLUDE-niveau van detailuitdrukkingen op een plank worden geplaatst, gebruikt Tableau standaard de ATTR-aggregatie in tegenstelling tot SUM of AVG, om aan te geven dat de uitdrukking niet daadwerkelijk wordt geaggregeerd en dat het wijzigen van de aggregatie geen effect heeft op de weergave.

Uitdrukkingen op het niveau van detail worden altijd automatisch samengevoegd wanneer ze aan een plank in de weergave worden toegevoegd, tenzij ze als dimensies worden gebruikt.

Tableau LOD: Filters en LOD-expressies

De afbeelding hier toont devolgorde van uitvoering van filters van boven naar beneden.De tekst aan de rechterkant laat zien waar de LOD-expressies in deze volgorde worden geëvalueerd.

Extractiefilters (in oranje) zijn alleen relevant als je een Tableau Extract maakt vanuit een gegevensbron. Filters voor tabelberekeningen (donkerblauw) worden toegepast nadat berekeningen zijn uitgevoerd en verbergen daarom markeringen zonder de onderliggende gegevens die in de berekeningen worden gebruikt uit te filteren.

VASTE berekeningen worden toegepast vóór dimensiefilters, dus tenzij u de velden op uw filterplank promoveert om de weergaveprestaties te verbeteren met contextfilters, worden ze genegeerd.

Tableau LOD: Soorten LOD-expressies

INCLUDE Berekening

INCLUDE berekent waarden met behulp van de opgegeven afmetingen, naast de afmetingen in de weergave. Dit niveau van detailuitdrukking is vooral handig wanneer u een dimensie opneemt die niet in de weergave staat.

Bijvoorbeeld: {INCLUDE [Customer Name]: SUM ([Sales])}

EXCLUDE Berekening

EXCLUDE verwijdert expliciet dimensies uit de uitdrukking, dat wil zeggen, ze trekken dimensies af van het detailniveau. Dit detailniveau in Tableau is het handigst om een ​​dimensie in de weergave te elimineren.

Bijvoorbeeld: {EXCLUDE [regio]: SUM ([verkoop])}

VASTE berekening

FIXED berekent waarden met behulp van de opgegeven afmetingen zonder verwijzing naar het detailniveau, dat wil zeggen, zonder verwijzing naar andere afmetingen in de weergave. Dit niveau van detailuitdrukking negeert ook alle filters in de weergave, behalve contextfilters, gegevensbronfilters en extractiefilters.

Bijvoorbeeld: {FIXED [Region]: SUM ([Sales])}

Tableau LOD: LOD-expressies maken

Syntaxis van een LOD-expressie

Een detailuitdrukking heeft de volgende structuur:

OMVATTEN

Stap 1: Stel de visualisatie in

  1. Open Tableau Desktop en maak verbinding met het Voorbeeld-superstore opgeslagen gegevensbron.
  2. Navigeer naar een nieuw werkblad.
  3. Van de Gegevens sleept u onder Afmetingen Regio naar de Kolommen Plank.
  4. Van de Gegevens sleept u onder Metingen verkoop naar de Rijen Plank. Er verschijnt een staafdiagram met de som van de verkopen voor elke regio.

Stap 2: Maak de LOD-expressie

In plaats van de som van alle verkopen per regio, wil je misschien ook de gemiddelde verkopen per klant per regio zien. U kunt hiervoor een LOD-uitdrukking gebruiken.

  1. Selecteer Analyse > Maak een berekend veld.
  2. Doe het volgende in de Berekeningseditor die wordt geopend:
    • Noem de berekening: Verkoop per klant.
    • Voer de volgende LOD-expressie in:

      {INCLUDE [Customer Name]: SUM ([Sales])}

  3. Als u klaar bent, klikt u op OK. De nieuw gemaakte LOD-expressie wordt toegevoegd aan het gegevensvenster onder Metingen.

Stap 3: Gebruik de LOD-uitdrukking in de visualisatie

  1. Van de Gegevens sleept u onder Metingen Verkoop per klant naar de Rijen plank en plaats deze links van SUM (Verkoop).
  2. Klik met de rechtermuisknop op de plank Rijen Verkoop per klant en selecteer Maatregel (som) > Gemiddelde. U kunt nu zowel de som van alle verkopen als de gemiddelde verkopen per klant voor elke regio zien. U kunt bijvoorbeeld zien dat in de regio Centraal de omzet ongeveer bedroeg 500.000 USD met een gemiddelde verkoop voor elke klant van ongeveer 800 USD .

Tableau LOD: Gegevensbronnen die LOD-expressies ondersteunen

Databron Ondersteund / niet ondersteund
Actian VectorwiseNiet ondersteund.
Amazon EMR Hadoop HiveOndersteunde Hive 0.13 en hoger.
Amazon RedshiftOndersteund.
Aster-databaseOndersteunde versie 4.5 en hoger.
Cloudera HadoopOndersteunde Hive 0.13 en hoger.
Cloudera ImpalaOndersteunde Impala 1.2.2 en hoger.
Kubussen (multidimensionale gegevensbronnen)Niet ondersteund.
DataStax EnterpriseNiet ondersteund.
EXASOLOndersteund.
VuurvogelOndersteunde versie 2.0 en hoger.
Generieke ODBCBeperkt. Hangt af van de gegevensbron.
Google Big QueryOndersteund voor standaard SQL, niet voor legacy.
IBM DB2Ondersteunde versie 8.1 en hoger.
MarkLogicOndersteunde versie 7.0 en hoger.
SAP HANAOndersteund.
SAP Sybase ASEOndersteund.
SAP Sybase IQOndersteunde versie 15.1 en hoger.
Spark SQLOndersteund.
SplunkNiet ondersteund.
Data Extract-tabelOndersteund.
TeradataOndersteund.
VerticaOndersteunde versie 6.1 en hoger.
Microsoft AccessNiet ondersteund.
Microsoft Jet-gebaseerde verbindingenNiet ondersteund.
Hortonworks Hadoop HiveOndersteunde Hive 0.13 en hoger.

Op versie 1.1 van HIVE zijn LOD-expressies die cross-joins produceren niet betrouwbaar.

IBM BigInsightsOndersteund.
Microsoft SQL ServerOndersteunde SQL Server 2005 en later.
MySQLOndersteund.
IBM PDA (Netezza)Ondersteunde versie 7.0 en hoger.
OrakelOndersteunde versie 9i en hoger.
Actian Matrix (ParAccel)Ondersteunde versie 3.1 en hoger.
Cruciale GreenplumOndersteunde versie 3.1 en hoger.
PostgreSQLOndersteunde versie 7.0 en hoger.
Vooruitgang OpenEdgeOndersteund.

Tableau LOD: Tabelberekeningen versus LOD

LOD-expressies zijn geen nieuwe vorm van tabelberekeningen. Hoewel ze veel tabelberekeningen kunnen vervangen, is hun belangrijkste doel om nieuwe mogelijkheden te openen.LOD-expressies en tabelberekeningen werken anders.

Tabelberekeningen LOD-uitdrukkingen
Tabelberekeningen worden gegenereerd door Query-resultaten .LOD-expressies worden gegenereerd als onderdeel van de query naar het onderliggende gegevensbron . Ze worden uitgedrukt als een geneste selectie, dus afhankelijk van de DBMS-prestaties.
Tabelberekeningen kunnen alleen resultaten opleveren die gelijk of minder korrelig zijn dan de genoemde LOD.LOD kan resultaten opleveren onafhankelijk van genoemde LOD .
Dimensies die de bewerkingen van een tabel bepalen, staan ​​los van de berekeningssyntaxis.Dimensies die de bewerkingen van een LOD-expressie regelen, zijn ingebed in de uitdrukking zelf.
Tabelberekeningen worden gebruikt als geaggregeerde maatregelen .LOD-expressies kunnen in andere constructies worden gebruikt.
Filters op tabelberekeningen werken als een ZICH VERSTOPPEN .Filters op de LOD fungeren als een UITSLUITEN .

Tableau LOD: Beperkingen van LOD

Hieronder volgen de beperkingen die van toepassing zijn op LOD-expressies.

  • LOD-uitdrukkingen die verwijzen naar drijvende-kommagetallen, hebben de neiging zich onbetrouwbaar te gedragen wanneer ze worden gebruikt in een weergave die een vergelijking van de waarden in de uitdrukking vereist.
  • LOD wordt niet weergegeven op de pagina Gegevensbron.
  • Gebruik altijd de parameternaam en niet de parameterwaarde wanneer u verwijst naar een parameter in een dimensionaliteitsverklaring.
  • Bij gegevensovervloeiing moet het koppelingsveld van de primaire gegevensbron in de weergave staan ​​voordat u een Level Of Detail-expressie uit de secundaire gegevensbron kunt gebruiken.

Bovendien hebben sommige gegevensbronnen complexiteitslimieten. Tableau zal berekeningen voor deze databases niet uitschakelen, maar queryfouten zijn mogelijk als berekeningen te complex worden.