Power BI Raporlarında Gizlenmiş Sayfaya Nasıl Abone Olunur?

Merhaba sevgili okur! Power BI kullanıcıları için henüz çözüme kavuşamamış önemli bir araştırma konusuyla karşınızdayız. Power BI raporlarında gizlenmiş sayfaya abone olmak istersek bunu nasıl yapabiliriz? Aslında bu özelliğin gelmesi için community sayfasında oylama yapılmış ve bu özellik kabul edilmiş ancak henüz yol haritasına eklenmemiş. Power BI ‘ın “Sayfayı Gizle” özelliğiyle portala yüklenen raporlarda bazı sayfaları kullanıcıya göstermeyeyi tercih edebiliyoruz. Bu sayfalar da genellikle detay sayfalardan oluşmakta. Bu detay sayfalarında neler var? Detay sayfalarında, direkt olarak raporda ihtiyacımız bulunmayan ama bazı kullanıcıların talepleri üzerine çok detaylı bilgileri içeren -genellikle tablolar- vardır.

Bazı noktalarda ise bu gizlenmiş sayfalar bir navigasyon ekranından yönlendirilen sayfalar olabilir veya tamamen sizin şirketinize özel bir durum olabilir. Neticede ortada kullanıcıların raporda dolaşırken sayfa adının görünmemesini ve o sayfaya direkt olarak gidilmesini istemediğiniz sayfalarınız var! Peki raporda direkt olarak gidilmesini istemediğiniz bu sayfalara kullanıcıları abone etmek isterseniz ne olur?

Power BI bunu varsayılan bir özellik olarak sunmuyor yani gizlenmiş sayfaya kullanıcıları abone edemiyoruz. Bunun detaylarını araştırırken bunun tasarım gereği olduğunu okudum. Bunu nasıl yapabiliriz diye birkaç deneme yaptıktan sonra da Power BI raporlarında gizlenmiş sayfaya nasıl abone olabileceğimizi bulduk! Şimdi nasıl yapabileceğimize bakalım:

1-Portala ilgili sayfayı gizlemeden yükleyin.

Gizli sayfa görünüyor2-İlgili sayfaya gerekli abonelikleri tanımlayın.

Gizli sayfaya abonelik3- Raporu düzenle” diyerek sayfayı gizleyin.

Sayfayı gizleyin

Tekrar okuma görünümüne geri dönün vee bu kadar!

Şimdi tanımladığımız saatte mailimizin gelmesini bekleyelim. İşte burada!

mail

Yapılışı oldukça basit ama dikkat edilmesi gereken bir nokta var. Gizlenmiş sayfaya ait abonelik ayarını asla açmayın! Açtığınızda rapor sayfası alanının boş geldiğine ve bu aboneliğin artık çalışmadığına şahit olacaksınız ve üstteki adımları tekrarlamanız gerekecek. Eğer abonelikte bir düzenleme yapmak isterseniz önce gizli sayfayı görünür yapın, ardından abonelikte düzenlemeleri yapın.

Bu durumun sebebi için şöyle bir açıklama doğru olacaktır. Arka tarafta rapor sayfalarının kaybolmadığını tasarımsal olarak ön yüzde yok edildiği bilgisini paylaşmıştık. Yani aslında sayfanın bilgileri abonelik sayfasında bu şekilde tutuluyor. Ancak aboneliği tekrar açtığımızda bu alandaki değerler mevcut duruma göre çalışmaya başlıyor ve sayfayı bulamayınca da patlıyor! Böyle birşey yapmazsanız sorunsuz bir şekilde bunu kullanabilirsiniz.

 

Bir sonraki yazımızda görüşmek üzere,

Good game well played!

 

EXCEL ile OUTLOOK ÜZERİNDEN TOPLU MAİL GÖNDERME

Bu yazımızda, birçok kullanıcının ihtiyacı olduğunu bildiğim, Excel Eğitimlerinde de nasıl yapabiliriz denilen bir konuyu sizlere aktarıyor olacağım. Vakit kaybetmeden Excel ile Outlook üzerinden toplu mail nasıl gönderebiliriz ona biraz bakalım.

excel toplu mail

Öncelikle Excel ile Outlook üzerinden toplu mail gönderme işini VBA‘nın, yani herkesin bildiği isimle makroların gücüyle yapıyor olacağız. O yüzden az biraz makro bilginiz olursa iyi olur fakat konuyu basit anlatacağım ve birçok kod satırı klişe olduğundan, makro bilginizin olması çok da şart değil diyebilirim. Ayrıca her bir kod satırının da ne anlama geldiğini belirtmiş olacağım. Önce tüm kodları size vereceğim. Sonra da tek tek o kodların açıklamalarını yapacağım. Çok daha geliştirilebilir elbette fakat şu an için basit bir şekilde toplu mail nasıl gönderilir onu aktarıyor olacağım. İlaveten yazının sonunda uygulama örnek dosyasını da ekleyeceğim.

Hadi başlayalım. 👍🏻

 

İlk etapta şöyle bir tablomuz olduğunu varsayıyorum.
Gönder butonuna bastığımızda 2. satırdan başlayarak son satıra kadar tüm mailleri göndermesini sağlayacağız.

excelvba mail listesi

 

Excel ile OUTLOOK Üzerinden Toplu Mail Gönderme – TÜM KODLAR

Sub PEAKUP_Mail_Gonder()
   Dim Outlook As Object, yeni As Object, i As Long
   Set Outlook = CreateObject("Outlook.Application")
   For i = 2 To Cells(Rows.Count, "A").End(3).Row
      Set yeni = Outlook.CreateItem(0)
      With yeni
         .To = Range("B" & i).Value
         .Subject = Range("C" & i).Value
         .Body = Range("D" & i).Value
         .Display
         '.Send
     End With
   Next i
   Set Outlook = Nothing: Set yeni = Nothing: i = Empty
   MsgBox "E-Mailleriniz gönderilmiştir.", vbInformation, Application.UserName
End Sub

Evet.. ihtiyacımız olan kodlar aslında bu kadar. Şimdi her bir kod satırının ne iş yaptığına geçelim. Yukarıda da belirttiğim gibi, aslında yukarıdaki tüm kodları bir kalıp/klişe olarak düşünebilirsiniz. Bu kodları alıp, kime, konu ve açıklama kısımlarını sizin dosyanıza göre uyarlamanız yeterli olacaktır.

 

Sub PEAKUP_Mail_Gonder()

Makromuza/Prosedürümüze PEAKUP_Mail_Gonder ismini veriyoruz.

Dim Outlook As Object, yeni As Object, i As Lon

Kullanacağımız değişkenlerimizi tanımlıyoruz. Değişken tanımlamak zorunlu değil fakat faydalıdır diyebiliriz. Detayları değişkenler ve tanımlama yöntemleri yazımızda aktarıyor olacağım.

Set Outlook = CreateObject("Outlook.Application")

Late Binding

metodu ile Outlook uygulamasını oluşturuyoruz. (İki metot var; Early Binding ve Late Binding)

For i = 2 To Cells(Rows.Count, "A").End(3).Row

2. satırdan A sütunundaki dolu olan son satır numarasına kadar bir For döngüsü oluşturuyoruz. Teker teker tüm satırlardaki adreslere mail göndermesi için kullanıyoruz.

Set yeni = Outlook.CreateItem(0)

Outlook

‘ta Yeni butonuna basar gibi, set ederek yeni bir mail oluşturulmasını sağlıyoruz.

With yeni

Aşağıdaki kodlar Yeni oluşturulan maildeki alanları ifade ettiği için, her seferinde yeni kelimesini yazmamak adına bir kereliğine With yeni diyerek altındaki satırların yeni ile ilgili olduğunu belirtiyoruz ve alttaki kodlarda dikkat ederseniz .To  – .Subject şeklinde devam eder. Yani hepsi Yeni oluşturulan mail ile ilgili satırlar.

.To = Range("B" & i).Value

Kime mail göndereceğimizi belirtiyoruz. Burada B sütunundakilere gideceğini belirttik.

.Subject = Range("C" & i).Value

Konunun ne olacağını belirtiyoruz. Konular C sütunundakiler demiş olduk.

.Body = Range("D" & i).Value

Mail gövdesine de D sütunundakileri yazmasını istiyoruz.

.Display

Maili göndermeden önce ekrana getirip görüntülemenizi sağlar.

.Send

Maili gönderir.

End With

With

deyimini End With ile mutlaka kapatıyoruz.

Next i

Döngüde bir sonraki satıra geçmesini söylüyoruz.

Set Outlook = Nothing: Set yeni = Nothing: i = Empty

Oluşturulan değişkenlerin içlerini boşaltıyoruz. Şart değil fakat hafızada yer kaplamaması için bu şekilde belirttik.

MsgBox "E-Mailleriniz gönderilmiştir.", vbInformation, Application.UserName

MesajBox (MsgBox) ile mail gönderiminin bittiğini belirten bir bilgi penceresi alıyoruz.

End Sub

Makromuzu/Prosedürümüzü sonlandırıyoruz.

 

 

MAİLE EK BİLGİLER EKLEMEK

Dosya Eklemek

İsterseniz mail gönderirken, bilgisayarınızdaki herhangi bir konumda bulunan dosyayı da bu kodlarla maile eklenmesini sağlayabilirsiniz. Aşağıdaki kod satırını, .To – .Subject ifadelerinin altına yazabilirsiniz.

.Attachments.Add "dosya konumu"

Mesaj Gövdesindeki Metni HMTL Görünüme Kavuşturmak

.Body

kullanıp mesaj gövdesine düz bir metin yazmak yerine isterseniz .HtmlBody yazarak html tagları ile mesaj gövdesindeki metni düzenleyebilir, görselleştirebilirsiniz.

Örneğin;

.HTMLBody = "

CC ve BCC EklemekEğer göndereceğiniz maile başka kişileri de CC veya BCC ‘ye koymak isterseniz. Kodlardaki .To satırının altına bu kodları ilave edebilirsiniz..CC = “CC ‘ye eklenecek mail adresi .BCC = “CC ‘ye eklenecek mail adresiMail Önceliği BelirlemekMailinizi yüksek öncelikli olarak göndermek isteyebilirsiniz o zaman da bu kod satırını ilave edebilirsiniz..Importance = 2
Evet.. şimdiye kadar yazdıklarımı inceleyip öğrendiysek artık uygulayabiliriz. 😃
Kodları çalıştırdığımızda aşağıdaki gif resimdeki gibi tüm adreslere hızlı bir şekilde mailler gönderilecektir.
Not: Kodlardaki .Display yerine .Send ‘i aktif ederseniz, maili görüntülemeden direkt olarak gönderir.excelvba outlook ile mail göndermek
Uygulama dosyasını buradan 👉🏻 indirebilirsiniz.
Başka bir örneği de bu adreste bulabilirsiniz.
Diğer yazılarımızda görüşmek üzere, hoşça kalın. 🙋🏻‍♂️
Bu yazımızı çevrenizle paylaşarak birçok kişinin de bilgi sahibi olmasını sağlayabilirsiniz. 👍🏻

Merhabalar,
” & Range(“D” & i).Value & “