Dela via


Analys mellan klientorganisationer med extraherade data – en klientorganisationsapp

Gäller för:Azure SQL Database

I den här självstudien går du igenom ett fullständigt analysscenario för en enda klientimplementering. Scenariot visar hur analys kan göra det möjligt för företag att fatta smarta beslut. Med hjälp av data som extraherats från varje klientdatabas använder du analys för att få insikter om klientbeteende, inklusive deras användning av exempelprogrammet Wingtip Tickets SaaS. Det här scenariot omfattar tre steg:

  1. Extrahera data från varje klientdatabas och Läs in i ett analysarkiv.
  2. Transformera extraherade data för analysbearbetning.
  3. Använd business intelligence-verktyg för att ta fram användbara insikter, som kan vägleda beslutsfattandet.

I den här självstudiekursen får du lära du dig att:

  • Skapa klientanalysarkivet för att extrahera data till.
  • Använd elastiska jobb för att extrahera data från varje klientdatabas till analysarkivet.
  • Optimera extraherade data (omorganisera till ett star-schema).
  • Fråga analysdatabasen.
  • Använd Power BI för datavisualisering för att markera trender i klientdata och rekommendera förbättringar.

Diagram shows an overview of the architecture used for this article.

Analysmönster för offlineklientorganisation

SaaS-program med flera klientorganisationer har vanligtvis en stor mängd klientdata som lagras i molnet. Dessa data ger en omfattande källa till insikter om driften och användningen av ditt program och beteendet hos dina klienter. Dessa insikter kan vägleda funktionsutveckling, användbarhetsförbättringar och andra investeringar i appen och plattformen.

Det är enkelt att komma åt data för alla klienter när alla data bara finns i en databas med flera klientorganisationer. Men åtkomsten är mer komplex när den distribueras i stor skala över potentiellt tusentals databaser. Ett sätt att tämja komplexiteten och minimera effekten av analysfrågor på transaktionsdata är att extrahera data till en specialdesignad analysdatabas eller ett informationslager.

I den här självstudien presenteras ett fullständigt analysscenario för Wingtip Tickets SaaS-programmet. Först används elastiska jobb för att extrahera data från varje klientdatabas och läsa in dem i mellanlagringstabeller i ett analysarkiv. Analysarkivet kan antingen vara en SQL Database eller en dedikerad SQL-pool. För storskalig dataextrahering rekommenderas Azure Data Factory .

Därefter omvandlas aggregerade data till en uppsättning star-schema-tabeller . Tabellerna består av en central faktatabell plus relaterade dimensionstabeller. För Wingtip-biljetter:

  • Den centrala faktatabellen i star-schema innehåller biljettdata.
  • Dimensionstabellerna beskriver platser, händelser, kunder och inköpsdatum.

Tillsammans möjliggör de centrala fakta- och dimensionstabellerna effektiv analytisk bearbetning. Stjärnschemat som används i den här självstudien visas i följande bild:

architectureOverView

Slutligen efterfrågas analysarkivet med Hjälp av Power BI för att belysa insikter om klientbeteende och deras användning av Wingtip Tickets-programmet. Du kör frågor som:

  • Visa den relativa populariteten för varje plats
  • Markera mönster i biljettförsäljning för olika händelser
  • Visa den relativa framgången för olika arenor när det gäller att sälja ut sitt evenemang

Att förstå hur varje klientorganisation använder tjänsten används för att utforska alternativ för att tjäna pengar på tjänsten och förbättra tjänsten för att hjälpa klientorganisationer att bli mer framgångsrika. Den här självstudien innehåller grundläggande exempel på de typer av insikter som kan hämtas från klientdata.

Konfigurera

Förutsättningar

Se till att följande förhandskrav är slutförda för att kunna slutföra den här guiden:

  • Wingtip Tickets SaaS-databasen per klientorganisation distribueras. Information om hur du distribuerar på mindre än fem minuter finns i Distribuera och utforska Wingtip SaaS-programmet
  • Wingtip Tickets SaaS Database Per Tenant-skript och programkällans källkod laddas ned från GitHub. Se nedladdningsinstruktioner. Se till att avblockera zip-filen innan du extraherar dess innehåll. Se den allmänna vägledningen för steg för att ladda ned och avblockera Wingtip Tickets SaaS-skript.
  • Power BI Desktop är installerat. Ladda ned Power BI Desktop
  • Batchen med ytterligare klienter har etablerats, se självstudien Etablera klientorganisationer.
  • Ett jobbkonto och en jobbkontodatabas har skapats. Se lämpliga steg i självstudien Schemahantering.

Skapa data för demonstrationen

I den här självstudien utförs analys på biljettförsäljningsdata. I det aktuella steget genererar du biljettdata för alla klienter. Senare extraheras dessa data för analys. Se till att du har etablerat batchen med klienter enligt beskrivningen tidigare, så att du har en meningsfull mängd data. En tillräckligt stor mängd data kan exponera en rad olika biljettköpsmönster.

  1. I PowerShell ISE öppnar du ...\Learning Modules\Operational Analytics\Tenant Analytics\Demo-TenantAnalytics.ps1 och anger följande värde:
    • = $DemoScenario 1 Köp biljetter till evenemang på alla platser
  2. Tryck på F5 för att köra skriptet och skapa inköpshistorik för biljetter för varje händelse på varje plats. Skriptet körs i flera minuter för att generera tiotusentals biljetter.

Distribuera analysarkivet

Det finns ofta många transaktionsdatabaser som tillsammans innehåller alla klientdata. Du måste aggregera klientdata från de många transaktionsdatabaserna till ett analysarkiv. Aggregeringen möjliggör effektiv datafråga. I den här självstudien används en Azure SQL Database för att lagra aggregerade data.

I följande steg distribuerar du analysarkivet, som kallas tenantanalytics. Du distribuerar också fördefinierade tabeller som fylls i senare i självstudien:

  1. I PowerShell ISE öppnar du ...\Learning Modules\Operational Analytics\Tenant Analytics\Demo-TenantAnalytics.ps1
  2. Ange den $DemoScenario variabeln i skriptet så att den matchar ditt val av analysarkiv:
    • Om du vill använda SQL Database utan kolumnarkiv anger du $DemoScenario = 2
    • Om du vill använda SQL Database med kolumnarkivet anger du $DemoScenario = 3
  3. Tryck på F5 för att köra demoskriptet (som anropar skriptet Deploy-TenantAnalytics<XX.ps1>) som skapar klientanalysarkivet.

Nu när du har distribuerat programmet och fyllt det med intressanta klientdata använder du SQL Server Management Studio (SSMS) för att ansluta klientorganisationer1-dpt-User><- och catalog-dpt-User-servrar<> med hjälp av Inloggning = utvecklare, Lösenord = P@ssword1. Mer vägledning finns i introduktionsguiden.

Screenshot that shows the information needed to connect to SQL Server.

Utför följande steg i Object Explorer:

  1. Expandera klientorganisationen1-dpt-User-servern><.
  2. Expandera noden Databaser och se listan över klientdatabaser.
  3. Expandera servern catalog-dpt-User><.
  4. Kontrollera att du ser analysarkivet och jobaccount-databasen.

Se följande databasobjekt i SSMS Object Explorer genom att expandera analysarkivnoden:

  • Tables TicketsRawData och EventsRawData innehåller rådata som extraherats från klientdatabaserna.
  • Tabellerna star-schema är fact_Tickets, dim_Customers, dim_Venues, dim_Events och dim_Dates.
  • Den lagrade proceduren används för att fylla i star-schema-tabellerna från rådatatabellerna.

Screenshot of the database items shown in the SSMS Object Explorer.

Extrahering av data

Skapa målgrupper

Innan du fortsätter kontrollerar du att du har distribuerat jobbkontot och jobbkontodatabasen. I nästa uppsättning steg används elastiska jobb för att extrahera data från varje klientdatabas och för att lagra data i analysarkivet. Sedan strimlar det andra jobbet data och lagrar dem i tabeller i star-schema. Dessa två jobb körs mot två olika målgrupper, nämligen TenantGroup och AnalyticsGroup. Extraheringsjobbet körs mot TenantGroup, som innehåller alla klientdatabaser. Fragmenteringsjobbet körs mot AnalyticsGroup, som bara innehåller analysarkivet. Skapa målgrupperna med hjälp av följande steg:

  1. I SSMS ansluter du till databasen jobaccount i catalog-dpt-User><.
  2. I SSMS öppnar du ...\Learning Modules\Operational Analytics\Tenant Analytics\ TargetGroups.sql
  3. Ändra variabeln @User överst i skriptet och ersätt <User> med det användarvärde som användes när du distribuerade Wingtip SaaS-appen.
  4. Tryck på F5 för att köra skriptet som skapar de två målgrupperna.

Extrahera rådata från alla klienter

Omfattande dataändringar kan inträffa oftare för biljett- och kunddata än för händelse- och platsdata . Överväg därför att extrahera biljett- och kunddata separat och oftare än du extraherar händelse- och platsdata. I det här avsnittet definierar och schemalägger du två separata jobb:

  • Extrahera biljett- och kunddata.
  • Extrahera händelse- och platsdata.

Varje jobb extraherar sina data och publicerar dem i analysarkivet. Där strimlar ett separat jobb de extraherade data i analysstjärnans schema.

  1. I SSMS ansluter du till databasen jobaccount i catalog-dpt-User-servern<>.
  2. I SSMS öppnar du ...\Learning Modules\Operational Analytics\Tenant Analytics\ExtractTickets.sql.
  3. Ändra @User överst i skriptet och ersätt <User> med användarnamnet som användes när du distribuerade Wingtip SaaS-appen
  4. Tryck på F5 för att köra skriptet som skapar och kör jobbet som extraherar biljetter och kunddata från varje klientdatabas. Jobbet sparar data i analysarkivet.
  5. Fråga tabellen TicketsRawData i databasen tenantanalytics för att säkerställa att tabellen fylls i med biljettinformation från alla klienter.

Screenshot shows the ExtractTickets database with the TicketsRawData d b o selected in Object Explorer.

Upprepa föregående steg, förutom den här gången ersätt \ExtractTickets.sql med \ExtractVenuesEvents.sql i steg 2.

När jobbet har körts fylls tabellen EventsRawData i analysarkivet med ny information om händelser och platser från alla klienter.

Omorganisering av data

Strimlade extraherade data för att fylla i star-schema-tabeller

Nästa steg är att strimlade extraherade rådata till en uppsättning tabeller som är optimerade för analysfrågor. Ett star-schema används. En central faktatabell innehåller enskilda biljettförsäljningsposter. Andra tabeller fylls med relaterade data om arenor, evenemang och kunder. Och det finns tidsdimensionstabeller.

I det här avsnittet av självstudien definierar och kör du ett jobb som sammanfogar extraherade rådata med data i star-schema-tabellerna. När sammanslagningsjobbet är klart tas rådata bort, vilket gör att tabellerna är redo att fyllas i av nästa jobb för extrahering av klientdata.

  1. I SSMS ansluter du till databasen jobaccount i catalog-dpt-User><.
  2. I SSMS öppnar du ...\Learning Modules\Operational Analytics\Tenant Analytics\ShredRawExtractedData.sql.
  3. Tryck på F5 för att köra skriptet för att definiera ett jobb som anropar den sp_ShredRawExtractedData lagrade proceduren i analysarkivet.
  4. Tillåt tillräckligt med tid för att jobbet ska kunna köras.
    • Kontrollera status för jobbet i kolumnen Livscykel i jobs.jobs_execution tabell. Kontrollera att jobbet lyckades innan du fortsätter. En lyckad körning visar data som liknar följande diagram:

shredding

Datautforskning

Visualisera klientdata

Data i tabellen star-schema innehåller alla biljettförsäljningsdata som behövs för din analys. För att göra det enklare att se trender i stora datamängder måste du visualisera dem grafiskt. I det här avsnittet får du lära dig hur du använder Power BI för att manipulera och visualisera klientdata som du har extraherat och organiserat.

Använd följande steg för att ansluta till Power BI och importera vyerna som du skapade tidigare:

  1. Starta Power BI Desktop.

  2. I menyfliksområdet Start väljer du Hämta data och väljer Mer... på menyn.

  3. I fönstret Hämta data väljer du Azure SQL Database.

  4. I databasinloggningsfönstret anger du servernamnet (catalog-dpt-User.database.windows.net<>). Välj Importera för dataanslutningsläge och klicka sedan på OK.

    signinpowerbi

  5. Välj Databas i den vänstra rutan och ange användarnamn = utvecklare och ange lösenord = P@ssword1. Klicka på Anslut.

    Screenshot shows the SQL Server database dialog where you can enter a User name and Password.

  6. I fönstret Navigatör går du till analysdatabasen och väljer tabellerna star-schema: fact_Tickets, dim_Events, dim_Venues, dim_Customers och dim_Dates. Välj sedan Läs in.

Klart! Du har läst in data i Power BI. Nu kan du börja utforska intressanta visualiseringar för att få insikter om dina klienter. Härnäst går du igenom hur analys kan göra det möjligt för dig att ge datadrivna rekommendationer till affärsteamet för Wingtip Tickets. Rekommendationerna kan hjälpa dig att optimera affärsmodellen och kundupplevelsen.

Du börjar med att analysera biljettförsäljningsdata för att se variationen i användningen på olika platser. Välj följande alternativ i Power BI för att rita ett stapeldiagram över det totala antalet biljetter som säljs av varje plats. På grund av slumpmässig variation i biljettgeneratorn kan dina resultat vara annorlunda.

Screenshot shows a Power B I visualization and controls for the data visualization on the right side.

Föregående diagram bekräftar att antalet biljetter som säljs av varje plats varierar. Arenor som säljer fler biljetter använder din tjänst tyngre än arenor som säljer färre biljetter. Det kan finnas en möjlighet här att skräddarsy resursallokering efter olika klientbehov.

Du kan analysera data ytterligare för att se hur biljettförsäljningen varierar över tid. Välj följande alternativ i Power BI för att rita det totala antalet sålda biljetter varje dag under en period på 60 dagar.

Screenshot shows Power B I visualization titled Ticket Sale Distribution versus Sale Day.

I föregående diagram visas den där försäljningstopparna för biljetter för vissa platser. Dessa toppar förstärker tanken på att vissa arenor kan förbruka systemresurser oproportionerligt. Hittills finns det inget uppenbart mönster i när toppar inträffar.

Därefter vill du undersöka betydelsen av dessa toppförsäljningsdagar ytterligare. När uppstår dessa toppar efter att biljetterna har sålts? Om du vill rita biljetter som säljs per dag väljer du följande alternativ i Power BI.

SaleDayDistribution

Föregående tomt visar att vissa arenor säljer många biljetter på den första försäljningsdagen. Så snart biljetterna säljs på dessa arenor verkar det vara en galen rusning. Den här aktivitetsexplosionen av några få platser kan påverka tjänsten för andra klienter.

Du kan öka detaljnivån i data igen för att se om den här galna rusningen är sann för alla händelser som hanteras av dessa platser. I tidigare tomter observerade du att Contoso Concert Hall säljer många biljetter, och att Contoso också har en topp i biljettförsäljningen vissa dagar. Lek med Power BI-alternativ för att rita kumulativ biljettförsäljning för Contoso Concert Hall, med fokus på försäljningstrender för vart och ett av dess evenemang. Följer alla händelser samma försäljningsmönster?

ContosoSales

Den föregående handlingen för Contosos konserthus visar att den galna rusningen inte sker för alla evenemang. Lek med filteralternativen för att se försäljningstrender för andra arenor.

Insikterna om biljettförsäljningsmönster kan leda till att Wingtip-biljetter optimerar sin affärsmodell. I stället för att debitera alla klienter på samma sätt kanske Wingtip bör införa tjänstnivåer med olika beräkningsstorlekar. Större arenor som behöver sälja fler biljetter per dag kan erbjudas en högre nivå med ett serviceavtal (SLA). Dessa platser kan ha sina databaser placerade i en pool med högre resursgränser per databas. Varje tjänstnivå kan ha en försäljningsallokering per timme, med ytterligare avgifter som debiteras för att överskrida allokeringen. Större arenor som har periodiska försäljningstoppar skulle dra nytta av de högre nivåerna, och Wingtip-biljetter kan tjäna pengar på sin tjänst mer effektivt.

Samtidigt klagar vissa Wingtip Tickets-kunder på att de kämpar för att sälja tillräckligt med biljetter för att motivera servicekostnaden. Kanske finns det i dessa insikter en möjlighet att öka biljettförsäljningen för underpresterande arenor. Högre försäljning skulle öka tjänstens upplevda värde. Högerklicka på fact_Tickets och välj Nytt mått. Ange följande uttryck för det nya måttet AverageTicketsSold:

AverageTicketsSold = AVERAGEX( SUMMARIZE( TableName, TableName[Venue Name] ), CALCULATE( SUM(TableName[Tickets Sold] ) ) )

Välj följande visualiseringsalternativ för att rita upp de procentbiljetter som säljs av varje plats för att fastställa deras relativa framgång.

Screenshot shows Power B I visualization titled Average Tickets Sold By Each Venue.

Föregående tomt visar att även om de flesta arenor säljer mer än 80% av sina biljetter, kämpar vissa för att fylla mer än hälften av platserna. Lek med Values Well för att välja maximal eller minsta procentandel biljetter som säljs för varje plats.

Tidigare fördjupade du din analys för att upptäcka att biljettförsäljningen tenderar att följa förutsägbara mönster. Den här identifieringen kan göra att Wingtip-biljetter hjälper underpresterande arenor att öka biljettförsäljningen genom att rekommendera dynamisk prissättning. Den här identifieringen kan avslöja en möjlighet att använda maskininlärningstekniker för att förutsäga biljettförsäljning för varje händelse. Förutsägelser kan också göras för påverkan på intäkterna av att erbjuda rabatter på biljettförsäljning. Power BI Embedded kan integreras i ett händelsehanteringsprogram. Integreringen kan hjälpa till att visualisera förväntad försäljning och effekten av olika rabatter. Programmet kan hjälpa dig att skapa en optimal rabatt som ska tillämpas direkt från analysvisningen.

Du har observerat trender i klientdata från WingTip-programmet. Du kan överväga andra sätt som appen kan informera affärsbeslut för SaaS-programleverantörer. Leverantörer kan bättre tillgodose behoven hos sina klienter. Förhoppningsvis har den här självstudien utrustat dig med verktyg som behövs för att utföra analyser på klientdata för att ge dina företag möjlighet att fatta datadrivna beslut.

Nästa steg

I den här självstudiekursen lärde du dig att:

  • Distribuerade en klientanalysdatabas med fördefinierade star-schematabeller
  • Använde elastiska jobb för att extrahera data från alla klientdatabaser
  • Sammanfoga extraherade data i tabeller i ett star-schema som utformats för analys
  • Köra frågor mot en analysdatabas
  • Använda Power BI för datavisualisering för att observera trender i klientdata

Klart!

Ytterligare resurser