2026-04-05 20:52:35 +00:00
<svg xmlns= "http://www.w3.org/2000/svg" width= "850" height= "460" viewBox= "0 0 850 460" >
<rect width= "100%" height= "100%" fill= "#0d1117" rx= "8" />
2026-03-27 14:56:06 +00:00
2026-04-05 20:52:35 +00:00
<!-- Title -->
2026-03-27 14:56:06 +00:00
<text x= "425" y= "32" font-family= "'Segoe UI', Arial, sans-serif" font-size= "18" fill= "#F2C811" text-anchor= "middle" font-weight= "bold" > Test Row-Level Security in Seconds</text>
2026-04-02 14:29:51 +00:00
<text x= "425" y= "50" font-family= "'Segoe UI', Arial, sans-serif" font-size= "13" fill= "#8b949e" text-anchor= "middle" > Create, configure, and validate RLS roles without touching the GUI</text>
2026-03-27 14:56:06 +00:00
<!-- Chat container -->
<rect x= "40" y= "65" width= "770" height= "360" rx= "8" fill= "#161b22" stroke= "#30363d" stroke-width= "1" />
<!-- Header bar -->
<rect x= "40" y= "65" width= "770" height= "30" rx= "8" fill= "#21262d" />
<rect x= "40" y= "87" width= "770" height= "8" fill= "#21262d" />
<circle cx= "62" cy= "80" r= "5" fill= "#ff5f57" />
<circle cx= "78" cy= "80" r= "5" fill= "#febc2e" />
<circle cx= "94" cy= "80" r= "5" fill= "#28c840" />
2026-04-02 14:29:51 +00:00
<text x= "116" y= "84" font-family= "'Segoe UI', Arial, sans-serif" font-size= "13" fill= "#d97757" font-weight= "bold" > Claude Code</text>
2026-03-27 14:56:06 +00:00
<!-- User message 1 -->
<rect x= "250" y= "106" width= "540" height= "44" rx= "12" fill= "#1a3a5c" stroke= "#264d73" stroke-width= "1" />
<text x= "270" y= "124" font-family= "'Segoe UI', Arial, sans-serif" font-size= "12" fill= "#e2e8f0" > Create an RLS role called "Europe Sales" that filters the</text>
<text x= "270" y= "141" font-family= "'Segoe UI', Arial, sans-serif" font-size= "12" fill= "#e2e8f0" > Region table to only show European countries</text>
<!-- Claude response 1 -->
<rect x= "60" y= "162" width= "560" height= "80" rx= "12" fill= "#1c1c1c" stroke= "#30363d" stroke-width= "1" />
2026-04-02 14:29:51 +00:00
<text x= "78" y= "182" font-family= "'Segoe UI', Arial, sans-serif" font-size= "13" fill= "#8b949e" > Running:</text>
<text x= "130" y= "182" font-family= "'Courier New', Courier, monospace" font-size= "12" fill= "#58a6ff" > pbi security-role create "Europe Sales"</text>
<text x= "78" y= "200" font-family= "'Segoe UI', Arial, sans-serif" font-size= "13" fill= "#8b949e" > Running:</text>
<text x= "130" y= "200" font-family= "'Courier New', Courier, monospace" font-size= "12" fill= "#58a6ff" > pbi security-role add-filter "Europe Sales" -t Region</text>
2026-03-27 14:56:06 +00:00
<text x= "78" y= "220" font-family= "'Segoe UI', Arial, sans-serif" font-size= "12" fill= "#06d6a0" > ✓ Role created with filter:</text>
2026-04-02 14:29:51 +00:00
<text x= "270" y= "220" font-family= "'Courier New', Courier, monospace" font-size= "12" fill= "#d97757" > [Region][Continent] = "Europe"</text>
<text x= "78" y= "236" font-family= "'Segoe UI', Arial, sans-serif" font-size= "12" fill= "#8b949e" > Applied to Region table with DAX filter expression</text>
2026-03-27 14:56:06 +00:00
<!-- User message 2 -->
<rect x= "370" y= "254" width= "420" height= "28" rx= "12" fill= "#1a3a5c" stroke= "#264d73" stroke-width= "1" />
<text x= "390" y= "273" font-family= "'Segoe UI', Arial, sans-serif" font-size= "12" fill= "#e2e8f0" > Now test it. What does a Europe user see for total sales?</text>
<!-- Claude response 2 -->
<rect x= "60" y= "294" width= "560" height= "118" rx= "12" fill= "#1c1c1c" stroke= "#30363d" stroke-width= "1" />
2026-04-02 14:29:51 +00:00
<text x= "78" y= "314" font-family= "'Segoe UI', Arial, sans-serif" font-size= "13" fill= "#8b949e" > Running as role "Europe Sales":</text>
<text x= "78" y= "332" font-family= "'Courier New', Courier, monospace" font-size= "12" fill= "#58a6ff" > pbi dax execute "EVALUATE ROW(\"Sales\", [Total Sales], \"Regions\", COUNTROWS(Region))"</text>
2026-03-27 14:56:06 +00:00
<!-- Result table -->
<line x1= "78" y1= "342" x2= "590" y2= "342" stroke= "#30363d" stroke-width= "1" />
2026-04-02 14:29:51 +00:00
<text x= "78" y= "360" font-family= "'Courier New', Courier, monospace" font-size= "13" fill= "#F2C811" > | Total Sales | Regions |</text>
<text x= "78" y= "378" font-family= "'Courier New', Courier, monospace" font-size= "13" fill= "#c9d1d9" > | $3,842,150 | 12 |</text>
<text x= "78" y= "396" font-family= "'Segoe UI', Arial, sans-serif" font-size= "13" fill= "#06d6a0" > ✓ Filter working: 12 of 48 regions visible (Europe only)</text>
2026-03-27 14:56:06 +00:00
<!-- Footer -->
2026-04-02 14:29:51 +00:00
<text x= "425" y= "450" font-family= "'Segoe UI', Arial, sans-serif" font-size= "13" fill= "#8b949e" text-anchor= "middle" > Build and validate security roles entirely from conversation. No Security tab needed.</text>
2026-04-05 20:52:35 +00:00
</svg>