Ayıklanan verileri kullanarak kiracılar arası analiz - tek kiracılı uygulama

Şunlar için geçerlidir:Azure SQL Veritabanı

Bu öğreticide, tek bir kiracı uygulaması için eksiksiz bir analiz senaryosunda izlenir. Senaryo, analizin işletmelerin akıllı kararlar almasını nasıl sağlayabileceğini gösterir. Her kiracı veritabanından ayıklanan verileri kullanarak, örnek Wingtip Biletleri SaaS uygulamasının kullanımı da dahil olmak üzere kiracı davranışı hakkında içgörüler elde etmek için analiz kullanırsınız. Bu senaryo üç adımdan oluşur:

  1. Her kiracı veritabanından veri ayıklayın ve bir analiz deposuna yükleyin .
  2. Ayıklanan verileri analiz işleme için dönüştürün.
  3. Karar alma sürecine yol gösterebilen yararlı içgörüler elde etmek için iş zekası araçlarını kullanın.

Bu öğreticide şunların nasıl yapıldığını öğrenirsiniz:

  • Verileri ayıklamak için kiracı analiz depoyu oluşturun.
  • Her kiracı veritabanından analiz deposuna veri ayıklamak için elastik işleri kullanın.
  • Ayıklanan verileri en iyi duruma getirme (yıldız şemasında yeniden düzenleme).
  • Analiz veritabanını sorgula.
  • Kiracı verilerindeki eğilimleri vurgulamak ve iyileştirme önerilerinde bulunmak için veri görselleştirmesi için Power BI'ı kullanın.

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

Çevrimdışı kiracı analizi düzeni

Çok kiracılı SaaS uygulamalarında genellikle bulutta çok miktarda kiracı verisi depolanır. Bu veriler, uygulamanızın işlemi ve kullanımı ve kiracılarınızın davranışı hakkında zengin bir içgörü kaynağı sağlar. Bu içgörüler özellik geliştirme, kullanılabilirlik iyileştirmeleri ve uygulama ve platformdaki diğer yatırımlara yol gösterebilir.

Tüm veriler tek bir çok kiracılı veritabanında olduğunda tüm kiracılar için verilere erişmek kolaydır. Ancak erişim, potansiyel olarak binlerce veritabanına büyük ölçekte dağıtıldığında daha karmaşıktır. Karmaşıklığı düzenlemenin ve analiz sorgularının işlem verileri üzerindeki etkisini en aza indirmenin bir yolu, verileri amaca yönelik tasarlanmış bir analiz veritabanına veya veri ambarı içine ayıklamaktır.

Bu öğretici, Wingtip Biletleri SaaS uygulaması için eksiksiz bir analiz senaryosu sunar. İlk olarak, Elastik İşler her kiracı veritabanındaki verileri ayıklamak ve bir analiz deposundaki hazırlama tablolarına yüklemek için kullanılır. Analiz deposu bir SQL Veritabanı veya ayrılmış bir SQL havuzu olabilir. Büyük ölçekli veri ayıklama için Azure Data Factory önerilir.

Ardından, toplanan veriler bir dizi yıldız şeması tablosuna dönüştürülür. Tablolar, merkezi olgu tablosunun yanı sıra ilgili boyut tablolarından oluşur. Wingtip Biletleri için:

  • Yıldız şemasındaki merkezi olgu tablosu bilet verilerini içerir.
  • Boyut tablolarında mekan, etkinlik, müşteri ve satın alma tarihleri açıklanmaktadır.

Merkezi olgu ve boyut tabloları birlikte verimli analitik işlemeye olanak tanır. Bu öğreticide kullanılan yıldız şeması aşağıdaki görüntüde gösterilmiştir:

architectureOverView

Son olarak, power BI kullanılarak analiz deposu sorgulanır ve kiracı davranışı ve Wingtip Biletleri uygulamasının kullanımıyla ilgili içgörüler vurgulanır. Şu sorguları çalıştırırsınız:

  • Her mekanın göreli popülerliğini göster
  • Farklı etkinlikler için bilet satışlarındaki desenleri vurgulama
  • Etkinliklerini satmada farklı mekanların göreli başarısını gösterme

Her kiracının hizmeti nasıl kullandığını anlamak, hizmette para kazanma ve kiracıların daha başarılı olması için hizmeti iyileştirme seçeneklerini keşfetmek için kullanılır. Bu öğreticide, kiracı verilerinden alınabilecek içgörü türlerine ilişkin temel örnekler sağlanmaktadır.

Ayarlama

Önkoşullar

Bu öğreticiyi tamamlamak için aşağıdaki ön koşulların karşılandığından emin olun:

Tanıtım için veri oluşturma

Bu öğreticide bilet satış verileri üzerinde analiz gerçekleştirilir. Geçerli adımda, tüm kiracılar için bilet verileri oluşturursunuz. Daha sonra bu veriler analiz için ayıklanır. Anlamlı miktarda veriye sahip olmak için kiracıların toplu işlemini daha önce açıklandığı gibi sağladığınıza emin olun. Yeterince büyük miktarda veri, bir dizi farklı bilet satın alma desenini kullanıma açabilir.

  1. PowerShell ISE'de ...\Learning Modules\Operational Analytics\Tenant Analytics\Demo-TenantAnalytics.ps1 dosyasını açın ve aşağıdaki değeri ayarlayın:
    • = $DemoScenario 1 Tüm mekanlarda etkinlikler için bilet satın alın
  2. Betiği çalıştırmak ve her mekandaki her etkinlik için bilet satın alma geçmişi oluşturmak için F5 tuşuna basın. Betik, on binlerce bilet oluşturmak için birkaç dakika boyunca çalışır.

Analiz depoyu dağıtma

Genellikle tüm kiracı verilerini bir arada tutan çok sayıda işlem veritabanı vardır. Birçok işlem veritabanındaki kiracı verilerini tek bir analiz deposunda toplamanız gerekir. Toplama, verilerin verimli bir şekilde sorgulanmasını sağlar. Bu öğreticide, toplanan verileri depolamak için bir Azure SQL Veritabanı kullanılır.

Aşağıdaki adımlarda tenantanalytics adlı analiz depoyu dağıtacaksınız. Ayrıca, öğreticinin ilerleyen bölümlerinde doldurulan önceden tanımlanmış tabloları da dağıtabilirsiniz:

  1. PowerShell ISE'de ...\Learning Modules\Operational Analytics\Tenant Analytics\Demo-TenantAnalytics.ps1 dosyasını açın
  2. Betikteki $DemoScenario değişkenini seçtiğiniz analiz deposuyla eşleşecek şekilde ayarlayın:
    • columnstore olmadan SQL Veritabanı kullanmak için $DemoScenario = 2'yi ayarlayın
    • SQL Veritabanı columnstore ile kullanmak için $DemoScenario = 3'i ayarlayın
  3. Kiracı analiz deposunu oluşturan tanıtım betiğini (Deploy-TenantAnalytics XX.ps1> betiğini çağıran) çalıştırmak için F5 tuşuna basın.<

Uygulamayı dağıttığınız ve ilginç kiracı verileriyle doldurduğunuza göre, LOGIN = developer, Password = P@ssword1 kullanarak kiracıları1-dpt-User>< ve catalog-dpt-User<> sunucularını bağlamak için SQL Server Management Studio'yu (SSMS) kullanın. Daha fazla kılavuz için giriş öğreticisine bakın.

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

Nesne Gezgini aşağıdaki adımları gerçekleştirin:

  1. Tenants1-dpt-User<> sunucusunu genişletin.
  2. Veritabanları düğümünü genişletin ve kiracı veritabanlarının listesine bakın.
  3. catalog-dpt-User<> sunucusunu genişletin.
  4. Analiz depoyu ve jobaccount veritabanını gördüğünüzden emin olun.

Analiz deposu düğümünü genişleterek SSMS Nesne Gezgini aşağıdaki veritabanı öğelerine bakın:

  • Tables TicketsRawData ve EventsRawData , kiracı veritabanlarından ayıklanan ham verileri tutar.
  • Yıldız şeması tabloları fact_Tickets, dim_Customers, dim_Venues, dim_Events ve dim_Dates.
  • Saklı yordam, ham veri tablolarından yıldız şeması tablolarını doldurmak için kullanılır.

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

Veri ayıklama

Hedef gruplar oluşturma

Devam etmeden önce iş hesabını ve jobaccount veritabanını dağıttıktan emin olun. Sonraki adım kümesinde, elastik işler her kiracı veritabanından veri ayıklamak ve verileri analiz deposunda depolamak için kullanılır. Ardından ikinci iş verileri parçalara ayırır ve yıldız şemasındaki tablolarda depolar. Bu iki iş, TenantGroup ve AnalyticsGroup adlı iki farklı hedef grup üzerinde çalışır. Ayıklama işi, tüm kiracı veritabanlarını içeren TenantGroup'a karşı çalışır. Parçalama işi, yalnızca analiz depoyu içeren AnalyticsGroup'a karşı çalışır. Aşağıdaki adımları kullanarak hedef grupları oluşturun:

  1. SSMS'de catalog-dpt-User içindeki jobaccount veritabanına bağlanın.><
  2. SSMS'de ...\Learning Modules\Operational Analytics\Tenant Analytics\ TargetGroups.sql açın
  3. @User Öğesini Wingtip SaaS uygulamasını dağıtırken kullanılan kullanıcı değeriyle değiştirerek <User> betiğin en üstündeki değişkeni değiştirin.
  4. İki hedef grubu oluşturan betiği çalıştırmak için F5 tuşuna basın.

Tüm kiracılardan ham verileri ayıklama

Bilet ve müşteri verileri için olay ve mekan verilerine göre daha sık kapsamlı veri değişiklikleri gerçekleşebilir. Bu nedenle, bilet ve müşteri verilerini olay ve mekan verilerini ayıklamaktan daha sık ve ayrı ayrı ayıklamayı göz önünde bulundurun. Bu bölümde iki ayrı iş tanımlar ve zamanlarsınız:

  • Bilet ve müşteri verilerini ayıklama.
  • Olay ve mekan verilerini ayıklama.

Her iş verilerini ayıklar ve analiz deposuna postalar. Ayrı bir iş, ayıklanan verileri analiz yıldız şemasına ayırır.

  1. SSMS'de catalog-dpt-User<> sunucusundaki jobaccount veritabanına bağlanın.
  2. SSMS'de ...\Learning Modules\Operational Analytics\Tenant Analytics\ExtractTickets.sql dosyasını açın.
  3. Betiğin üst kısmında değişiklik yapıp @User yerine Wingtip SaaS uygulamasını dağıtırken kullanılan kullanıcı adını yazın <User>
  4. Her kiracı veritabanından bilet ve müşteri verilerini ayıklayan işi oluşturan ve çalıştıran betiği çalıştırmak için F5 tuşuna basın. İş, verileri analiz deposuna kaydeder.
  5. Tablonun tüm kiracıların bilet bilgileriyle dolduruldığından emin olmak için tenantanalytics veritabanındaKi TicketsRawData tablosunu sorgular.

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

Önceki adımları yineleyin, ancak bu kez 2. adımda \ExtractTickets.sqlyerine \ExtractVenuesEvents.sql yazın.

İşi başarıyla çalıştırmak analiz deposundaki EventsRawData tablosunu tüm kiracıların yeni olay ve mekan bilgileriyle doldurur.

Veri yeniden düzenleme

Yıldız şeması tablolarını doldurmak için ayıklanan verileri parçalama

Sonraki adım, ayıklanan ham verileri analiz sorguları için en iyi duruma getirilmiş bir tablo kümesine bölmektir. Yıldız şeması kullanılır. Merkezi olgu tablosunda tek tek bilet satış kayıtları bulunur. Diğer tablolar mekanlar, etkinlikler ve müşterilerle ilgili verilerle doldurulur. Zaman boyutu tabloları da vardır.

Öğreticinin bu bölümünde, ayıklanan ham verileri yıldız şeması tablolarındaki verilerle birleyen bir iş tanımlayıp çalıştıracaksınız. Birleştirme işi tamamlandıktan sonra ham veriler silinir ve tablolar bir sonraki kiracı veri ayıklama işi tarafından doldurulmaya hazır olur.

  1. SSMS'de catalog-dpt-User içindeki jobaccount veritabanına bağlanın.><
  2. SSMS'de ...\Learning Modules\Operational Analytics\Tenant Analytics\ShredRawExtractedData.sql dosyasını açın.
  3. Analiz deposundaki sp_ShredRawExtractedData saklı yordamını çağıran bir iş tanımlamak üzere betiği çalıştırmak için F5 tuşuna basın.
  4. İşin başarıyla çalışması için yeterli süre tanıyın.
    • İşin durumu için jobs.jobs_execution tablosunun Yaşam Döngüsü sütununu denetleyin. Devam etmeden önce işin Başarılı olduğundan emin olun. Başarılı bir çalıştırma verileri aşağıdaki grafiğe benzer şekilde görüntüler:

shredding

Veri keşfi

Kiracı verilerini görselleştirme

Yıldız şeması tablosundaki veriler, analiziniz için gereken tüm bilet satış verilerini sağlar. Büyük veri kümelerindeki eğilimleri daha kolay görebilmek için bunları grafiksel olarak görselleştirmeniz gerekir. Bu bölümde, ayıkladığınız ve düzenlediğiniz kiracı verilerini işlemek ve görselleştirmek için Power BI'ı kullanmayı öğreneceksiniz.

Power BI'a bağlanmak ve daha önce oluşturduğunuz görünümleri içeri aktarmak için aşağıdaki adımları kullanın:

  1. Power BI desktop'ı başlatın.

  2. Giriş şeridinde Veri Al'ı ve ardından menüden Diğer... öğesini seçin.

  3. Veri Al penceresinde Azure SQL Veritabanı'ı seçin.

  4. Veritabanı oturum açma penceresinde sunucu adınızı (catalog-dpt-User.database.windows.net<>) girin. Veri Bağlan Üretkenlik Modu için İçeri Aktar'ı seçin ve tamam'a tıklayın.

    signinpowerbi

  5. Sol bölmede Veritabanı'nı seçin, ardından kullanıcı adı = geliştirici girin ve parola = P@ssword1 girin. Bağlan'a tıklayın.

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

  6. Gezgin bölmesinde, analiz veritabanının altında yıldız şeması tablolarını seçin: fact_Tickets, dim_Events, dim_Venues, dim_Customers ve dim_Dates. Ardından Yükle'yi seçin.

Tebrikler! Verileri Power BI'a başarıyla yüklediniz. Artık kiracılarınızla ilgili içgörüler elde etmeye yardımcı olmak için ilginç görselleştirmeleri keşfetmeye başlayabilirsiniz. Daha sonra, wingtip biletleri iş ekibine veri temelli öneriler sağlamanıza olanak tanıyan analiz adımlarını inceleyebilirsiniz. Öneriler, iş modelini ve müşteri deneyimini iyileştirmeye yardımcı olabilir.

Mekanlardaki kullanım varyasyonunu görmek için bilet satış verilerini analiz ederek işe başlarsınız. Her mekan tarafından satılan toplam bilet sayısının çubuk grafiğini çizmek için Power BI'da aşağıdaki seçenekleri belirleyin. Bilet oluşturucudaki rastgele varyasyon nedeniyle sonuçlarınız farklı olabilir.

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

Yukarıdaki çizim, her mekan tarafından satılan bilet sayısının değiştiğini onaylar. Daha fazla bilet satan mekanlar, hizmetinizi daha az bilet satan mekanlardan daha fazla kullanıyor. Kaynak ayırmayı farklı kiracı ihtiyaçlarına göre uyarlamak için burada bir fırsat olabilir.

Bilet satışlarının zaman içinde nasıl değiştiğini görmek için verileri daha fazla analiz edebilirsiniz. 60 günlük bir süre boyunca her gün satılan toplam bilet sayısını çizmek için Power BI'da aşağıdaki seçenekleri belirleyin.

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

Yukarıdaki grafikte, bazı mekanlar için bilet satış artışı gösterilir. Bu ani artışlar, bazı mekanların sistem kaynaklarını orantısız bir şekilde tükettiği fikrini güçlendiriyor. Şu ana kadar ani artışlar oluştuğunda belirgin bir desen yoktur.

Şimdi bu yoğun satış günlerinin önemini daha fazla araştırmak istiyorsunuz. Biletler satışa çıktıktan sonra bu zirveler ne zaman gerçekleşir? Günlük satılan biletleri çizmek için Power BI'da aşağıdaki seçenekleri belirleyin.

SaleDayDistribution

Önceki çizimde, bazı mekanların satışın ilk gününde çok fazla bilet sattığı gösterilmektedir. Biletler bu mekanlarda satışa çıkar çıkmaz, çılgın bir acele var gibi görünüyor. Birkaç mekana göre bu etkinlik patlaması diğer kiracılar için hizmeti etkileyebilir.

Bu çılgın acelenin bu mekanlarda barındırılan tüm etkinlikler için geçerli olup olmadığını görmek için verilerin detayına gidebilirsiniz. Önceki çizimlerde Contoso Konser Salonu'nun çok fazla bilet sattığını ve Contoso'nun belirli günlerde bilet satışlarında da ani artış olduğunu gözlemlediyseniz. Contoso Konser Salonu için toplu bilet satışlarını çizmek için Power BI seçenekleriyle oynayın ve etkinliklerinden her birine yönelik satış eğilimlerine odaklanın. Tüm etkinlikler aynı satış düzenine uyuyor mu?

ContosoSales

Contoso Konser Salonu'na yönelik önceki çizimde çılgın acelenin tüm etkinlikler için gerçekleşmediği gösterilmektedir. Diğer mekanlarda satış eğilimlerini görmek için filtre seçenekleriyle oyun oynayın.

Bilet satış desenleriyle ilgili içgörüler, Wingtip Biletleri'nin iş modellerini iyileştirmesine neden olabilir. Tüm kiracıları eşit olarak ücretlendirmek yerine Wingtip'in farklı işlem boyutlarına sahip hizmet katmanları sunması gerekir. Günde daha fazla bilet satılması gereken daha büyük mekanlara daha yüksek bir hizmet düzeyi sözleşmesi (SLA) ile daha yüksek bir katman sunulabiliyordu. Bu mekanlarda veritabanları, veritabanı başına daha yüksek kaynak sınırları olan havuza yerleştirilebilir. Her hizmet katmanının saatlik satış ayırması olabilir ve ayırmanın aşılması için ek ücretler tahsil edilir. Düzenli aralıklarla satış artışı olan daha büyük mekanlar daha yüksek katmanlardan yararlanabilir ve Wingtip Biletleri hizmetlerinden daha verimli bir şekilde para kazanabilir.

Bu arada, bazı Wingtip Biletleri müşterileri hizmet maliyetini gerekçelendirmek için yeterli bilet satmakta zorlandıklarını şikayet ediyorlar. Belki de bu içgörülerde, yetersiz performans gösteren mekanlar için bilet satışlarını artırma fırsatı vardır. Daha yüksek satış, hizmetin algılanan değerini artırır. fact_Tickets sağ tıklayın ve Yeni ölçü'yü seçin. AverageTicketsSold adlı yeni ölçü için aşağıdaki ifadeyi girin:

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

Göreli başarılarını belirlemek üzere her mekan tarafından satılan yüzde biletlerini çizmek için aşağıdaki görselleştirme seçeneklerini belirleyin.

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

Yukarıdaki çizimde, çoğu mekan biletlerinin %80'inden fazlasını satsa da bazılarının koltukların yarısından fazlasını doldurmakta zorlandığını göstermektedir. Her mekan için satılan biletlerin maksimum veya en düşük yüzdesini seçmek için Değerler Kutusu'yla oynayın.

Daha önce bilet satışlarının tahmin edilebilir desenleri izleme eğiliminde olduğunu keşfetmek için analizinizi derinleştirmişsinizdir. Bu keşif, Wingtip Biletleri'nin dinamik fiyatlandırma önererek bilet satışlarını artırmaya yardımcı olmasına yardımcı olabilir. Bu keşif, her etkinlik için bilet satışlarını tahmin etmek için makine öğrenmesi tekniklerini kullanma fırsatı ortaya çıkabilir. Bilet satışlarında indirim sunmanın gelirini etkilemeye yönelik tahminler de yapılabilir. Power BI Embedded bir olay yönetimi uygulamasıyla tümleştirilebilir. Tümleştirme, tahmin edilen satışları ve farklı indirimlerin etkisini görselleştirmeye yardımcı olabilir. Uygulama, doğrudan analiz ekranından uygulanacak en uygun indirimi ayarlamaya yardımcı olabilir.

WingTip uygulamasından kiracı verilerindeki eğilimleri gözlemlediniz. Uygulamanın SaaS uygulama satıcıları için iş kararlarını nasıl bilgilendirebileceğini düşünebilirsiniz. Satıcılar kiracılarının ihtiyaçlarını daha iyi karşılayabilir. Umarım bu öğretici, işletmelerinizi veri odaklı kararlar verme konusunda güçlendirmek için kiracı verileri üzerinde analiz gerçekleştirmek için gereken araçlarla donatılmıştır.

Sonraki adımlar

Bu öğreticide, şunların nasıl yapıldığını öğrendiniz:

  • Önceden tanımlanmış yıldız şeması tablolarıyla kiracı analizi veritabanı dağıtıldı
  • Tüm kiracı veritabanından veri ayıklamak için kullanılan elastik işler
  • Ayıklanan verileri analiz için tasarlanmış bir yıldız şemasındaki tablolarla birleştirme
  • Analiz veritabanını sorgulama
  • Kiracı verilerindeki eğilimleri gözlemlemek için veri görselleştirmesi için Power BI kullanma

Tebrikler!

Ek kaynaklar