Power BI 'da Resim Kullanımı

Power BI raporlarının görsel kalitesini arttırmak için zaman zaman resimler kulanırız. Örneğin ürünlerle ilgili satış raporlarına ürün resimlerini koymak veya satış ekibini analiz ettiğiniz sayfalara ilgili satış sorumlularının resimlerini koymak gibi. Binlerce ürününüz veya kalabalık bir satış ekibiniz varsa raporun "sıcaklığını" arttırmış olursunuz.

Kullanacağınız resimler eğer Internet üzerinden erişilebilir durumdaysa yapmamız gerekenler gayet kolay: Aşağıdaki gibi, ilgili ürünün resminin web adresinin olduğu bir sütunumuz olsun.

"Resim URL" sütununun data kategorisini "Image URL" olarak değiştirdiğimizde PBI bunun bir resim olduğunu anlayacaktır, herhangi bir slicer veya matriste resimlerimizi artık kullanabiliriz.


Bazen resimler çok küçük gözükebilir, kullandığınız görselin ne olduğuna göre resimlerin büyüklüğünü ayarlamak için ilgili görselin format panosundaki ayarları kullanabilirsiniz. Örnek modelde görsel olarak "tablo"yu kullandım, resim büyüklüğünü değiştirmek için gerekli ayar format (fırça ikonu olan) tabındaki "Grid" altında bulunan "Image Height değeri.


Tabii ihtiyaç genelde bu kadarla kalmıyor,  5000 tane ürün varsa her bir ürünün URL adresini tabloya tek tek yazacak mıyız?

Eğer kullandığınız resim dosyalarının isimlendirme mantığı belli bir şablona uyuyorsa URL adreslerini hesaplanmış sütun olarak modele ekleyebiliriz. Örneğin tüm resim dosyalarının isminin "ürünkodu.jpg" veya "ürünadı.jpg" olduğunu varsayalım, genelde ürün kodu veya ürün ismi gibi alanlar ilgili master tabloda halihazırda vardır. Bu durumda tabloya aşağıdaki gibi bir hesaplanmış sütun ekleyerek tek seferde tüm adresleri tanımlayabiliriz.

Buraya kadar olan durum gayet kolay, gerekli şart resimlerin Internet üzerinden anonim bir şekilde erişilebilir olması, bir web sitesi olabilir, bir Azure Blob Storage olabilir vs.

Eğer resim dosyaları veri kaynağında bir sütunda "binary" olarak duruyorsa yukarıdaki yöntemlerde biraz değişiklik yapmak gerekiyor!

PowerQuery ile bu tür bir tablodaki sütunu çektiğinizde formatı da binary olarak gözükür ve bu haliyle Power BI tarafına aktarırsanız sütunu göremezsiniz. Örnekteki tablo AdwentureWorksDW 2012 SQL veritabanından çekildi.

PQ tarafında bu sütunun tipini "Text" yapıp Power BI tarafında data kategorisini Image URL yapsanız da işe yaramıyor!

Bunun yerine PQ tarafında bu sütunun tipini önce Base64 formatında Text'e çevirmek sonra da başına  "data:image/jpeg"  ekini getirmek gerekiyor. Bize lazım olan M komutu, Binary.ToText. Yeni bir "custom column" ekleyerek aşağıdaki formülü yazabiliriz.

= "data:image/jpeg;base64, " & Binary.ToText([LargePhoto], BinaryEncoding.Base64)


Artık bu sütunu PBI tarafına aktarıp data kategorisini Image URL yaparak resimleri göstermek amacıyla kullanabiliriz.

Yazıdaki modeli indirebilirsiniz.

Sadece kayıtlı üyeler görebilir. Giriş veya Üyelik için login.