LuckyTemplates ve SSAS – TE3 ve C# Kullanarak Sütunları Sıralama

Bugünün öğreticisi için, LuckyTemplates ve SSAS veya SQL sunucu analiz hizmetlerinde bir sütunu başka bir sütuna göre sıralama işlemini nasıl otomatikleştirebileceğinizi göstereceğim. Bu eğitimin tam videosunu bu blogun alt kısmından izleyebilirsiniz.

Bu örnekte, birkaç sütun içeren Tarihler tablomuz var. Bazı sütunlar, gizleyeceğimiz tamsayı kısmıdır; ve bazı sütunlar son kullanıcıya göstereceğimiz string kısmıdır.

LuckyTemplates ve SSAS – TE3 ve C# Kullanarak Sütunları Sıralama

Böylece, Takvim Yılı, Takvim Yılı Ayı ve Ay sütunlarına sahibiz. Yapmak istediğimiz, bu üç sütunun tamsayı kısımlarına göre sıralanmasını otomatikleştirmek. Takvim Yılını Takvim Yılı Numarasına göre, Takvim Yılı Ayını Takvim Yılı Ay Numarasına göre ve Ay'ı Ay Numarasına göre sıralayacağım.

Ama bunu tek tek yapmayacağız. Bunu belirli bir tablo için otomatik olarak sıralayacak bir komut dosyası çalıştıracağız. Birden çok tablo için birden çok sütununuz varsa, bu komut dosyasını bu tablo kümelerinde kullanabilirsiniz.

Bu C# kodunu yazmak için Tabular Editor kullanacağız , ancak şimdilik Tabular Editor C# dili için bir IntelliSense'e sahip değil. Bunu kolaylaştırmak için, C# için IntelliSense diline sahip olduğumuz ve sizin de VS kodunu kullanabileceğiniz Visual Studio'yu (VS) kullanacağız .

İçindekiler

C# Kullanarak LuckyTemplates ve SSAS'ta Sütunları Sıralama

Öncelikle Visual Studio içinde C# dili için Konsol Uygulaması (.Net Framework) olacak yeni bir proje oluşturmamız gerekiyor . İleri'yi tıklatarak seçelim.

LuckyTemplates ve SSAS – TE3 ve C# Kullanarak Sütunları Sıralama

Ardından, projeye herhangi bir isim verebiliriz. Bunu SortBy olarak adlandıracağım ve Oluştur'a tıklayacağım.

LuckyTemplates ve SSAS – TE3 ve C# Kullanarak Sütunları Sıralama

Şimdi, kodumuz olduğunu görebilirsiniz. Kod çalıştığında, onu kopyalayıp Tabular Editor içine yapıştıracağız.

LuckyTemplates ve SSAS – TE3 ve C# Kullanarak Sütunları Sıralama

Ancak, kodun Visual Studio içinde çalışması için bir kitaplığa başvuru ayarlamamız gerekir. Ve bunun için, sadece Referanslara tıklayabilir ve tarayıcı seçeneği içinde NuGet Paketlerini Yönet seçeneğini seçebiliriz .

LuckyTemplates ve SSAS – TE3 ve C# Kullanarak Sütunları Sıralama

Browse seçeneğinin içine de analytics services yazmamız gerekiyor . Ardından, mevcut seçeneklerde ikincisini seçip Kur'a tıklamamız gerekiyor . Kuruluma başlayacak ve kurulumun tamamlanması birkaç saniye sürecektir.

LuckyTemplates ve SSAS – TE3 ve C# Kullanarak Sütunları Sıralama

Ardından, Microsoft.AnalysisServices.Tabular Kullanarak kodun içine yazmamız ve ardından bir noktalı virgül yazmamız gerekiyor. Bir sunucu nesnesi oluşturacağız, böylece basitçe Sunucu yazabiliriz ve sunucu nesnesinin adı Sunucunun kendisi olacaktır ve Yeni Sunucu yazacağız .

Yani temel olarak, hafızanın içinde yeni bir nesne yaratıyoruz. Ve bu sunucuyu LuckyTemplates dosyasına bağlamak için sunucu nesnesinin bir yöntemini kullanacağız. Öyleyse, server.Connect yazalım ve burada, LuckyTemplates içindeki AnalysisServices'in dinlediği bağlantı noktası numarasını sağlayacağız.

LuckyTemplates ve SSAS – TE3 ve C# Kullanarak Sütunları Sıralama

O port numarasını bulmak için External Tools'a gidiyoruz, DAX Studio'ya tıklıyoruz ve en alt kısımda local host'u bulacağız. Bu, LuckyTemplates içinde sahip olduğumuz SQL sunucusu analiz hizmetlerinin, LuckyTemplates veya başka herhangi bir harici araç aracılığıyla gönderdiğimiz değişiklikleri dinlediği kod numarasıdır.

LuckyTemplates ve SSAS – TE3 ve C# Kullanarak Sütunları Sıralama

Sunucu bir şeydir, ancak SSAS durumunda bir sunucunun birden çok modeli olabilir. Ancak şu anda LuckyTemplates'da yalnızca bir modelimiz var. Yani, bu modeli ilan edeceğiz. Buraya Model is equal to (=) server.Databases yazıyoruz ve o sunucunun içindeki ilk veritabanına erişeceğiz, böylece .Model yazacağız .

Şimdi kodun o kısmının çalışıp çalışmadığını test edelim. Bunu yapmak için, o veri modelinin içinde sahip olduğumuz tüm tabloların listesini yazdıracağız. O halde buraya her biri için (Table t in model.Tables) yazıp parantez açacağız ve enter'a basacağız.

Ardından Console.WriteLine (t.Name) yazıyoruz . Tabloların adını yazdırdıktan sonra pencerenin otomatik olarak kapanmadığından emin olmak için, o Console.ReadLine , açık ve kapalı parantez ve bir noktalı virgül yazacağız . Şimdi tek yapmamız gereken Başlat seçeneğine tıklayıp çalışmasını beklemek.

LuckyTemplates ve SSAS – TE3 ve C# Kullanarak Sütunları Sıralama

Veri modelinin içinde sahip olduğumuz tabloların adını yazdırabildiğimizi görebilirsiniz. Tarihler, Ürün, Müşteri ve Mağazamız var. Bu, oluşturduğumuz kurulumun çalıştığını onaylar.

LuckyTemplates ve SSAS – TE3 ve C# Kullanarak Sütunları Sıralama

Şimdi, kodun özüne inebilir ve bu sütunu tamsayı karşılığına göre sıralamamıza yardımcı olacak kodu oluşturmaya başlayabiliriz.

ForEach kısmından oluşturduğumuz her şeyi kaldıralım . Sunucuyu ve modeli olduğu gibi tutacağız. Yinelemek istediğimiz tablonun adını tutacak bir değişken bildirelim. Adını DatesTable olarak vereceğim ve tablonun adı temelde Dates olacak .

Sonra, model.Tables içinde foreach var t'ye sahip olacağız , ardından bir where yan tümcesi kullanacağız , böylece T'nin nereye gittiğini t.Name'in DatesTable'a eşit olması gerektiğini söyleyebiliriz . Şu anda DatesTable üzerinde yineleniyorsak, o DatesTable'ın tüm sütunları üzerinde başka bir döngü başlatacağız. Bunun için t.Columns içine foreach var c yazabiliriz .

Yalnızca DatesTable üzerinde yineleme yapıp yapmadığımızı ve DatesTable'ın tüm sütunlarına erişimimiz olup olmadığını test etmek için, basitçe Console.WriteLine yazdırabiliriz ve c.Name diyeceğiz .

LuckyTemplates ve SSAS – TE3 ve C# Kullanarak Sütunları Sıralama

F5'e basarsam sütunlara ulaştığımızı görebilirsiniz.

LuckyTemplates ve SSAS – TE3 ve C# Kullanarak Sütunları Sıralama

Artık daha fazla ilerleyip daha fazla kod yazabiliriz.

Üç sütun daha içerecek bir liste listesi oluşturacağız. Sütunlardan biri hedef sütun olacaktır. İkinci sütun, hedef sütunu sıralamak istediğimiz sütun olacak ve üçüncü sütun, gerçekten sıralama yaptığımız sütunu gizlemek isteyip istemediğimize bakılmaksızın, doğru veya yanlış olacaktır.

Diyelim ki Takvim Yılı sütununu Takvim Yılı Numarasına göre sıralamak istiyoruz. İlk sütun Takvim Yılı'nı, ikinci sütun Takvim Yılı Numarası'nı, üçüncü sütun ise sıralamayı tamamladıktan sonra Takvim Yılı Numarası sütununu gizlemek isteyip istemediğimize karar verecektir.

Ve bunun için, yeni bir değişken oluşturacağımız Visual Studio'ya geri dönelim. Adını istediğin gibi koyabilirsin. Bu örnekte buna colOperations adını vereceğim . Ardından, new yazacağız ve ardından bir liste oluşturacağız ve sütun türlerini (string, string ve bool) yazacağız. Ardından tupleları oluşturuyoruz.

LuckyTemplates ve SSAS – TE3 ve C# Kullanarak Sütunları Sıralama

Temel olarak, basitçe üç sütunluk bir liste oluşturuyoruz ve üç sütun için iki satır sağladık. Şimdi foreach döngümüzün içinde bir for döngüsü başlatacağız . Temel olarak, her yinelemede i ile başlayan bir değişken bildirmekten bahsediyoruz . i, colOperations.Count değerinden küçükse, bunu artırmanız yeterlidir .

Ardından, bir IF ifadesi yazacağız . c.Name , şu anda içinde bulunduğumuz sütunun adına aittir. Ardından, colOperations i'ye sahibiz . i temel olarak belirli bir satıra erişmemizi sağlar. Ve .Item1 yazdığımızda , birinci sütuna, ikinci sütuna veya üçüncü sütuna erişebiliyoruz.

İlk önce Item1 sütununu kullanacağız . Bu doğruysa, basitçe c.SortByColumn'un t.Columns'a eşit olması gerektiğini yazarız . t'nin tablo nesnesi olduğunu unutmayın. Ardından, o tablodaki sütunlara erişiyoruz. colOperations'ı , şu anda üzerinde bulunduğumuz satır olan sütun işlemlerini istiyoruz ve sütun temelde Item2 nesnesidir.

Son olarak, sıralamayı uyguladığımız belirli sütunu gizlemek için son bir kod satırı yazarız.

LuckyTemplates ve SSAS – TE3 ve C# Kullanarak Sütunları Sıralama

Artık tablo modelimize karşı yürüteceğimiz ana kodu yazdığımıza göre, kodu var colOperations'tan kopyalayıp Tabular Editor'a götürebiliriz ve ardından aynı kodu çalıştırabiliriz.

Tablo Düzenleyiciyi Kullanarak LuckyTemplates ve SSAS'ta Sütunları Sıralama

Sunucuyu veya model nesnesini kullanmayacağız çünkü arka planda Tabular Editor hangi LuckyTemplates modeline veya analiz hizmetleri modeline bağlanması gerektiğini otomatik olarak bilecektir. Dolayısıyla, bu değişkenleri kullanmamıza gerek yok çünkü bu , bu modellere nasıl bağlanmak istediğini belirlemek zaten Tablo Düzenleyicinin işidir .

LuckyTemplates'a geri döndüğümüzde, Tabular Editor 3'ü veya Tabular Editor 2'yi başlatacağız. Hangisini isterseniz onu kullanabilirsiniz. Bu durumda Tabular Editor 3 ile gidelim.

File sekmesine gidip New C# code tıklıyoruz ve Properties seçeneğini kapatıyoruz. Ardından kodu buraya yapıştırabiliriz. Emin olmamız gereken tek şey, model değişkenini kullanmak yerine model nesnesini kullanmaktır . Öyleyse, büyük M'yi kullanalım ve bu kodu çalıştıralım.

LuckyTemplates ve SSAS – TE3 ve C# Kullanarak Sütunları Sıralama

Komut dosyası başarıyla yürütüldüğüne ve ayrıca üç model değişikliği gösterdiğine göre, değişiklikleri tekrar veri modeline işleyeceğiz. Bu sütunlara uyguladığımız her şeyi kaydedeceğiz.

LuckyTemplates'a döndüğünüzde Ay Numarasının gizlendiğini görebilirsiniz. Ay sütununa tıklayıp Sütun Araçları'na ve Sütuna Göre Sırala'ya gidersem , o sütunun Ay Numarasına göre sıralandığını görebilirsiniz. Aynısı Takvim Yılı Ay Numarası için de geçerlidir.

LuckyTemplates ve SSAS – TE3 ve C# Kullanarak Sütunları Sıralama

Takvim Yılı, C# kodunun içinde o sütuna sahip olmadığımız için kendisine göre sıralanır. Yani, yapabileceğimiz şey Tabular Editor'ı geri başlatmak ve başka bir demet oluşturmak. Ve sonra, bir kez daha o betiği çalıştırıyoruz.

LuckyTemplates ve SSAS – TE3 ve C# Kullanarak Sütunları Sıralama


Tablo Düzenleyici LuckyTemplates: Sürüm 3 İncelemesi ve Öğretici
LuckyTemplates Tablo Düzenleyici 3: Tablo
Düzenleyici 3 İçinde Betik DAX Kodlaması ile Otomatikleştirin

Çözüm

ve SSAS'ta bir sütunu diğerine göre sıralama işlemini otomatikleştirmek işte bu kadar kolay . Bu, Dates tablosunda bu işlemi nasıl yapabileceğinize dair çok basit bir örnekti. Ancak bu listeyi daha fazla sütun ekleyerek zenginleştirebilir ve ardından başka bir tablo olup olmadığına bakabilirsiniz.

Bu şekilde, tekrar tekrar oluşturacağınız aynı modeller için bu sütunları sıralamak için harcamanız gereken süreyi azaltabilirsiniz.

Umarım bunu faydalı bulmuşsundur. Herhangi bir sorunuz varsa, yorumlar bölümünde bana bildirmeniz yeterli.

Leave a Comment

Excel Hücrelerini Metne Sığdırma: 4 Kolay Çözüm

Excel Hücrelerini Metne Sığdırma: 4 Kolay Çözüm

Excel hücrelerini metne sığdırmak için güncel bilgileri ve 4 kolay çözümü keşfedin.

Bir Excel Dosyasının Boyutu Nasıl Küçültülür – 6 Etkili Yöntem

Bir Excel Dosyasının Boyutu Nasıl Küçültülür – 6 Etkili Yöntem

Bir Excel Dosyasının Boyutunu Küçültmek için 6 Etkili Yöntem. Hızlı ve kolay yöntemler ile verilerinizi kaybetmeden yer açın.

Pythonda Self Nedir: Gerçek Dünyadan Örnekler

Pythonda Self Nedir: Gerçek Dünyadan Örnekler

Python'da Self Nedir: Gerçek Dünyadan Örnekler

Rde Bir RDS Dosyası Nasıl Kaydedilir ve Yüklenir

Rde Bir RDS Dosyası Nasıl Kaydedilir ve Yüklenir

R'de bir .rds dosyasındaki nesneleri nasıl kaydedeceğinizi ve yükleyeceğinizi öğreneceksiniz. Bu blog aynı zamanda R'den LuckyTemplates'a nesnelerin nasıl içe aktarılacağını da ele alacaktır.

İlk N İş Günü Tekrar Ziyaret Edildi – Bir DAX Kodlama Dili Çözümü

İlk N İş Günü Tekrar Ziyaret Edildi – Bir DAX Kodlama Dili Çözümü

Bu DAX kodlama dili eğitiminde, GENERATE işlevinin nasıl kullanılacağını ve bir ölçü başlığının dinamik olarak nasıl değiştirileceğini öğrenin.

LuckyTemplatesda Çok İş Parçacıklı Dinamik Görsel Tekniği Kullanarak Öngörüleri Sergileyin

LuckyTemplatesda Çok İş Parçacıklı Dinamik Görsel Tekniği Kullanarak Öngörüleri Sergileyin

Bu eğitici, raporlarınızdaki dinamik veri görselleştirmelerinden içgörüler oluşturmak için Çok Kanallı Dinamik Görseller tekniğinin nasıl kullanılacağını kapsayacaktır.

LuckyTemplatesda İçeriği Filtrelemeye Giriş

LuckyTemplatesda İçeriği Filtrelemeye Giriş

Bu yazıda, filtre bağlamından geçeceğim. Filtre bağlamı, herhangi bir LuckyTemplates kullanıcısının başlangıçta öğrenmesi gereken en önemli konulardan biridir.

LuckyTemplates Çevrimiçi Hizmetindeki Uygulamaları Kullanmak İçin En İyi İpuçları

LuckyTemplates Çevrimiçi Hizmetindeki Uygulamaları Kullanmak İçin En İyi İpuçları

LuckyTemplates Apps çevrimiçi hizmetinin çeşitli kaynaklardan oluşturulan farklı raporların ve içgörülerin yönetilmesine nasıl yardımcı olabileceğini göstermek istiyorum.

Fazla Mesai Kâr Marjı Değişikliklerini Analiz Edin - LuckyTemplates ve DAX ile Analitik

Fazla Mesai Kâr Marjı Değişikliklerini Analiz Edin - LuckyTemplates ve DAX ile Analitik

LuckyTemplates'da ölçü dallandırma ve DAX formüllerini birleştirme gibi teknikleri kullanarak kâr marjı değişikliklerinizi nasıl hesaplayacağınızı öğrenin.

DAX Studioda Veri Önbellekleri İçin Materyalleştirme Fikirleri

DAX Studioda Veri Önbellekleri İçin Materyalleştirme Fikirleri

Bu öğreticide, veri önbelleklerini gerçekleştirme fikirleri ve bunların DAX'ın sonuç sağlama performansını nasıl etkilediği tartışılacaktır.