27. října 2016

Power BI on premises v SSRS

Pár týdnů zpátky na konferenci Microsoft Ignite byla zveřejněna informace, že tým Reporting Services již intenzivně pracuje na integraci Power BI do Reporting Services. Nečekal jsem ale, že dostaneme první verzi k otestování pár týdnů na to. Právě probíhá PASS Summit a přišla další skvělá novinka. Technické preview k vyzkoušení pro veřejnost již ve čtvrtek 27.10. Není proto náhoda, že je skoro půlnoc a já sedím u počítače testuji a píšu článek :)
Verze k otestování je zatím k dispozici pouze jako virtuálka v Azure, ale verze ke stažení bude snad následovat brzy. Do vyhledávače stačí napsat SQL Server Reporting Services Technical Preview.
Obsahuje předinstalované Reporting Services, Power BI Desktop, Databázový engine a Analytické služby. Zatím je možno publikovat Power BI repoty právě s živým připojením proti Analytickým službám a to jak v Multidimenzionálním, tak tabulárním provedení.
Tvorba virtuální stanice je relativně jednoduchá (pokud vymyslíte dostatečně složité heslo). Nejlevnější konfigurace, která mi byla nabídnuta přijde na cca 120 Eur za měsíce, takže nezapomeňte po testování vypnout.
Nicméně až to naběhne, můžete rovnou napsat do prohlížeče http:\\localhost\reports a jste v Report Manageru. Tam vás přivítají, mimo jiné, 3 ukázkové reporty Power BI reporty. nebo si v desktopu můžete vytvořit vlastní přes živé připojení na lokální SSAS. Vytvořil jsem si soubor Test. Tento vypublikoval do galerie Report Manageru.
Otvírám report přímo v prohlížeči a nekecali... Funguje to :)
Report se otevřel a reaguje.
Napadá mě, zda budou vidět Power BI reporty a statistiky z nih v databázi Report Serveru v tabulkách Catalog a Execution Log. Jsou tu a v Execution logu vidím jak dlouho se načítal dataset v milisekundách z SSAS.
Závěr
Power BI se vám líbí, ale nemůžete je používat, protože je to cloud? Svítá na lepší časy. Integrace s SSRS vypadá slibně. Zatím jen připojení na analytické služby, ale přibydou další. Otázky jsou, jestli se dočkají i uživatelé standardní edice. Jakou formou bude probíhat update SSRS, pokud máte už SQL 2016 bez Power BI a celkově jakým způsobem budou poskytovány aktualizace. Tohle jsou ale otázky na jiné dny. Dnes jsem si radost udělal, tak si ji těmito otázkami nebudu kazit a půjdu raději spát :)


25. října 2016

Power BI – Záložka analytics a forecasting

Jednou z nových funkcí v zářiové aktualizaci Power BI desktopu byla funkce Forecasting. Zatím ve fázi Preview, ale nová aktualizace Desktopu je za rohem. Dnešní článek ve zkratce shrne, v jaké fázi se Forecastování v Power BI desktopu dnes nachází. V prvé řadě preview funkce je potřeba povolit v nastavení Desktopu. Menu file (nepopsané, ale stejná pozice jako v Office), Options & Settings, Options, Preview features, zaškrtnout forecasting
Dostupnost pro vizualizace
Forecasting probíhá na záložce „Analytics“, která umožňuje v současné chvíli následující možnosti linek
  • Trendová linka (proložení přímkou)
  • konstanta na X ose
  • konstanta na Y ose
  • Minimum
  • Maximum
  • Průměr
  • Percentil
  • Forecast
Záložka analytics v liště vizaulizací vypadá následovně
Práce s linkami a křivkami není dostupná pro všechny vizualizace. Plná podpora je dostupná v následujících objektech.
  • Area chart
  • Line chart
  • Scatter chart
  • Clustered Column Chart
  • Clustered Bar Chart
Práce s konstatní linkou je k dispozici v následujících dalších vizualizacích
  • Stacked Area
  • Stacked Bar, Stacked Column
  • 100 % Stacked Bar, Stacked Column
Práce s proložením přímkou
  • non-stacked line
  • clustered column chart
Nulová podpora pro objekty
  • matrix, tabulka
  • koláč, koblih (Pie, Donut)
Pojďme se podívat na nějaké
Ukázky
Na následujícím snímku vidíte jednoduché proložení přímkou a konstantní čáru na ose Y.
U proložené přímky je možnost kombinovat více řad (combine series) tzn, i když máte vykreslené dva průběhy, s vyplým přepínačem máte každý průběh proložený jednou přímkou. Když zapnete kombinovat, pro oba průběhy máte jedno proložení.
Konstantní linka, na obrázku červená, můžete zadat hodnotu konstanty. Zde mi chybí možnost odkázat se na pole z datasetu, například Target, aby bylo poznat, zda plán plníme/neplníme. Třeba/snad se dočkáme v dalších verzích.
Linky minima a maxima můžete vybrat s kontextem konkrétního měřítka. Jste ale omezeni pouze na měřítka, která máte v grafu.
Proložení přímkou a zobrazení základních statistických veličin se však dá jen stěží říkat Forecast. Takže jak je na tom samotné předvídání budoucnosti?
Můžete zadat, kolik bodů byste chtěli předvídat. Kolik posledních ignorovat, jaký confidence level nastavit a pokud data mají sezénnost, tak jakou. Funkce Forecast se zobrazuje pouze pokud máte v grafu jen jednu řadu.
V grafu vidíme skutečný průběh zelenou barvou. Černá přerušovaná čára je odhadnutý forecast pro následující tři hodiny. Šedá plocha je odhadovaný interval do kterého by měly data spadnout i při očekávané chybě 5%.
Nyní se nabízí otázka, co se bude dít s akciemi Dixons Carphone v následujícíh dnech? :)
Asi vadí díry způsobené víkendy. Tak někdy příště, až funkce třeba nebude preview :)
Závěr

Záložka Analytics je v plenkách, stejně jako možnosti předvídání budoucnosti. Proložení průběhů linkami se určitě hodí. Chybí mi zde však možnost odkázat se na measure buď obecně (konstantní čára), nebo bez nutnosti zobrazovat bázové měřítko jako řadu. Jsme však ve fázi preview, tak uvidíme co se bude dít dál. Vypadá to však slibně.

18. října 2016

Power BI – Live connection vs. Import, comparison and limitations

Some of the data sources have option both to import data as well as use live connection. But there is no easy method to change it once you already built your report. So you should rather carefully decide which method you’re going to use upfront. To make this decision right, it is good to know limitations of each method. Purpose of this blog post is to cover these limitations.
First what kind of license are you going to need? If you’ll use live connection, you’ll need Pro license for all end users consuming report/dashboard. If you’ll import data from on premises data source through gateway, you’ll need Pro License again. If your data are accessible without gateway, but you want to refresh them more often, then once a day, Pro License is required too. If you want to stay with free Power BI license, you’ll need to use data Import method only and avoid on premises data sources, refresh data maximally once a day.
Data import
Data import can be used against any data source type. Current Power BI service limitation published file size is 1 GB. Data are loaded to file using column store compression. If you’ll read for report purposes just data required for usage in visuals this is not limiting too much. Even with Power BI Pro license you are limited to 8 refreshes per day. Times can be scheduled either at full hour or half past full. Scheduled time is approximate. When will refresh actually happen depends on service utilization. If you need to refresh data, more often consider using live connection. When using import, data are stored in Power BI file/service. Therefore, there is no need to setup permissions on data source side (service account for load is enough) and you can share data publically or with people outside organization. On the other hand, all data are stored on Power BI. So if you have requirement for Row Level Security, you need to implement it on Power BI side. If you need same logic applied for multiple reports, you have to duplicate it in all the reports. Same applies to calculations, if you need same measure in multiple reports, you need to recreate it every time.
Live connection
There are more limitations for live connection in place. It doesn’t work against all data sources. Current list can be seen here https://powerbi.microsoft.com/en-us/documentation/powerbi-refresh-data/#live-connections-and-directquery-to-on-premises-data-sources
You are also limited to just one data source/database you selected. You can’t combine data from multiple data sources anymore. If you are connected to SQL Database, you can still create logical relationships between objects from that database as well as measures and calculated columns. When you are connected to SQL Server Analysis Services, you are limited just to report layout and even can’t make calculated columns or measures. When connected to SSAS, you could also reach some licensing limitations. Power BI issues DAX queries against SSAS and this isn’t supported in Standard edition of SQL Server before SQL Server 2016. When using live connection, users have to have access to underlying data source. This means you can’t share outside of your organization or publically. Other way around, when you set up security once, all reports using live connection to the same source have the same security model applied automatically. Similarly, you can prepare your data model carefully with all measures and calculated columns on data source side. All reports from the same data source can benefit of it. Refresh frequency is unlimited. Power BI simply shows data as they are in database. However, be careful using live connection against highly transactional OLTP systems. If you suffer from performance problems now, analytical workloads from Power BI won’t help it. Consider enabling features on data source side like Operational Analytics in SQL Server 2016.
Summary

Both methods have limitations, developer should be aware upfront. For import it is mainly refresh frequency, data size and necessity to duplicate same logic (calculations, security) in multiple reports. That could be helped by templates, but if you need to change logic of calculation, you need to change it in multiple reports again. For live connection, not all data sources are supported. If you pick one, then you’re limited just to that one data source for report. If logic is setup on source side, all reports can benefit. My personal preference is use live connection against SSAS models, have the model centralized and maintain logic in one place. For SQL Databases where I don’t have model, I prefer import and use Power BI as a model and vizualization.

Power BI – práce s geografií a mapami

Zdravím Vás u dalšího článku ze světa Power BI snad se samopopisným názvem. Kompletní seznam článků najdete v rozcestníku http://www.neoral.cz/2016/10/power-bi-rozcestnik.html. Dnes se budu zabývat zobrazením dat s návazností na geografii. Jaké máme možnosti? Začnu ve zkratce možnostmi Excelu, poté se podíváme na Power BI Desktop
Power View
Doplněk Excelu Power View umožňoval zobrazit geograficky jako první z Power BI rodiny. O vyhledání se staraly Bing maps. Hledat jste mohli buď podle popisu lokace, nebo zeměpisné šířky a délky (longitude, latitude). Do pole lokace šlo umístit sice několik polí, ale nástroj hledal pouze podle prvního klíče. Drilování ze státu na města zde nefunguje. Takže než mít samostatné atributy, stát, město, adresa. Bylo ideální mít složenou adresu z částí do adresy celé, tak aby ji našel Bing správně. Pokud stačil detail město, bylo potřeba upřesnit stát/okres, aby Bing našel „to správné“ město ve správném kraji/státě :)
3D Map (dříve Power Map)
Excelový doplněk, který umožňuje data opět vizualizovat geograficky. Změny v mapě lze přehrát v čase a střídající se scény uložit jako video. Můžeme podstrčit i vlastní mapový podklad.
Power BI Desktop
Zde máme možností pro práci s geografií mnohem více díky vestavěným vizualizacím i rozšířením o vizualizace vlastní.
Map
Základní mapa využívá Bing maps stejně jako Power View. Hledání probíhá na základě slovního popisu lokace, nebo zeměpisné šířky a délky. Narozdíl od Power View, můžeme do popisu vložit více polí, což umožní hierarchicky drilovat.
Region map
Vyhledání na základě Bing Maps pro územní celky regionů a států. Pokud vyberete stát, rovnoměrně se vybarví. Neudělá se bublina kdesi náhodně jako u „Map“. Taktéž funguje drilování hierarchie.
Shape Map
Shape map obsahuje několik předdefinovaných šablon pod nimiž je Geojson popisující geografii například pro Spojené Státy, Velkou Británii, Německo a další. Můžete ale vložit i vlastní popis geografie v json formátu
Zobrazení probíhá na základě párování dat geo klíče v datech a geo klíče v json popisu mapy.
ArcGIS Map (Preview)
ArcGIS je Geografický Informační Systém pro práci s mapovými podklady a geografií. Můžete zde jednoduše vybírat několik bodů zároveň. Lze zvolit, zda chcete lokalitu mapovat jako body, nebo region. Měnit podklad (tmavá, světlá), téma mapy (body, bubliny, heat mapa).
Aby map nebylo málo, máme pro zobrazení geografických informací následující vlastní vizualizace
Custom Visuals
Vlastní vízualizace najdete ke stažení v galerii: https://app.powerbi.com/visuals
Synoptic panel od SQLBI
Vítěz soutěže o nejlepší vlastní vizualizaci. Kromě ukázkových rozložení z galerie přes obchod, letadlo, až po lidské tělo si můžete namalovat vlastní podklad na stránce http://synoptic.design/
Globe Map
3D mapa pro Power BI Desktop jako vlastní vizualizace s možnosí použít několik vrstev. Například sloupcový graf můžete kombinovat s heat mapou podobně jako v 3D Map v Excelu.
Závěr

Mapy jsou zdá se populární. Možná i proto jim bylo v Power BI věnováno tolik pozornosti. Vybere si snad každý. Ať potřebujete najít konkrétní adresu jako bod, nebo vlastní mapový podklad výrobní haly/obchodu/skladu, v Power BI najdete vhodnou vizualizaci. V rámci české Power BI User Group plánuji na tohle téma přednášku, kde ukážu možnosti jednotlivých vizualizací.

14. října 2016

Power BI – rozcestník

Protože množství Power BI článků nabobtnalo. Pro zjednodušenou navigaci přináším rozcestník článk, který budu pravidelně aktualizovat. Přidávám také tag „00 Power BI Rozcestník“, abyste při opakované návštěvě byli schopni rozcestník najít. Pořadí .je od nejnovějšího článku po nejstarší
Power BI otevřená data (2.2.2023) - http://www.neoral.cz/2023/02/power-bi-otevrena-data.html
Power BI a PowerShell (31.1.2019) - http://www.neoral.cz/2020/01/power-bi-powershell.html
Jak obejít omezení Power BI u live connection (8.11.2019) - http://www.neoral.cz/2019/11/jak-obejit-omezeni-power-bi-u-live.htmlMěřítko v dimenzi aneb vlastní layout v Matrixu (10.9.2019) - (http://www.neoral.cz/2019/09/meritko-v-dimenzi-aneb-vlastni-layout-v.html)Paginated Report Builder a vlastní dataset z Power BI služby (3.7.2019) - http://www.neoral.cz/2019/07/paginated-report-builder-vlastni.html
Power BI - Performance analyzer (6.5.2019) - http://www.neoral.cz/2019/06/power-bi-performance-analyzer.html
DAX for SSAS Multidimensional (26.4.2019) - http://www.neoral.cz/2019/04/dax-for-ssas-multidimensional.html
Tabular a Power BI - Velikost modelu (20.12.2018) - http://www.neoral.cz/2018/12/tabular-power-bi-velikost-modelu.html)
Monitoring BI Solution using Power BI (13.12.2018) - http://www.neoral.cz/2018/12/monitoring-bi-solution-using-power-bi.html
SSRS reporty v Power BI službě (12.11.2018) - http://www.neoral.cz/2018/11/ssrs-reporty-v-power-bi-sluzbe.html
Záznam přednášky - Reportovací platforma společnosti Microsoft (30.8.2018) - http://www.neoral.cz/2018/08/zaznam-prednasky-reportovaci-platforma.html
SQL Server Bootcamp 2017 a 2018 - záznamy přednášek (23.8.2018) - http://www.neoral.cz/2018/08/sql-server-bootcamp-2017-2018-zaznamy.html
Publikace Power BI reportu do SharePointu Online (30.7.2018) - http://www.neoral.cz/2018/07/publikace-power-bi-reportu-do.htmlKompozitní modely (24.7.2018) - http://www.neoral.cz/2018/07/kompozitni-modely.html
Proč nepoužívat Publish to web (9.7.2018) - http://www.neoral.cz/2018/07/power-bi-proc-nepouzivat-publish-to-web.html
WUG Days 2018 - Záznamy (20.6.2018) - http://www.neoral.cz/2018/06/wug-days-2018-zaznamy.html
Inkrementální plnění (18.5.2018) - http://www.neoral.cz/2018/05/power-bi-inkrementalni-plneni.html
Roadmap jaro 2018 (26.3.2018) - http://www.neoral.cz/2018/03/power-bi-roadmap-jaro-2018.html
Stránka jako tooltip (15.3.2018) - http://www.neoral.cz/2018/03/power-bi-stranka-jako-tooltip.html
Globální slicery (23/2/2018) - http://www.neoral.cz/2018/02/power-bi-globalni-slicery.html
Monitoring využití reportů (14.2.2018) - http://www.neoral.cz/2018/02/power-bi-monitoring-vyuziti-reportu.html
Analýza nákupního košíku s SQL Serverem a Power BI (9.2.2018) - http://www.neoral.cz/2018/02/analyza-nakupniho-kosiku.html
Časové kalkulace v DAX problém otevřeného období (30.6.2017) - http://www.neoral.cz/2017/06/casove-kalkulace-v-dax-problem.html
Power BI Premium a změny v Power BI Free (4.5.2017) - http://www.neoral.cz/2017/05/power-bi-premium-zmeny-v-power-bi-free.html
Power BI - Power BI – relative dates a mesures u live connection proti SSAS (3.5.2017) - http://www.neoral.cz/2017/05/power-bi-relative-dates-mesures-u-live.html
Power BI - Power BI Service jako zdroj (28.4.2017) - http://www.neoral.cz/2017/04/power-bi-service-jako-zdroj-dat.html
Power BI - Jak na načítání daz z webu (10.3.2017) - http://www.neoral.cz/2017/03/power-bi-jak-na-nacitani-dat-z-webu.html
Power BI - nejen novinky v produktu říjen 2016-únor 2017 (3.3.2017) http://www.neoral.cz/2017/03/power-bi-nejen-novinky-v-produktu-rijen.html
Power BI Auditing (14.2.2017) http://www.neoral.cz/2017/02/power-bi-auditing.html
Power BI On Premises v Reporting Services k dispozici ( 18.1.2017) http://www.neoral.cz/2017/01/power-bi-on-premises-v-reporting.html
Power BI po více než roce v produkci (14.12.2016) http://www.neoral.cz/2016/12/power-bi-po-vice-nez-roce-v-produkci.html
Power BI on premises v SSRS (27.10.2016) - http://www.neoral.cz/2016/10/power-bi-on-premises-v-ssrs.html
Záložka analytics a forecasting (25.10.2016) - http://www.neoral.cz/2016/10/power-bi-zalozka-analytics-forecasting.html
Práce s geografií a mapami (18.10.2016) – http://www.neoral.cz/2016/10/power-bi-prace-s-geografii-mapami.html 
Different approach to Dynamic Row Level Security (EN 10.10.2016) – http://www.neoral.cz/2016/10/different-approach-to-dynamic-row-level.html
Update červenec, srpen, září 2016 (3.10.2016) – http://www.neoral.cz/2016/10/power-bi-update-cervenec-srpen-zari-2016.html
Co je ve verzi zdarma a za co naopak zaplatíte (15.7.2016) – http://www.neoral.cz/2016/07/power-bi-co-je-ve-verzi-zdarma-za-co.html
Workspaces & sdílení obsahu a správy (12.7.2016) – http://www.neoral.cz/2016/07/power-bi-workspaces-sdileni-obsahu.html
Power BI Interest Group (2.5.2016) – http://www.neoral.cz/2016/05/power-bi-interest-group.html
Novinky a výhled do dubna 2016 (29.3.2016) – http://www.neoral.cz/2016/03/power-bi-novinky-vyhled-do-dubna-2016.html
Enterprise Gateway a Direct Query proti SSAS (16.3.2016) – http://www.neoral.cz/2016/03/power-bi-enterprise-gateway-direct.html
Veřejné sdílení reportů (3.2.2016) – http://www.neoral.cz/2016/02/power-bi-verejne-sdileni-reportu.html
Power BI v Excelu, Excel v Power BI (9.12.2015) – http://www.neoral.cz/2015/12/power-bi-v-excelu-excel-v-power-bi.html
Zkušenost z praktického nasazení (29.11.2015) – http://www.neoral.cz/2015/11/power-bi-zkusenost-z-praktickeho.html
Novinky Říjen, Listopad 2015 (22.11.2015) – http://www.neoral.cz/2015/11/power-bi-novinky-rijen-listopad-2015.html
Konektory na „On premise“ zdroje a zabezpečení dat (12.10.2015) – http://www.neoral.cz/2015/10/power-bi-konektory-na-on-premise-zdroje.html
Power BI Desktop (30.7.2015) – http://www.neoral.cz/2015/07/powerbi-desktop.html
Jak se zbavit funkce VLOOKUP (SVYHLEDAT), DAX funkce pro detailní výpočty (28.6.2015) – http://www.neoral.cz/2015/06/jak-se-zbavit-funkce-vlookup-svyhledat.html
Power Pivot DAX a časové funkce 1. část (12.6.2015) – http://www.neoral.cz/2015/06/powerpivot-dax-casove-funkce-1-cast.html
Sentiment analýza přes Power BI (10.6.2015) – http://www.neoral.cz/2015/06/sentiment-analyza-pres-powerbi.html
Power BI nové generace (8.5.2015) – http://www.neoral.cz/2015/05/powerbi-nove-generace.html
SharePoint list jako zdroj pro Power BI  – http://www.neoral.cz/2015/05/sharepoint-list-jako-zdroj-pro-powerbi.html
Data Management Gateway – krok za krokem – http://www.neoral.cz/2015/05/data-management-gateway-krok-za-krokem.html
Power BI nástroje, dostupnost napříč verzemi – http://www.neoral.cz/2015/05/powerbi-nastroje-dostupnost-napric.html



Power BI – Alerty

Dnešní rychlo blog je o tom, jak nastavit alerty v Power BI service. Jedná se o celkem užitečnou funkci. Představte si, že chcete být upozorněni, pokud číslo/KPI (klíčový ukazatel businessu) přesáhne nějakou kritickou hodnotu. Alert je přesně to. Daty řízená notifikace, která Vás upozorní ve web service, mobilní aplikaci či dokonce emailem.
Nastavuje se v Dashboardu a funguje na 3 typy dlaždic (Tiles). A to karta (Card), KPI, Gauge (tachometr) stejně jako zleva na obrázku.
Nastavení je jednoduché. Kliknete na trojtečku v pravém horním rohu dlaždice. Rozbalí se následující možnosti a ikonka se zvonečkem.
Následně můžete přidat pravidlo, zda chcete kontrolovat, pokud hodnota vyroste nad/klesne pod definovanou hranici. Stejně jako frekvenci kontroly denně/po hodině.
Hlídací pes je nastaven, teď stačí čekat až se zakousne. Takhkle vypadá zakousnutý do emailu.
Zakousnutý do web service.
A takhle na mobilní aplikaci
Závěr:
Alerty jsou určitě užitečná funkce. Hlídací pes, který hlídá a zaštěká, pokud se klíčový ukazatel byznysu dostane přes kritickou hranici. V porovnání verze zdarma vs placená jsem se nedočetl, že by Alerty byly pouze v placené verzi. Nicméně neměl jsem tohle možnost zatím vyzkoušet. V režimu import fungovaly alerty bez problémů. V době psaní článku testuji, zda bude reagovat i přes živé připojení proti SSAS Multidimensional. Napíšu sem poté krátkou aktualizaci. Tuším, že by mohl mít problém v tomto případě kvůli kontextu impersonace. Zatím dvě hodiny nic nepřichází

11. října 2016

Different approach to Dynamic Row Level Security

There were already written few blog posts both about Row Level Security. I would like to add one more about this topic. I use this pattern for several years in SQL Server Analysis Services. Biggest advantage of this approach is, that you don’t have to fight with table relationships, which can be sometimes tricky to make work correctly.
To follow with steps, you can download sample file, which uses Adventure Works Sample Data.
File can be downloaded here:
https://drive.google.com/file/d/0B9ZohZ1CALKZOFZBRG9YZERWakk/view?usp=sharing
Introduction
Let’s have a look at the report and scenario. Adventure Works sales products, that are grouped to categories. Common requirement is to limit data in report, so category manager would see just his/her category. So if I want to grant access just to “Bikes” I could write DAX row filter
DAX formula:
[Category] = “Bikes”
This could work for few categories. But if you have 40. Role membership would be hard to maintain. Same thing can be handled by one role using configuration table.
Solution
For purpose of blog post, I will enter data manually using “Enter Data” option. You can replace data in table with real user names and email addresses. In real life I use for this configuration SQL Server Master Data Services, but any table would do.
Table security can stay unrelated


What I’ll need is to create calculated column to DimProduct table. Let’s call it Security_Category using function lookupvalue searching in security configuration table.
DAX formula
Security_Category = LOOKUPVALUE(security_mapping[CATEGORY],security_mapping[CATEGORY],[Category],security_mapping[USER],"domain\username")
first column is the value I want to return, second is searched column, third value I want to find, fourth second column to be searched, fifth value.
Arguments 4,5 are here to restrict access to particular user if we had multiple users in same configuration table.
DAX filter needs to be evaluated as true value. I can check if anything was found by function ISBLANK function
DAX formula
Security_Category = ISBLANK(LOOKUPVALUE(security_mapping[CATEGORY],security_mapping[CATEGORY],[Category],security_mapping[USER],"domain\username"))
Formula returns now true, where records weren’t found. I need it oppositely and can switch logical value using function NOT
DAX formula
Security_Category = NOT(ISBLANK(LOOKUPVALUE(security_mapping[CATEGORY],security_mapping[CATEGORY],[Category],security_mapping[USER],"domain\username")))
As next step I can create new role Dynamic Security in Power BI desktop and apply Row Filter on DimProduct table referencing calculated column with formula from previous step.
I can check what if visible to role members using View as role Dynamic Security.
To make it really dynamic, I will replace static value “domain\username” with function USERNAME() in formula.
DAX formula:
Security_Category = NOT(ISBLANK(LOOKUPVALUE(security_mapping[CATEGORY],security_mapping[CATEGORY],[Category],security_mapping[USER],USERNAME())))
Function USERNAME behaves differently in desktop where it returns username in format “domain\username” and when published to powerbi.com where it returns email address username@domain.com
Therefore before publihing replace column USER with column EMAIL in DAX formula
Security_Category = NOT(ISBLANK(LOOKUPVALUE(security_mapping[CATEGORY],security_mapping[CATEGORY],[Category],security_mapping[EMAIL],USERNAME())))
Conclusion
In this blog post I covered how to implement dynamic security in Power BI without relationships in data model using DAX formulas. Let me know if you have any questions or comments

Jiri