Skapa effektiva beräkningar

När dina data inte erbjuder all information behöver du besvara dina frågor. Du kan till exempel skapa beräknade fält för att hjälpa till med analysen.

Inom ett beräknat fält kan du definiera en hårdkodad konstant (såsom en skattesats), göra mycket enkla matematiska operationer såsom subtraktion eller multiplikation (såsom intäkter minus kostnad), använda mer komplexa matematiska formler, utföra logiska tester (OM/DÅ, CASE), gör typkonverteringar, skicka uttryck till externa tjänster såsom R och mycket mer.

Det finns olika beräkningstyper i Tableau:

Grundläggande och aggregerade beräkningar: Dessa typer av beräkningar genereras som en del av frågan till den underliggande datakällan och beräknas i databasen. I allmänhet skalas grundläggande och aggregerade beräkningar mycket bra. Det finns även många tekniker för databasjustering som kan förbättra deras prestanda.

Tabellberäkningar: Dessa beräkningar beräknas av Tableau på frågans resultatuppsättning. Även om detta innebär mer arbete för Tableau görs tabellberäkningar i allmänhet över en mycket mindre uppsättning register än i den ursprungliga datakällan. Om tabellberäkningens prestanda är ett problem (möjligen på grund av att resultatuppsättningen som returneras till Tableau är för stor) kan du överväga att flytta tillbaka vissa delar av beräkningen till datakällans lager. Ett sätt att göra detta är att aggregera data och sedan utföra beräkningen på de aggregerade data.

LOD-uttryck (detaljnivå): LOD-uttryck genereras som en del av frågan till den underliggande datakällan och beräknas i databasen. De uttrycks som ett kapslat urval vilket innebär att de är beroende av databasprestandan. En tabellberäkning eller -kombination kan fungera bättre än ett LOD-uttryck och vice versa.

Om du tror att prestandan är långsam på grund av ett LOD-uttryck kan du försöka ersätta det med en tabellberäkning eller en datakombination för att se om prestandan förbättras. Se Exempel 2 i Tableaus åtgärdsordning för ett exempel.

LOD-uttryck kan påverkas av utsorterade kopplingar. Se därför över Anta referensintegritet för kopplingar om dina frågor går långsamt när du använder LOD-uttryck.

Se Tableau-faktabladet Understanding Level of Detail (LOD) Expressions (Förstå LOD-uttryck (detaljnivå)) för mer information.

Använd parametrar för villkorliga beräkningar

En vanlig teknik i Tableau är att visa en parameterkontroll för att låta användare välja ett värde som fastställer hur en beräkning utförs. Vanligtvis är det logiskt att skapa parametern som en strängtyp för att ge användaren lättförståeliga alternativ. Numeriska beräkningar är dock mycket snabbare än strängberäkningar. Nyttja därför funktionen Visa som i parametrar: det vill säga visa textetiketter men använd underliggande heltalsvärden för beräkningslogiken. Se Skapa parametrar för mer information.

Konvertera datumfält

Användare har ofta datumdata som inte lagras i inbyggda datumformat. Ett datum kan till exempel vara en sträng eller en numerisk tidsstämpel. Du kan använda funktionen DATEPARSE om dina data har stöd för den. Den här funktionen är tillgänglig för icke föråldrade versioner av Microsoft Excel och textfilanslutningar, MySQL, Oracle, PostgreSQL och datakällor till Tableau-dataextrakt. I annat fall kan du ändra fältet till en datumsträng såsom ”2012-01-01”. ISO-strängar är att föredra då de inte är språkspecifika. Skicka sedan värdet till funktionen DATE. Om de ursprungliga data är ett numeriskt fält är det extremt ineffektivt att först konvertera det till en sträng och sedan till ett datum. Det är mycket bättre att behålla data som numeriska och använda DATEADD och datera exakta värden för att utföra beräkningen. Prestandavinsterna kan vara betydande med stora datauppsättningar. Se Datumfunktioner för mer information om dessa funktioner.

Använd logiska CASE-satser

När du arbetar med komplexa logiska satser kan CASE-satser vara snabbare än IF- eller ELSEIF-satser.

Kom ihåg att ELSEIF är snabbare än ELSE IF, då en kapslad IF-sats beräknar en andra IF-sats istället för att beräknas som en del av den första.

Se faktabladet Utforma effektiva arbetsböcker för mer information.

Aggregera mätvärden

Se till att du arbetar med aggregerade mätvärden om vyerna du skapar är långsamma. Med uppdelade data kanske du försöker se många rader med data samtidigt. Du kan reducera antalet rader genom att aggregera data. Välj Analys > Aggregera mätvärden för att göra detta.

Tips på beräkning

Det finns massor av små saker du kan göra som kan förbättra beräkningsprestandan.

  • Unika räknevärden är en av de långsammaste typerna av aggregering i nästan alla datakällor. Använd aggregeringen COUNTD sparsamt.

  • Att använda parametrar med ett brett spektrum av inverkan (till exempel i en anpassad SQL-sats) kan påverka cacheminnets prestanda.

  • Filtrering på komplexa beräkningar kan potentiellt göra att index missas i underliggande data.

  • Skriptfunktioner såsom RAWSQL och SCRIPT_* för integrering med externa tjänster kan vara långsamma. Detta gäller särskilt om det finns många värden som måste skickas från/till DBMS/R-servern.

  • Använd endast NOW om du behöver LOD (detaljnivå) på tidsstämpeln. Använd TODAY för att beräkna datumnivå.

  • Kom ihåg att alla grundläggande beräkningar överförs till underliggande data – även bokstavliga beräkningar såsom etikettsträngar. Om du behöver skapa etiketter (till exempel för kolumnrubriker) och dina data är mycket stora bör du skapa en enkel text/Excel-fil med datakällan, som endast innehåller en post, för att förvara dem så att de inte lägger till för stora värden på den stora datakällan.

Tack för din feedback!Din feedback har skickats in. Tack!