Outlook Web’de Takvim Pano Görünümü

OUTLOOK WEB’DE TAKVİM PANO GÖRÜNÜMÜ

 

Merhabalar,

Yaklaşık 2 yıl önce paylaştığımız Microsoft Outlook Spaces başlıklı yazımızda bahsettiğimiz, whiteboard tarzı sürükle bırakla tüm office uygulamalarınızı tek bir alanda pano içerisinde görütüleyebileceğinizden söz etmiştik.

 

Gelin şimdi de adım adım neler yapılabileceğinden bahsedelim.

İlk olarak https://outlook.office.com/ adresine giriş yapın.
Sol menüden Takvimi tıklayın.

Sağ köşedeki Panoyu tıklayın. Sonrasında dilerseniz Yeni pano oluşturabilir veya mevcut bir Panoyu seçebilirsiniz.

Ekrana gelen Panonuza aşağıda göreceğiniz üzere birçok öğe ekleyebilirsiniz.

PANOYA EKLENEBİLECEK ÖĞELER

 

Örnek Pano Görünümü

Power Automate Butonu İle Power BI Verilerini Excel Olarak Nasıl Alırsınız?

Merhaba BI Fanları!

Bu yazımızda geldiğinden beri oldukça ses getiren “Power BI ‘da Power Automate/Flow Butonu” nu biraz daha yakından inceleyeceğiz. Power Automate de ne diyenler için, Power Automate Microsoft ürünü olan veya olmayan birçok bağlantıyı kullanarak manuel yürüttüğünüz Sistemleri mümkün olduğunca otomatik hale getiren bir Microsoft ürünüdür. Detaylı bilgi için şu yazımıza göz atabilirsiniz.

Bildiğiniz gibi Power BI ile Power Automate oldukça limitli bağlantı noktaları vardı. Power Automate kullanarak Power BI veri setini yenileyebilir ve yeni satır ekleyebilir (detay için) ya da Power BI’da data alert çalıştığında yapılacak aksiyonlar için bir akış tasarlayabilirdiniz. Yeni gelen özellikler de raporları çıktı alabilir veya butona basarak farklı türde çıktılar alabilir ya da başka işlemler başlatabilirsiniz. Biz de bu yazımızda nasıl veri çıktısı alabileceğimize göz atacağız.

Power BI’da Power Automate butonu

Power BI’da Power Automate butonunu eklemek için “Get More Visual” diyerek custom görsel penceresiden seçilip eklenir.

Flow butonunu rapora ekleme

Şimdi Flow görseline tıklayalım ve rapor sayfasına gelmesini sağlayalım. Görsel rapor sayfasına geldiğinde bize şu şekilde bir tanıtım gösteriyor. Aynı zamanda gördüğünüz gibi “Fields” alanında Power Automate görselinin istediği şey sadece data. Bu alana birden fazla da değer getirebiliyoruz. Hazırda bir akışınız varsa onunla da bağlayabilir ya da yeni bir akış da oluşturabilirsiniz. Ben yeni bir akış oluşturacağım.

Flow butonunu dizayn etme

Ben tüm veriyi çekmek istediğim için tüm sütunları bu görsele ekliyorum. Eklememe rağmen Power Automate görselinde herhangi bir değişiklik yok ve biz buna hiç alışık değiliz! Bunu neden böyle yapmışlar açıkcası hala anlayamadım, ama görselde de 2.adımda belirttiği gibi 3 noktaya basıp edit diyoruz.

Bu adımda gördüğümüz pencere ise Power Automate ile daha önceden haşır neşir olanlara tanıdık gelen bir sayfa. Bizim istediğimiz akış için new ifadesine tıklayarak Instant cloud flow ifadesine tıklıyoruz. İlk adımımız olarak “Power BI Button Clicked” tetikleyicisi yer alıyor. Burada bir data export etmek istediğimiz için bunu birkaç yoldan yapabiliriz. Sharepointe kaydedebiliriz ya da mail olarak da göndertebiliriz. Ben mail olarak gönderteceğim. Sadece son adım değişecek ikisinde de.

2.Adım olarak Power Automate ‘in yerleşik bir özelliği olan “Data Operation” özelliğinin içinde yer alan “Compose” ve “Create CSV Table” kullanacağım. Compose özelliği ile object tipinde gelen datayı arraya çevirerek CSV Tablosu oluşturma şansına sahip oluyorum. Burada seçilecek dinamik içerik “Power BI data”.

Create CSV Table içeriği de bir önceki adımın çıktısı olmalı.

Bu adımdan sonrası sharepointe de bağlayabilirsiniz.  Mail gönderimini seçiyorum ve gerekli bilgileri dolduruyorum. Kime gideceği bilgisini butona basıldığında toplanan bilgilerden seçiyorum: Kişinin mail adresi. Duruma uygun bir başlık ve body belirliyorum. Ek eklemeye geldiğimizde ekin içeriği üstte oluşturduğum csv tablo çıktısı olacak. Ekin ismi ise gene istediğiniz bir isim olmakla beraber muhakkak sonuna “.csv” ifadesini ekliyoruz. Bunun sebebi bunun csv dosyası olarak algılabilmesini sağlamak.

Gelen mailimizin içeriği de şu şekilde:

Burada önemli bir not: Şu an için 1000 satıra kadar desteklediği görünüyor. 1000 satırı aşmayacak veri exportlarınızı bu yöntemle yapabilirsiniz.

Başka bir yazımızda görüşmek dileğiyle, hoşça kalın.

Good game well played.

Power BI ‘da “Yardım Al” Butonu Nasıl Oluşturulur?

Merhaba BI Fanları,

Bu yazımızda Power Automate butonuyla yapabileceğimiz bir “Yardım al” butonu tasarlayacağız. Power Automate ile ilgili detaylı yazımıza buradan ulaşabilirsiniz. Yine power automate ile yaptığımız şu işlere de göz atabilirsiniz.

Power BI’da Power Automate butonu ile çok fazla farklı işlemler oluşturulabilir. Butona basıldığında o anda butona basan kişi bilgisi, zaman, butona eklenen veriler gibi birçok bilgiye erişim imkanı sağlayabiliyoruz. Biz,5 dakikada oluşturup çalıştırmaya başlayacağımız bir Yardım butonu tasarlamak istiyoruz. Rapor kullanıcısı raporu kullanırken desteğe ihtiyacı varsa butona bassın ve Microsoft Teams’den rapor sorumlusuna mesaj gitsin.

Power BI’da Power Automate butonunu eklemek için “Get More Visual” diyerek custom görsel penceresiden seçilip eklenir.

Power Automate butonunu rapora ekleme

Şimdi Flow görseline tıklayalım ve rapor sayfasına gelmesini sağlayalım. Görsel rapor sayfasına geldiğinde bize şu şekilde bir tanıtım gösteriyor. Aynı zamanda gördüğünüz gibi “Fields” alanında Power Automate görselinin istediği şey sadece data. Bu alana birden fazla da değer getirebiliyoruz. Hazırda bir flowunuz varsa onunla da bağlayabilir ya da yeni bir akış da oluşturabilirsiniz. Ben yeni bir akış oluşturacağım.

Flow butonunu dizayn etme

Bir “Yardım al” butonu tasarlıyoruz.Bunun için herhangi ekstra bir bilgiye ihtiyacımız yok. Yönergeleri izleyerek 3 noktadan edit komutuna tıklıyorum.

Bu adımda gördüğümüz pencere ise Power Automate ile daha önceden haşır neşir olanlara tanıdık gelen bir sayfa. Gördüğünüz gibi kendiniz yeni bir akış tasarlayabilir veya aşağıda olan hazır örnekleri de kullanabilirsiniz. Biz de bu örnek şablonlardan kullanacağız. Kullanacağımız şablonun ismi: “Power BI’dan Teams mesajı gönder” olacak.

Hazır şablonu açtığımızda 2 adımdan oluştuğunu görmekteyiz. Bu akışı Power BI ‘da butona basılması tetikleyecek ve bu tetikleme sonunda rapor sahibine veya yardımcı olacak kişilere Microsoft Teams üzerinden mesaj gidecek. Bizim burada yapmamız gereken işlem mesaj içeriğini doldurmak.

Mesaj gönderirken 5 özellik var:

1-Mesajın kime gidecek?: Rapor sahibi olarak kendi mail adresimi yazıyorum.

2-Mesaj içeriği nedir?: Kimin sorun yaşadığı bilgisini Power BI’da butona basılma anındaki toplanan verilerden seçiyorum. Kişinin ismi ve durumu özetleyen bir yazıyı da beraberine ekliyorum. Birhan Aydın (tetiklemeden gelen özellik) raporla ilgili yardıma ihtiyacı var.

3- Başlık nedir?: Mesajın başlığı. Rapor desteği olarak belirttim.

4-Bildirim olarak görülecek mi?: (Isalert) kısmı yes olduğunda Teams’in activity alanında çıkan ve Teams bildirimi almanızı sağlar.

5- Özet nedir?: IsAlert kısmı yes olduğunda bildirimlerde gözükecek kısa bilgi.

Bu bilgileri doldurduktan sonra kaydete basıyoruz. Önemli nokta, save dedikten sonra apply ifadesine de tıklamak. Apply demeden butonda bu akış aktif hale gelmiyor.

Bu işlemleri tamamladıktan sonra biri butona bastığında aldığınız mesaj şu şekilde oluyor.

Eğer “isalert” açıksa -açık olmasını öneririm- activity alanında çıkan yazı da böyle gözüküyor.

Böylece ilgili kişi ile hızlıca etkileşim kurabilirsiniz. Çoğu kişinin raporları kullanmayı bırakma sebebi aslında raporla ilgili sıkıntıya düştüğünde bunun peşine düşmemesi ve destek alamaması. Bazen kiminle iletişim kuracağını bilmedikleri için bu işleme girişmiyorlar bazense başka bu işlem o an için oldukça eforlu geldiği için. Hayatta da böyledir. Gerçek bir muhatap bulduğumuz takdirde aradaki anlaşma sağlanabilir ve bu anlaşmaya devam edilebilir. Bu sebeple bunu kullanmakta da hem rapor yapan kişinin kullanıcıların davranışlarını görme ve buna aksiyonu sağlarken aynı zamanda raporu kullanan kişilerin de güvenlerini tazeleyecektir.

Son olarak butonu biraz daha görsel olarak uygun hale getirme durumu var. Butonun şu an için çok az bir noktasını düzenleyebiliyoruz. Arka plan rengini ve buton yazısını. Oynat simgesi ise şu an için kaldırılamıyor. Ama yanına ayrıca ufak iconlar da ekleyebiliyorsunuz.

Artık herşey hazır. Yayınladıktan sonra aktif şekilde kullanabilirsiniz. Bu akışı çok daha komplike şekilde de tasarlayabilirsiniz. Örneğin raporun ismini de mesaja yazabilir ya da hemen plannerda bununla ilgili task oluşturabilirsiniz. Power BI ve Power Automate’in ortaklaşa gideceği yol daha çok var, her gelen güncelleme de bunu arttırıyor. Daha iyileriyle görüşmek üzere.

Good game well played.

5 Adımda Azure Synapse Analytics Kurulumu

Selamlar! Ben PEAKUP Business Analytics ekibinden Özgür! bu da PEAKUP blog sayfasındaki ilk yazım. 🤭 Azure Synapse Analytics dünyasına hızlı bir bakış ilk yazı için oldukça havalı bir giriş olacağını düşündüm. Ama öncesinde bir Azure Synapse Analytics workspacesine ihtiyacım var. 😐

Hadi gelin birlikte oluşturalım! Azure Portal ana sayfada üst kısımdaki arama bölümüne Azure Synapse Analytics diye aratarak kurulum sayfasına ulaşabiliriz. Basics, Security, Networking, Tags, Review + create adımları karşımıza çıkıyor. Bu aşamaları tek tek anlatalım.

1- Basics

İlk aşamada temel bir Microsoft Azure hizmet oluştururken ihtiyaç duyduğumuz adı ne olmalı, hangi resource group altında oluşacak, hangi regionda barınacak gibi sorulara cevap veriyoruz.

  • Subscription: Workspace yetkiniz olduğu hangi azure faturalandırma hesabı altında var olacak.
  • Resource Group: Workspace hangi azure kaynak grubu altında olacak. Henüz bir kaynak grubunuz yoksa bu aşamada Create New diyerek yeni bir kaynak grubu oluşturabilirsiniz.
  • Managed Resource Group: Azure Synapse Analytics workspacesi oluşurken yanında bir kaç hizmet daha ayağa kalkacak bu hizmetler hangi grup altında oluşsun bunu belirliyoruz. Boş geçersiniz bizim yerimize otomatik bir isim verecek.

Sırada workspace detayları var 🤓

  • Workspace name: Oluşturcağımız workspace bir isim verelim.

    Çalışma alanı adı 1 ila 50 karakter uzunluğunda olmalıdır. Çalışma alanı adı bir harf veya sayı ile başlamalıdır. Çalışma alanı adı bir harf veya sayı ile bitmelidir. Çalışma alanı adı benzersiz olmalıdır.

  • Region: Oluşacak olan workspace bir Azure Hizmeti olduğundan ülkemize en yakın Region seçimi yaparak ilerleyebiliriz.

  • Select Data Lake Storage Gen2: Bir lake hause projesinin olmazsa olmazları txt, csv, json gibi dosyalarımız barınacağı bir Storage hesabı oluşturalım.

  • Account Name: Storage Account adını girelim veya var olacak bir Account seçip ilerleyelim.

  • File System Name: Storage Account altındaki bir file system seçelim yoksa Create New diyerek yeni bir tane oluşturalım.

Basics sayfası bu kadar. 🙃 Security aşamasına ilerleyebiliriz.

2- Security

Adından da anlaşılacağı gibi çalışma alanınız için güvenlik seçeneklerini yapılandıracağımız aşamadayız.

Bu aşamada bizi ilgilendiren kısım; SQL administrator credentials workspace altında oluşturacağımzı dedicated veya serverless sql pool veri tabanlarına hangi bilgilerle erişeceğimizi burada belirliyoruz.

next next please 👉

3- Networking

Oluşturacağımız çalışma alanımızın temel ağ ayarlarını yapılandırın.

Bu aşamada özel bir sanal network tarzı bir yapıya ihtiyacınız yoksa varsayılan ayarları bırakıp diğer sayfaya ilerleyebiliriz.

4- Tags

Oluşturduğunuz herhangi bir Microsoft Azure hizmetine etiket vererek hizmetleri ayırarak gruplayabilirsiniz. Bunun amacı kategorilere ayırdığınız hizmetlerin faturalandırma, kullanım gibi detaylarını daha iyi analiz edebilmek.

Zorunlu bir aşama değil boş bırakıp da ilerleyebiliriz.

5- Review + create

Önceki adımlarda herhangi bir şeyi atlamayıp isimlendirme vs konusunda hata almadıysak başlamaya hazırız. Synapse Analytics ilk oluştuğunda içerisinde default olarak gelen Serverless SQL‘nin fiyatlandırmasına ve altında workspace ile ilgili detayları görüyoruz.

Artık hazırız! 🚀 Sonraki yazıda görüşmek üzere.

 

DAX ile Tarih tablosu oluşturun!

Merhaba BI Fanları,

Bu yazımızda hemen her raporumuzda kullandığımız bir yapıdan bahsedeceğiz: Tarih Tablosu. Kullandığınız modelde bir tarih tablosu olmadığı için sizin mutlaka bu tabloyu oluşturmanız gerekiyor. Bu tabloyu oluşturmanın en önemli sebeplerinden biri Time Intelligence fonksiyonlarının kullanımıdır. Bu fonksiyonlar doğru çalışmak için atlanmadan tüm tarihlerin olduğu bir sütuna ihtiyaçları vardır. Bir diğeri ise birden fazla tabloyu aynı tarih aralığında filtrelemek istiyorsanız gene bir tarih tablosuna ihtiyacınız olur. Şimdi bunun nasıl oluşturabileceğimize bakalım.

Öncelikle Power BI’ın varsayılan olarak her tablo için bir tarih tablosu oluşturduğunu bilmemiz gerekiyor. Biz, bu tarih tablolarını raporda görmeyiz ancak ilgili tablodan tarih hiyerarşisine göre değer getirmeyi sağlayan bu tablodur. Bizim kontrolümüzde değildir ve tabloların boyutları büyüdükçe bu tarih tabloları da oldukça yer kaplayacağı için raporumuzda bize zorluk çıkaracaktır. Bu sebepten dolayı bunların kaldırılması gerekmektedir.  Bu tabloları Dax Studio’da görebilirsiniz.

 

Bu işlemi oluşturacağınız her rapor için yapmanız gerekmektedir. Rapor oluştururken en başta yaparsanız daha iyi olur, sonradan yaptığınızda raporunuzdaki görsellerde birtakım farklılıklar olabilir bunları da düzeltmeniz gerekmektedir.

File sekmesinde Options & Settings’e gelerek Options’a tıklıyoruz. “Time Intelligence” başlığı altındaki “Auto date/time” ifadesinin tikini kaldırıyoruz.

Şimdi yapmamız gereken bir date tablosu oluşturmak. Bunu DAX ile yapacağız. Fonksiyonları kullanmak için tarihlerin geçtiği tek bir sütun aslında bize yeterlidir. Tabii ki bizim analizlerimiz çeyrekleri, ay isimlerini, haftanın günlerini de kapsayabileceği için daha fazla detayı olan bir tabloya ihtiyacımız var.

Tarihleri oluşturmak için Modeling sekmesine gidip New Table’a tıkladıktan sonra Calendar fonksiyonu ile başlıyoruz:

CALENDAR(DATE(2021,1,1), DATE(2021,12,31))

Bu yapı bize 1 Ocak 2021 tarihi ile 31 Aralık 2021 tarihi arasındaki tüm tarihleri içeren tek sütunlu bir tablo döndürmüş olur.

Hemen sizlerden şunu duyar gibiyim: “Bunu dinamik oluşturamıyor muyuz?”. Tabii ki oluşturabiliriz. Bunun için bu ifadeye şöyle bir revize geçiyoruz:

CALENDAR(MIN(Table1[Tarih]), MAX(Table1[Tarih]))

 

Table1[Tarih]: Modelinizdeki en eski ve en yeni tarihlerin olduğu tablo. Bunlar iki ayrı tablo ve iki ayrı sütun da olabilirdi. Min ve max fonksiyonlarıyla en eski ve en yeni tarihleri buluyoruz.

Bundan sonrası için yıl, ay ve haftanın günü bilgilerini yeni bir sütun olarak ekleyelim:

Yıl = YEAR('Tarih Tablosu'[Date])

Ay no = MONTH('Tarih Tablosu'[Date])

Haftanın günü = WEEKDAY('Tarih Tablosu'[Date])

Hafta No = WEEKNUM('Tarih Tablosu'[Date],2)

 

Elimizde son durumda bulunan bilgiler bunlar:

Bunların yanına Format fonksiyonunu kullanarak birkaç metinsel bilgi de ekleyebiliriz:

Yıl/Ay = FORMAT ( [Date], "YYYY/MM" )

Tarih-sayı = FORMAT ( [Date], "YYYYMMDD" )

Yıl/Ay - Kısa = FORMAT ( [Date], "YYYY/MMM" )

Ay Adı - Kısa = FORMAT ( [Date], "MMM" )

Ay Adı - Uzun = FORMAT ( [Date], "MMMM" )

Haftanın günü - kısa = FORMAT ( [Date], "ddd" )

Haftanın günü - uzun = FORMAT ( [Date], "dddd" )

Çeyrek = FORMAT ( [Date], "Q" )

Yıl & Çeyrek = FORMAT ( [Date], "YYYY" ) & "/Q" & FORMAT ( [Date], "Q" )

Bu bilgilerden sonra tablom şöyle görünüyor:

Gördüğünüz gibi oldukça kapsamlı bilgiler içeren bir tarih tablom olmuş oldu. Şimdilik gözümüze bu yaptığımız işlemler zorlayıcı gelmiş olabilir. Çünkü her seferinde kodları taker taker yazmamız gerekiyor. Tak-çalıştır olarak kullanabileceğiniz Tarih tablosu kod bloğunu ise aşağıya yapıştırıyorum. Yeni tablo ekle dedikten sonra bu kodu yapıştırmanız ve min&max tarihleri alacağı tablo ve sütunu ilgili yere yazmanız yeterli olacaktır.

Tarih Tablosu= ADDCOLUMNS (
CALENDAR (MIN(Table1[Tarih]), MAX(Table1[Tarih])),
"Yıl" ,YEAR([Date]),
"Ay no" , MONTH([Date]),
"Haftanın günü" , WEEKDAY([Date]),
"Hafta No", WEEKNUM([Date],2),
"Yıl/Ay", FORMAT ( [Date], "YYYY/MM" ),
"Tarih-sayı", FORMAT ( [Date], "YYYYMMDD" ),
"Yıl/Ay – Kısa" , FORMAT ( [Date], "YYYY/MMM" ),
"Ay Adı – Kısa", FORMAT ( [Date], "MMM" ),
"Ay Adı – Uzun" , FORMAT ( [Date], "MMMM" ),
"Haftanın günü – kısa", FORMAT ( [Date], "ddd" ),
"Haftanın günü – uzun", FORMAT ( [Date], "dddd" ),
"Çeyrek", FORMAT ( [Date], "Q" ),
"Yıl & Çeyrek", FORMAT ( [Date], "YYYY" ) & "/Q" & FORMAT ( [Date], "Q" )

İngilizce başlıklar isteyenler de bunu kullanabilir:

Date Table= ADDCOLUMNS (
CALENDAR (MIN(Table1[Tarih]), MAX(Table1[Tarih])),
"Year" ,YEAR([Date]),
"MonthNo" , MONTH([Date]),
"DayofWeek" , WEEKDAY([Date]),
"Week Num", WEEKNUM([Date],2),
"Year/Month", FORMAT ( [Date], "YYYY/MM" ),
"Date as Integer", FORMAT ( [Date], "YYYYMMDD" ),
"Year/Month - Short" , FORMAT ( [Date], "YYYY/MMM" ),
"Month Name - Short", FORMAT ( [Date], "MMM" ),
"Month Name - Long" , FORMAT ( [Date], "MMMM" ),
"Day of Week - Short", FORMAT ( [Date], "ddd" ),
"Day of Week - Long", FORMAT ( [Date], "dddd" ),
"Quarter", FORMAT ( [Date], "Q" ),
"Year/Quarter", FORMAT ( [Date], "YYYY" ) & "/Q" & FORMAT ( [Date], "Q" )

 

Hatırlanması gerekenküçük bir nokta Ay isimlerini ve gün isimlerini ilgili ay no ve gün no sütunlarına göre sıralamanızdır. Bu sayede grafiklerinizde doğru sırada gözükecektir.

Başka yazılarımızda görüşmek üzere hoşça kalın.

Good game well played

Power BI ‘da Veri Uyarısı çalıştıktan sonra nasıl otomatik süreçler oluşturabiliriz?

Merhaba BI Fanları,

Bu yazımızda Power BI’ın mevcutta bulunan veri uyarısı özelliğini nasıl geliştirebileceğimizden bahsedeceğiz. Veri uyarıları, panolardaki kartlarda geçerli bellik bir eşik değere göre karttaki değeri karşılaştırarak önemli durumlarda bildirim almanızı sağlayan bir yapı. Daha önceki şu yazımızda veri uyarısı üzerine detaylıca anlatıp bir veri uyarısı oluşmuşturduk. Peki bu alarm çalıştıktan ne gibi aksiyonlar alabiliriz? E-mail göndermek dışında seçenekler arıyorsak o zaman devreye Microsoft’un bir başka ürünü olan Power Automate giriyor. “Power Automate de nedir?” diyenleriniz var ise detaylı genel bakış yazııza buradan ulaşabilirsiniz.

Biz veri uyarısını oluşturduktan sonra bütün süreç Power Automate üzerinden ilerleyecek. Power Automate ‘de yeni bir akış oluşturacağız. Bu akışın tetikleyicisi, “Bir veri uyarısı tetiklendiğinde” olacak.

Bundan sonra ekleyeceğimiz tüm adımlar tek başına veya peşpeşe kullanılabilir.

1-Planner ‘da görev oluştur

Bu durumun normal olmadığı gerekçesiyle hemen ekibin ilgilenmesi için otomatik olarak bir planner görevi oluşturabilrisiniz. Bunun için Planner bağlayıcısının “Create task” seçeneğini seçiyoruz. Doldurulması mutlaka gereken 3 alan var:

Hangi ekip dolduracak? : Group Id (Grup)

Hangi planner? : Plan Id (Plan İsmi)

Oluşturulacak görevin başlığı ne olacak? : Burada tetikleyicinin çıktısı olan alarm başlığını seçiyorum.

Bu işlere bakacak kesin kişiler var ise assigned user ids alanı da doldurulabilir.

2- Microsoft Teams’de mesaj gönder

Hızlıca üzerine konuşabilmek adına Microsoft Teams’de bir grubun kanalına post edilebilir bir içerik oluşturabilirsiniz. Bunun için Teams ‘in altında bulunan seçeneklerden “Post a message” seçeneğini kullanabilirsiniz.

3- Acil Toplantı Organize Et

Konunun çok aciliyeti varsa Power Automate kullanarak hızlı bir toplantı organize edebilirsiniz. Bunun için Office 365 Outlook’un altındaki içeriklerden “Create Event” başlığını kullanacağız. Start time ve end time için utcNow() fonksiyonunu kullandık. Bu fonksiyon o andaki tarih ve zamanı bize getirir. Bunu expressions alanını kullanarak elde ettik.

Start time ve end time için aynı değeri kullandığımızdan dolayı bu toplantı takvimimizde çok küçük bir yer topluyor. Endtime ‘ı daha fazla geliştirmek isterseniz yinr expressionsları kullanarak istediğiniz kadar süreyi ekleyebilirsiniz. Takvimde görünmesi için bu kadarı da yeterlidir. Kimlerin bilgisinin olması gerektiğine ilişkin bir de “Required attendess” alanı doldurulursa herkese de bunun bilgisi gitmiş olur.

4 – Mail Gönderimi

Bunlar dışında tabii ki maili birçok kişiye atmak da bir opsiyon. Veri uyarılarında şu an mail olarak alarmın sahibine mail gönderilmesi de mevcut ancak bunu daha fazla kişiye göndermek istiyorsak kullanabiliriz.

Bu başlıkların hepsi akla en hızlı gelen başlıklardır. Sizin şirketinize özel başka bir durumda olabilir. İstediğiniz durumun Power Automate ile sağlanıp sağlanmayacağı bilgisini araştırmanız faydalı olacaktır. Dilerseniz bizlere de danışabilirsiniz. Olayları mümkün olduğunca otomatikleştirmek için sınırlarımızı zorlamalıyız. Zaman geri alınamıyor ve bu yüzyılın en kıymetli değeri.

Bir başka yazımızda görüşmek üzere…

Good game, well played.

Çözüldü: Veri Yenilemesindeki Type Mismatch hatası

Merhaba BI Fanları,

Bu yazımızda sizlerle veri yenilemesi yaparken karşılaşılan en sık hatanın çözümü hakkında konuşacağız: Type Mismatch.

Power BI ‘da veri kaynağına bağlanıp bazı tabloları rapora çektiğinizde Power Query, bu tablolarda varsayılan bir işlem gerçekleştirir: Changed Type. Bu işlem her sütunun doğru veri türünde olmasını sağlayan işlemdir ve her tabloda uygulanır. Doğru veri türü, bizim doğru hesaplamalar yapabilmemiz için oldukça gerekli bir işlemdir.

Veri kaynağına ilk defa bağlanıldığında Power Quey, sütunlar için uygun veri tiplerini kendisi bulur ve “Change Type” adımında artık bu sütunlar için olacak olan veri türünü belirler. Veri türü belirlenmemiş sütunların veri türü şöyle görünür:

Rapor oluşturucuları da mümkün olduğunca bundan kaçınmaya çalışarak sütun için uygun veri türlerini seçmeye çalışır.

Power Query’de veri türlerinin algılanması ve sütuna uygun veri türünün uygulanması işlenmesi ilk bağlantıya özgüdür. Bundan sonra bu veri kaynağı yenilendiğinde Power BI sadece yeni gelen değerlerin ilgili sütunun belirlenen veri türüyle eşleşip eşleşmediğine bakar. Eğer yeni gelen değerler sütunun veri türüyle eşleşmiyorsa bu satırlar için hata döndürür ve karşımıza “Type Mismatch” hatasını çıkartır.

Hatalı hücreye tıkladığınızda alt alandaki hata detayı genelde şöyledir:

Bu hatayı aldığınızda 2 durum söz konusu olabilir:

  • Veri kaynağına yanlış yazım olmuştur.
  • Bu sütun için artık yeni gelecek değerle farklı bir veri türünde gelebilir.

Eğer durum birinci seçenekteki gibiyse veriyi size sağlayanlara hemen bu durumu bildirmek gerekiyor. Eğer durum ikinci seçenekteki gibiyse iki farklı yoldan bu durumu çözebilirsiniz:

1-Change Type adımını yeni veri türünü de kapsayacak şekilde düzelt.

Bu adımda “Applied Steps” adımlarında “Change Type” seçili olacak şekilde hata veren sütunun veri türünü “Text” yapabiliriz.

Bu işlemden sonra bize bir pencere çıkacak;  bu pencerede yapacağımız işlemin de bir veri türü işlemi olmasından dolayı önceki veri türü işlemi üzerine yazılsın mı diye soruluyor. Biz de buna evet diyoruz. Yeni bir adım olarak eklemek bu durumu çözmez.

Böylece tüm hatalar gitmiş ve hücrenin gerçek değeri karşımıza gelmiş oluyor.

2-Changed Type adımını kaldır

Bir diğer seçenek ise “Changed Type” adımını kaldırabilirsiniz. Bunu yaparken diğer sütunların nasıl etkileneceğini doğru analiz etmekte fayda vardır. Özellikle ondalıklı değere sahip veya binlik ayıraçlı gelen değerlere sahip sütunlar bu durumdan en çok etkilenenlerdir. Eğer üzerine tekrar bir “Change Type” adımı oluşturmazsanız karşılaşacağınız görüntü böyle olur:

Type mismatch hatasının neden oluştuğu ve bu hatayı nasıl kaldırabileceğimize dair yazımızı tamamladık. Bir başka yazımızda görüşmek üzere.

Good game well played.

Çözüldü: Veri Yenilemesindeki Premium_ASWL_Error

Merhaba BI fanları!

Bugünkü yazımızda sizlerle Power BI Portal’da veri yenilemesinde karşılabileceğiniz “Premium_ASWL_Error” hatasının nasıl çözüleceğine dair bilgileri paylaşıyor olacağız. Bu hatanın temeli direct query bağlantı modelinin power bi datasetlerinde ve Azure Analysis Services’daki kısıtlamalarından kaynaklanmaktadır. Power BI ‘da bağlantı modlarını bu yazımızda detaylı inceleyebilir ve karşılaştırmasını bulabilirsiniz.

Öncelikle bu hatayı almak için gereken senaryomuzu kurgulayalım:

Kullanıcıya iki farklı tarih aralığı seçtirterek bu aralıkları birbirleriyle kıyaslayabilecek bir analiz yaptırmak istiyorum. Veri Kaynağı olarak Azure Analysis Services’i seçiyorum ve mevcut hazırda olan modelime bağlanıyorum. Modellerin hepsinde mutlaka bir date tablosu zaten vardır. Benim yapmak istediğim analiz için 2 periyot karşılaştıracağımdan 2 farklı date tablosuna ihtiyacım var. Çünkü tek bir date tablosundan 2 farklı seçimi algılanmayacaktır.

Bunun için ekstra bir date tablosu oluşturacağız. Normalde date tablosu oluştururken bunu DAX ile “Calculated Table” olarak oluşturabiliriz. Dax ile date tablosu oluşturma yazımız için tıklayınız. Oluşturduğumuz tabloyu da hesap yapılacak tablo ile bağlıyoruz.

 

Ardından Power BI Portal’a yüküyoruz ve yenileme başlatıyoruz. Bam! İşte karşılaştığımız hata:

Eğer yenilemeyi .pbix dosyasında yaparsanız böyle bir hata almayacak ve herşey yolundaymış gibi gözükecektir. Ancak her zaman otomasyondan yana olduğumuz için her gün .pbix dosyasının yenileyip tekrar portala yüklenmesindense otomatik yenilemenin aktif olmasını isteriz. Otomatik yenileme nasıl yapılır? Yazımıza bakabilirsiniz.

 

Bu karşılaşan hatanın sebebini Microsoft’un Using DirectQuery for Power BI datasets and Azure Analysis Services (preview) yazısında buluyoruz.

Analysis Services’a direct query ile bağlantı yapılmasında bazı kısıtlamaları var. Bunlardan bir tanesi Azure Analysis Services’dan veri çekilen bir .pbix dosyasının Power BI Service’a yayınlandıktan sonra bu dosyanın içinde bulunan hesaplanmış tablolarının desteklenmemesidir. Hesaplanmış tablolar dax ile oluşturulan tablolar anlamına gelmektedir. Bizim örneğimizde de biz DAX ile Date tablosu oluşturmuştuk. Bu tabloyu silip service tarafında yenileme işlemi başlattığımda herhangi bir sorunla karşılaşmadım. Peki bu konuda ne yapabiliriz? Benim o tabloya da ihtiyacım var.

Bu konuda yapılabilecek işlem, bizim senaryomuz için Date tablosunu, sizin senaryonuzdaysa hesaplanmış tabloyu Power Query tarafında tekrar elde etmeye çalışmak.

Power Query’de de M dili kullanılmaktadır. M dilli bize birçok imkan sağlar. Dax’dan biraz daha farklı bir yapısı vardır.

Calculated table ile oluşturduğunuz tabloyu Power Query’de de M diliyle oluşturabilirsiniz. Senaryomuz için gerekli olan Date tablomuzu oluşturmak için öncelikle boş sorgu oluşturuyoruz.

Advanced Editörü açarak aşağıdaki kod bloğunu yapıştırıyoruz. Benim senaryom için bu kod bloğu ile oldukça yeterli bir Date tablosu oluşturabildim.

let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjDUByIjAwMDpdhYAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [StartDate = _t]),
#"Added Custom" = Table.AddColumn(Source, "EndDate", each Date.From(DateTime.LocalNow())),
#"Changed Type2" = Table.TransformColumnTypes(#"Added Custom",{{"EndDate", type date}}),
#"Changed Type" = Table.TransformColumnTypes(#"Changed Type2",{{"StartDate", type date}}),
#"Added Custom1" = Table.AddColumn(#"Changed Type", "Dates", each {Number.From([StartDate])..Number.From([EndDate])}),
#"Expanded Dates" = Table.ExpandListColumn(#"Added Custom1", "Dates"),
#"Changed Type1" = Table.TransformColumnTypes(#"Expanded Dates",{{"Dates", type date}}),
#"Removed Columns1" = Table.RemoveColumns(#"Changed Type1",{"StartDate", "EndDate"}),
#"Added Custom2" = Table.AddColumn(#"Removed Columns1", "Year", each Date.Year([Dates])),
#"Added Custom3" = Table.AddColumn(#"Added Custom2", "Month", each Date.Month([Dates])),
#"Added Custom4" = Table.AddColumn(#"Added Custom3", "MonthName", each Date.MonthName([Dates])),
#"Added Custom5" = Table.AddColumn(#"Added Custom4", "ShortMonthName", each Text.Start([MonthName],3)),
#"Added Custom6" = Table.AddColumn(#"Added Custom5", "Quarter", each Date.QuarterOfYear([Dates])),
#"Changed Type3" = Table.TransformColumnTypes(#"Added Custom6",{{"Quarter", type text}}),
#"Added Custom7" = Table.AddColumn(#"Changed Type3", "QtrText", each "Qtr "& [Quarter]),
#"Added Custom8" = Table.AddColumn(#"Added Custom7", "Day", each Date.Day([Dates])),
#"Added Custom9" = Table.AddColumn(#"Added Custom8", "Date as Integer", each [Year]*10000 + [Month]*100+[Day]),
#"Changed Type4" = Table.TransformColumnTypes(#"Added Custom9",{{"Date as Integer", Int64.Type}}),
SelectRow = Table.SelectRows(#"Changed Type4", each Date.IsInPreviousNYears([Dates], 1) or Date.IsInCurrentYear([Dates]))

in
SelectRow

Ardından iki tablo arasında ilişki oluşturuyorum ve Power BI Service’e yayınlıyorum. Otomatik refresh ayarlarının yapıp yenileme başlatıyorum. Datasetim hiçbir sorun olmadan çalıştı. 😊

 

FORMÜLLE METNİ SÜTUNLARA DÖNÜŞTÜRÜN (Text to Columns)

FORMÜLLE METNİ SÜTUNLARA DÖNÜŞTÜR

Excel’de belli ayırıcılarla birleştirilmiş bir metni sütunlara ayırıp tablo formatına dönüştürmek için genellikle Veri / Data menüsündeki Metni Sütunlara Dönüştür  / Text to Columns özelliğini kullanıyoruz. Bu yazımızda bu işlemi formüllerle nasıl yapabileceğimizi aktarıyor olacağım.

İlk etapta şöyle bir tablomuz olduğunu düşünelim;

Bu tablodaki Ad Soyad, Adet, Stok vb. gibi verileri tablodaki ilgili alanlara aktarmak istiyoruz.
O hâlde bunu yapmanın, özellikle formüllerle iç içe olan kişiler için güzel bir yöntemini paylaşayım. Bu işi; çok geniş ve uzun bir formül yazmaya gerek kalmadan üç tane formülü iç içe kullanarak çözebiliyoruz.

Kullanılacak formüller sırasıyla bunlar olacak;

  • DEVRİKDÖNÜŞÜM  > TRANSPOSE
  • XMLFİTRELE > FILTERXML
  • YERİNEKOY > SUBSTITUTE

Bu işin sırrı aslında; XMLFİLTRELE formülü ile sanal diyebileceğimiz bir xml yapısı oluşturup oradan veri almak diyebiliriz.
Şimdi web sitelerinde ya da online hmtl editörlerde tr ve td tagları ile oluşturduğumuz table (tablo) yapılarını düşünün. Bu tablo yapısını Excel‘deki her bir satır için formülle basitçe oluşturacağız.

Tabii ki bu arada tablo yapısını tr ve td tagları ile nasıl oluşturulduğu ile ilgili ufak bir örnek göstereyim;

metin1metin2metin3

”  işte biz de bu yapıyı formülle oluşturduktan sonra XMLFİLTRELE formülü ile her bir td tagındaki veriyi alıp sütunlara aktarıyor olacağız.

Baktığımız zaman, ana tablomuzdaki metin içerisinde kullanılan ayırıcımız noktalı virgül olarak görünüyor, biz de bu ayırıcı yerine tablo yapısındaki td taglarını yazdırır isek yukarıdaki xml yapısını oluşturmuş oluruz. Noktalı virgül yerine td taglarını yazabilmek için mâlumunuz YERİNEKOY / SUBSTITUTE fonksiyonunu kullanmak gerekecek.

Oluşacak formülü adımlayacak olursak öncelikle bu şekilde başlamak iyi olacak.

=”

“&YERİNEKOY(A2;”;”;””)&”

Yukarıdaki formülü tamamladığımızda bize bu şekilde bir çıktı verecek.

 

Ali ÖZCAN5012000AA101B

 

İşte bu bizim veri alacağımız verinin tam hâlidir; bu noktadan sonra geriye, XMLFİLTRELE fonksiyonu ile genel metindeki td taglarının içerisindeki verileri alacağımızı belirtmek ve tüm metni satır boyunca aktarılmasını sağlamak kalıyor.

Aşağıdaki formülü kullanarak td taglarındaki verileri hücrelere aktarmış oluruz.

=XMLFİLTRELE(“

“&YERİNEKOY(A2;”;”;””)&”

“;”//td”))

Son aşamada artık alt alta dökülen verileri, yan yana sütunlara ayırmak için ise DEVRİK_DÖNÜŞÜM / TRANSPOSE fonksiyonunu genel formülün başına yazıyor olacağız.

=DEVRİK_DÖNÜŞÜM(XMLFİLTRELE(“

“&YERİNEKOY(A2;”;”;””)&”

“;”//td”))

Ve nihayetinde verileri tıpkı Metni Sütunlara Dönüştür / Text to Columns özelliği ile yatığımız gibi formüllerle de verileri bu şekilde sütunlara ayırmış olduk.

Office 365 Excel Aranabilir Veri Doğrulama Listesi

VERİ DOĞRULAMA LİSTESİNDE ARAMA YAPIN

14 Ocak tarihinde Office 365 Beta Kanalda ve şu an için yalnızca EN versiyonunda yayınlanan, Excel’deki açılır listeleri web sitelerindeki arama kutucukları veya seçilebilir dropdown’lar benzeri bir yapıyı artık kullanabiliriz.

 

VERİLERİ ZAHMETSİZCE BENZERSİZLEŞTİRİN

Bu özellikle beraber, veri doğrulama listenize alacağınız veriler aynı zamanda seçtiğinizde alanda tekrarlı veriler olsa dahi, onları benzersizleştirip listenizi oluşturmuş olursunuz. Web tarafındaki kullanımın aksine veriler benzersiz olarak listelenmez, tekrarsız bir liste olsun istiyorsanız bunun için dinamik dizi formülü (BENZERSİZ / UNIQUE) kullanmanız gerekebilir.

 

Örnek bir tablo ile özelliği paylaşmaya çalışayım.

search validation data

Diyelim ki; aşağıdaki gibi bir satış tablonuz var ve J1 hücresinde açılır liste olsun, içerisinde de Satış Bölgesi alanındaki verilerin benzersizlerinden oluşan bir liste yer alsın istiyoruz. Öncesinde tekrarlı verileri tekilleştirebileceğimiz UNIQUE / BENZERSİZ fonksiyonunu kullanıyoruz. Sonrasında bu yeni gelen özellik sayesine hem Satış Bölgelerinin benzersizlerinden oluşan bir liste elde etmemizi, hem de o liste içerisinde arama yaparak istediğimiz bir verinin seçilmesine olanak veriyor.

 

Örnek uygulama