Dela via


Analys mellan klientorganisationer med extraherade data – app för flera klientorganisationer

Gäller för:Azure SQL Database

I den här självstudien går du igenom ett fullständigt analysscenario för en implementering med flera klientorganisationer. 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 en fragmenterad databas 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 till ett analysarkiv.
  2. Optimera 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 som du utvecklar har åtkomst till en stor mängd klientdata som lagras i molnet. Data ger en omfattande källa till insikter om driften och användningen av ditt program och om klientorganisationens beteende. 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 tusentals databaser. Ett sätt att tämja komplexiteten är att extrahera data till en analysdatabas eller ett informationslager. Sedan frågar du informationslagret för att samla in insikter från biljettdata för alla klienter.

I den här självstudien presenteras ett fullständigt analysscenario för det här SaaS-exempelprogrammet. Först används elastiska jobb för att schemalägga extrahering av data från varje klientdatabas. Data skickas till ett analysarkiv. Analysarkivet kan antingen använda Azure SQL Database eller Azure Synapse Analytics. För storskalig dataextrahering rekommenderas Azure Data Factory .

Därefter strimlades de aggregerade data i en uppsättning star-schematabeller . Tabellerna består av en central faktatabell plus relaterade dimensionstabeller:

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

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

Database diagram shows four database objects connected to a central database object.

Slutligen efterfrågas star-schema-tabellerna. Frågeresultaten visas visuellt för att belysa insikter om klientorganisationens beteende och deras användning av programmet. Med det här stjärnschemat kan du köra frågor som hjälper dig att identifiera objekt som följande:

  • Vem köper biljetter och från vilken plats.
  • Dolda mönster och trender inom följande områden:
    • Försäljningen av biljetter.
    • Den relativa populariteten för varje plats.

Att förstå hur konsekvent varje klientorganisation använder tjänsten ger en möjlighet att skapa tjänstplaner för att tillgodose deras behov. Den här självstudien innehåller grundläggande exempel på insikter som kan hämtas från klientdata.

Ställ in

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 Multi-tenant Database-programmet distribueras. Information om hur du distribuerar på mindre än fem minuter finns i Distribuera och utforska Wingtip Tickets SaaS Multi-tenant Database-programmet
  • Wingtip SaaS-skripten och programmets källkod laddas ned från GitHub. 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.
  • En jobbagent och en jobbagentdatabas 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

Ofta finns det många transaktionsshardade databaser som tillsammans innehåller alla klientdata. Du måste aggregera klientdata från den fragmenterade databasen till ett analysarkiv. Aggregeringen möjliggör effektiv datafråga. I den här självstudien används en Azure SQL Database-databas 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 variabeln $DemoScenario i skriptet så att den matchar ditt val av analysarkiv. I utbildningssyfte rekommenderar vi att du använder databasen utan kolumnarkiv.
    • Om du vill använda SQL Database utan columnstore anger du $DemoScenario = 2
    • Om du vill använda SQL Database med columnstore 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-mt-User><- och catalog-mt-User-servrar<> med hjälp av Inloggning = utvecklare, Lösenord = P@ssword1.

architectureOverView

Utför följande steg i Object Explorer:

  1. Expandera klientorganisationen1-mt-User-servern><.
  2. Expandera noden Databaser och se klientdatabasen1 som innehåller flera klienter.
  3. Expandera servern catalog-mt-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 sp_ShredRawExtractedData lagrade proceduren används för att fylla i star-schema-tabellerna från rådatatabellerna.

Screenshot shows the S S M S Object Explorer for the analytics store node, including Tables, Views, and nodes.

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 databasen för shardade klientorganisationer 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 jobaccount-databasen i catalog-mt-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 Tickets SaaS Multi-tenant Database-programmet.
  4. Tryck på F5 för att köra skriptet som skapar de två målgrupperna.

Extrahera rådata från alla klienter

Transaktioner 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-mt-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 Tickets SaaS Multi-tenant Database-programmet.
  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. Dimensionstabeller fylls med data om platser, händelser, kunder och inköpsdatum.

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 jobaccount-databasen i catalog-mt-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:

Screenshot shows the successful result of running the sp_ShredRawExtractedData procedure.

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 fönstret för databasinloggning anger du servernamnet (catalog-mt-User.database.windows.net<>). Välj Import for Data Anslut ivity Mode (Importera för data Anslut ivity Mode) och klicka sedan på OK.

    Screenshot shows SQL Server database dialog box where you can enter the Server and Database.

  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.

Klar! 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 = DIVIDE(DIVIDE(COUNTROWS(fact_Tickets),DISTINCT(dim_Venues[VenueCapacity]))*100, COUNTROWS(dim_Events))

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.

analyticsViews

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 Tickets SaaS Multi-tenant Database-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

Klar!

Ytterligare resurser

Ytterligare självstudier som bygger på Wingtip SaaS-programmet.