{"id":238,"date":"2023-11-21T15:34:49","date_gmt":"2023-11-21T14:34:49","guid":{"rendered":"https:\/\/bitwise.exposed\/?p=238"},"modified":"2026-03-16T09:38:48","modified_gmt":"2026-03-16T08:38:48","slug":"accurate-percentages-with-row-level-security","status":"publish","type":"post","link":"https:\/\/bitwise.exposed\/index.php\/2023\/11\/21\/accurate-percentages-with-row-level-security\/","title":{"rendered":"Accurate percentages with row-level security"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Abstract, from a SQLBI article. Link to the original article on SQLBI.com click here<a href=\"https:\/\/sql.bi\/817079\"> https:\/\/sql.bi\/817079<\/a>. I just could recommend to read every single article from SQLBI, Alberto Ferrari XOR Marco Russo in full length. Below some key pattern and notes from my side as my personal abstract.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pattern to compute ratios, when data is hidden by row-level security.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Pattern 1<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Full row-level security<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Example Measure<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#000000;--cbp-line-number-width:calc(1 * 0.6 * 1rem);line-height:1.5rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#f2f2f2;color:#0d0d0d\">DAX<\/span><span role=\"button\" tabindex=\"0\" data-code=\"Pct over All =\nDIVIDE (\n    [Sales Amount],\n    CALCULATE (\n        [Sales Amount],\n        ALL ( Customer )\n    )\n)\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #0070C1\">Pct<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">over<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">All<\/span><span style=\"color: #000000\"> =<\/span><\/span>\n<span class=\"line\"><span style=\"color: #0000FF\">DIVIDE<\/span><span style=\"color: #000000\"> (<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #795E26\">[Sales Amount]<\/span><span style=\"color: #000000\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0000FF\">CALCULATE<\/span><span style=\"color: #000000\"> (<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">        <\/span><span style=\"color: #795E26\">[Sales Amount]<\/span><span style=\"color: #000000\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">        <\/span><span style=\"color: #0000FF\">ALL<\/span><span style=\"color: #000000\"> ( <\/span><span style=\"color: #0070C1\">Customer<\/span><span style=\"color: #000000\"> )<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    )<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">)<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">No row level security applied:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>Continent<\/strong><\/td><td><strong>Sales Amount<\/strong><\/td><td><strong>Pct over All<\/strong><\/td><\/tr><tr><td>Australia<\/td><td>100<\/td><td>33.3%<\/td><\/tr><tr><td>Europe<\/td><td>100<\/td><td>33.3%<\/td><\/tr><tr><td>North America<\/td><td>100<\/td><td>33.3%<\/td><\/tr><tr><td>Total<\/td><td><strong>300<\/strong><\/td><td><strong>Total<\/strong><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Row-level security: &#8222;Austrlia, Europe&#8220;<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>Continent<\/strong><\/td><td><strong>Sales Amount<\/strong><\/td><td><strong>Pct over All<\/strong><\/td><\/tr><tr><td>Australia<\/td><td>100<\/td><td>50.0%<\/td><\/tr><tr><td>Europe<\/td><td>100<\/td><td>50.0%<\/td><\/tr><tr><td><strong>Total<\/strong><\/td><td><strong>200<\/strong><\/td><td><strong>100.0%<\/strong><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">If that the goal to achieve, everything is fine.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Pattern 2<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">For any reason, you need &#8222;total sales&#8220; in a row-level managed dataset. In that case it&#8217;s possible to materialize &#8222;total sales&#8220; in a calculated table.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#000000;--cbp-line-number-width:calc(1 * 0.6 * 1rem);line-height:1.5rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#f2f2f2;color:#0d0d0d\">DAX<\/span><span role=\"button\" tabindex=\"0\" data-code=\"GrandTotalSales = ROW ( &quot;Grand Total Sales&quot;, [Sales Amount] )\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #0070C1\">GrandTotalSales<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #0000FF\">ROW<\/span><span style=\"color: #000000\"> ( <\/span><span style=\"color: #A31515\">&quot;Grand Total Sales&quot;<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #795E26\">[Sales Amount]<\/span><span style=\"color: #000000\"> )<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><\/td><td><strong>Grand Total Sales<\/strong><\/td><\/tr><tr><td><\/td><td>300<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">This table will be not affected by row-level security setting.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To provide more granularity, calculated table could look like this.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#000000;--cbp-line-number-width:calc(2 * 0.6 * 1rem);line-height:1.5rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#f2f2f2;color:#0d0d0d\">DAX<\/span><span role=\"button\" tabindex=\"0\" data-code=\"SalesNoCustomer =\nADDCOLUMNS (\n    SUMMARIZE (\n        Sales,\n        'Product'[ProductKey],\n        'Date'[Date],\n        Store[StoreKey]\n    ),\n    &quot;Total Sales&quot;, [Sales Amount]\n)\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #0070C1\">SalesNoCustomer<\/span><span style=\"color: #000000\"> =<\/span><\/span>\n<span class=\"line\"><span style=\"color: #0000FF\">ADDCOLUMNS<\/span><span style=\"color: #000000\"> (<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0000FF\">SUMMARIZE<\/span><span style=\"color: #000000\"> (<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">        <\/span><span style=\"color: #0070C1\">Sales<\/span><span style=\"color: #000000\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">        <\/span><span style=\"color: #267F99\">&#39;Product&#39;<\/span><span style=\"color: #795E26\">[ProductKey]<\/span><span style=\"color: #000000\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">        <\/span><span style=\"color: #267F99\">&#39;Date&#39;<\/span><span style=\"color: #795E26\">[Date]<\/span><span style=\"color: #000000\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">        <\/span><span style=\"color: #0070C1\">Store<\/span><span style=\"color: #795E26\">[StoreKey]<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    ),<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #A31515\">&quot;Total Sales&quot;<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #795E26\">[Sales Amount]<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">)<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">In that case it&#8217;s also necessary to create the propper relations.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"968\" src=\"https:\/\/bitwise.exposed\/wp-content\/uploads\/2023\/11\/scribble_sql_bi_817079_01-1024x968.png\" alt=\"\" class=\"wp-image-241\" srcset=\"https:\/\/bitwise.exposed\/wp-content\/uploads\/2023\/11\/scribble_sql_bi_817079_01-1024x968.png 1024w, https:\/\/bitwise.exposed\/wp-content\/uploads\/2023\/11\/scribble_sql_bi_817079_01-300x284.png 300w, https:\/\/bitwise.exposed\/wp-content\/uploads\/2023\/11\/scribble_sql_bi_817079_01-768x726.png 768w, https:\/\/bitwise.exposed\/wp-content\/uploads\/2023\/11\/scribble_sql_bi_817079_01.png 1056w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Measure not affected by row-level security<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#000000;--cbp-line-number-width:calc(1 * 0.6 * 1rem);line-height:1.5rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#f2f2f2;color:#0d0d0d\">DAX<\/span><span role=\"button\" tabindex=\"0\" data-code=\"Pct Not Secured =\nDIVIDE (\n    [Sales Amount],\n    SUM ( SalesNoCustomer[Total Sales] )\n)\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #0070C1\">Pct<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">Not<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">Secured<\/span><span style=\"color: #000000\"> =<\/span><\/span>\n<span class=\"line\"><span style=\"color: #0000FF\">DIVIDE<\/span><span style=\"color: #000000\"> (<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #795E26\">[Sales Amount]<\/span><span style=\"color: #000000\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0000FF\">SUM<\/span><span style=\"color: #000000\"> ( <\/span><span style=\"color: #0070C1\">SalesNoCustomer<\/span><span style=\"color: #795E26\">[Total Sales]<\/span><span style=\"color: #000000\"> )<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">)<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>Continent<\/strong><\/td><td><strong>Sales Amount<\/strong><\/td><td><strong>Pct over All<\/strong><\/td><td><strong>Pct Not Secured<\/strong><\/td><\/tr><tr><td>Australia<\/td><td>100<\/td><td>50.0%<\/td><td>33.3%<\/td><\/tr><tr><td>Europe<\/td><td>100<\/td><td>50.0%<\/td><td>33.3%<\/td><\/tr><tr><td>Total<\/td><td><strong>200<\/strong><\/td><td><strong>100.0%<\/strong><\/td><td><strong>66.6%<\/strong><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h5 class=\"wp-block-heading\">Pattern 3<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Partially exclude DimensionAttributes from row-level security.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Step 1:<\/strong> CalculatedTable, here CustomerAttributes<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#000000;--cbp-line-number-width:calc(2 * 0.6 * 1rem);--cbp-line-highlight-color:rgba(0, 0, 0, 0.2);line-height:1.5rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#f2f2f2;color:#0d0d0d\">DAX<\/span><span role=\"button\" tabindex=\"0\" data-code=\"CustomerAttributes =\nVAR T =\n    SUMMARIZE (\n        Customer,\n        Customer[Country],\n        Customer[State],\n        Customer[Continent],\n        Customer[Gender]\n    )\nRETURN\n    ADDCOLUMNS ( T, &quot;CustomerAttributeKey&quot;, ROWNUMBER ( T ) )\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #0070C1\">CustomerAttributes<\/span><span style=\"color: #000000\"> =<\/span><\/span>\n<span class=\"line\"><span style=\"color: #AF00DB\">VAR<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">T<\/span><span style=\"color: #000000\"> =<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0000FF\">SUMMARIZE<\/span><span style=\"color: #000000\"> (<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">        <\/span><span style=\"color: #0070C1\">Customer<\/span><span style=\"color: #000000\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">        <\/span><span style=\"color: #0070C1\">Customer<\/span><span style=\"color: #795E26\">[Country]<\/span><span style=\"color: #000000\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">        <\/span><span style=\"color: #0070C1\">Customer<\/span><span style=\"color: #795E26\">[State]<\/span><span style=\"color: #000000\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">        <\/span><span style=\"color: #0070C1\">Customer<\/span><span style=\"color: #795E26\">[Continent]<\/span><span style=\"color: #000000\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">        <\/span><span style=\"color: #0070C1\">Customer<\/span><span style=\"color: #795E26\">[Gender]<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    )<\/span><\/span>\n<span class=\"line\"><span style=\"color: #AF00DB\">RETURN<\/span><\/span>\n<span class=\"line cbp-line-highlight\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0000FF\">ADDCOLUMNS<\/span><span style=\"color: #000000\"> ( <\/span><span style=\"color: #0070C1\">T<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #A31515\">&quot;CustomerAttributeKey&quot;<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #0070C1\">ROWNUMBER<\/span><span style=\"color: #000000\"> ( <\/span><span style=\"color: #0070C1\">T<\/span><span style=\"color: #000000\"> ) )<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><\/td><td>Country<\/td><td>State<\/td><td>Continent<\/td><td>Gender<\/td><td>CustomerAttributeKey<\/td><\/tr><tr><td><\/td><td>xxx<\/td><td>xxx<\/td><td>xxx<\/td><td>xxx<\/td><td><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-variant-text-accent-color\">1<\/mark><\/td><\/tr><tr><td><\/td><td>xxx<\/td><td>xxx<\/td><td>xxx<\/td><td>xxx<\/td><td><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-variant-text-accent-color\">2<\/mark><\/td><\/tr><tr><td><\/td><td>xxx<\/td><td>xxx<\/td><td>xxx<\/td><td>xxx<\/td><td><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-variant-text-accent-color\">3<\/mark><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Step 2: <\/strong>Calculated Column, here SalesTable<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#000000;--cbp-line-number-width:calc(1 * 0.6 * 1rem);line-height:1.5rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#f2f2f2;color:#0d0d0d\">DAX<\/span><span role=\"button\" tabindex=\"0\" data-code=\"CustomerAttributeKey =\nLOOKUPVALUE (\n    CustomerAttributes[CustomerAttributeKey],\n    CustomerAttributes[Country],    RELATED ( Customer[Country] ),\n    CustomerAttributes[State],      RELATED ( Customer[State] ),\n    CustomerAttributes[Continent],  RELATED ( Customer[Continent] ),\n    CustomerAttributes[Gender],     RELATED ( Customer[Gender] )\n)\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #0070C1\">CustomerAttributeKey<\/span><span style=\"color: #000000\"> =<\/span><\/span>\n<span class=\"line\"><span style=\"color: #0000FF\">LOOKUPVALUE<\/span><span style=\"color: #000000\"> (<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0070C1\">CustomerAttributes<\/span><span style=\"color: #795E26\">[CustomerAttributeKey]<\/span><span style=\"color: #000000\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0070C1\">CustomerAttributes<\/span><span style=\"color: #795E26\">[Country]<\/span><span style=\"color: #000000\">,    <\/span><span style=\"color: #0000FF\">RELATED<\/span><span style=\"color: #000000\"> ( <\/span><span style=\"color: #0070C1\">Customer<\/span><span style=\"color: #795E26\">[Country]<\/span><span style=\"color: #000000\"> ),<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0070C1\">CustomerAttributes<\/span><span style=\"color: #795E26\">[State]<\/span><span style=\"color: #000000\">,      <\/span><span style=\"color: #0000FF\">RELATED<\/span><span style=\"color: #000000\"> ( <\/span><span style=\"color: #0070C1\">Customer<\/span><span style=\"color: #795E26\">[State]<\/span><span style=\"color: #000000\"> ),<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0070C1\">CustomerAttributes<\/span><span style=\"color: #795E26\">[Continent]<\/span><span style=\"color: #000000\">,  <\/span><span style=\"color: #0000FF\">RELATED<\/span><span style=\"color: #000000\"> ( <\/span><span style=\"color: #0070C1\">Customer<\/span><span style=\"color: #795E26\">[Continent]<\/span><span style=\"color: #000000\"> ),<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0070C1\">CustomerAttributes<\/span><span style=\"color: #795E26\">[Gender]<\/span><span style=\"color: #000000\">,     <\/span><span style=\"color: #0000FF\">RELATED<\/span><span style=\"color: #000000\"> ( <\/span><span style=\"color: #0070C1\">Customer<\/span><span style=\"color: #795E26\">[Gender]<\/span><span style=\"color: #000000\"> )<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">)<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Step 3:<\/strong> Propagate, CalcCol from Step 2 to SalesNoCustomers<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#000000;--cbp-line-number-width:calc(2 * 0.6 * 1rem);--cbp-line-highlight-color:rgba(0, 0, 0, 0.2);line-height:1.5rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#f2f2f2;color:#0d0d0d\">DAX<\/span><span role=\"button\" tabindex=\"0\" data-code=\"SalesNoCustomer =\nADDCOLUMNS (\n    SUMMARIZE (\n        Sales,\n        Sales[CustomerAttributeKey],\n        'Product'[ProductKey],\n        'Date'[Date],\n        Store[StoreKey]\n    ),\n    &quot;Total Sales&quot;, [Sales Amount]\n)\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #0070C1\">SalesNoCustomer<\/span><span style=\"color: #000000\"> =<\/span><\/span>\n<span class=\"line\"><span style=\"color: #0000FF\">ADDCOLUMNS<\/span><span style=\"color: #000000\"> (<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0000FF\">SUMMARIZE<\/span><span style=\"color: #000000\"> (<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">        <\/span><span style=\"color: #0070C1\">Sales<\/span><span style=\"color: #000000\">,<\/span><\/span>\n<span class=\"line cbp-line-highlight\"><span style=\"color: #000000\">        <\/span><span style=\"color: #0070C1\">Sales<\/span><span style=\"color: #795E26\">[CustomerAttributeKey]<\/span><span style=\"color: #000000\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">        <\/span><span style=\"color: #267F99\">&#39;Product&#39;<\/span><span style=\"color: #795E26\">[ProductKey]<\/span><span style=\"color: #000000\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">        <\/span><span style=\"color: #267F99\">&#39;Date&#39;<\/span><span style=\"color: #795E26\">[Date]<\/span><span style=\"color: #000000\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">        <\/span><span style=\"color: #0070C1\">Store<\/span><span style=\"color: #795E26\">[StoreKey]<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    ),<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #A31515\">&quot;Total Sales&quot;<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #795E26\">[Sales Amount]<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">)<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Step 4:<\/strong> In that case it&#8217;s also necessary to create the propper relations.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"907\" src=\"https:\/\/bitwise.exposed\/wp-content\/uploads\/2023\/11\/scribble_sql_bi_817079_02-1024x907.png\" alt=\"\" class=\"wp-image-246\" srcset=\"https:\/\/bitwise.exposed\/wp-content\/uploads\/2023\/11\/scribble_sql_bi_817079_02-1024x907.png 1024w, https:\/\/bitwise.exposed\/wp-content\/uploads\/2023\/11\/scribble_sql_bi_817079_02-300x266.png 300w, https:\/\/bitwise.exposed\/wp-content\/uploads\/2023\/11\/scribble_sql_bi_817079_02-768x680.png 768w, https:\/\/bitwise.exposed\/wp-content\/uploads\/2023\/11\/scribble_sql_bi_817079_02.png 1136w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Step 5:<\/strong> Create measure(s)<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#000000;--cbp-line-number-width:calc(1 * 0.6 * 1rem);line-height:1.5rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#f2f2f2;color:#0d0d0d\">DAX<\/span><span role=\"button\" tabindex=\"0\" data-code=\"Pct same gender =\nDIVIDE (\n    [Sales Amount],\n    CALCULATE (\n        SUM ( SalesNoCustomer[Total Sales] ),\n        ALL ( CustomerAttributes ),\n        VALUES ( CustomerAttributes[Gender] ),\n     )\n)\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #0070C1\">Pct<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">same<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">gender<\/span><span style=\"color: #000000\"> =<\/span><\/span>\n<span class=\"line\"><span style=\"color: #0000FF\">DIVIDE<\/span><span style=\"color: #000000\"> (<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #795E26\">[Sales Amount]<\/span><span style=\"color: #000000\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0000FF\">CALCULATE<\/span><span style=\"color: #000000\"> (<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">        <\/span><span style=\"color: #0000FF\">SUM<\/span><span style=\"color: #000000\"> ( <\/span><span style=\"color: #0070C1\">SalesNoCustomer<\/span><span style=\"color: #795E26\">[Total Sales]<\/span><span style=\"color: #000000\"> ),<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">        <\/span><span style=\"color: #0000FF\">ALL<\/span><span style=\"color: #000000\"> ( <\/span><span style=\"color: #0070C1\">CustomerAttributes<\/span><span style=\"color: #000000\"> ),<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">        <\/span><span style=\"color: #0000FF\">VALUES<\/span><span style=\"color: #000000\"> ( <\/span><span style=\"color: #0070C1\">CustomerAttributes<\/span><span style=\"color: #795E26\">[Gender]<\/span><span style=\"color: #000000\"> ),<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">     )<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">)<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#000000;--cbp-line-number-width:calc(1 * 0.6 * 1rem);line-height:1.5rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#f2f2f2;color:#0d0d0d\">DAX<\/span><span role=\"button\" tabindex=\"0\" data-code=\"Pct same gender Generic =\nDIVIDE (\n    [Sales Amount],\n    CALCULATE (\n        [Sales Amount],\n        ALL ( Customer ),\n        VALUES ( Customer[Gender] )\n    )\n)\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #0070C1\">Pct<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">same<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">gender<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">Generic<\/span><span style=\"color: #000000\"> =<\/span><\/span>\n<span class=\"line\"><span style=\"color: #0000FF\">DIVIDE<\/span><span style=\"color: #000000\"> (<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #795E26\">[Sales Amount]<\/span><span style=\"color: #000000\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0000FF\">CALCULATE<\/span><span style=\"color: #000000\"> (<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">        <\/span><span style=\"color: #795E26\">[Sales Amount]<\/span><span style=\"color: #000000\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">        <\/span><span style=\"color: #0000FF\">ALL<\/span><span style=\"color: #000000\"> ( <\/span><span style=\"color: #0070C1\">Customer<\/span><span style=\"color: #000000\"> ),<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">        <\/span><span style=\"color: #0000FF\">VALUES<\/span><span style=\"color: #000000\"> ( <\/span><span style=\"color: #0070C1\">Customer<\/span><span style=\"color: #795E26\">[Gender]<\/span><span style=\"color: #000000\"> )<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    )<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">)<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>Gender<\/td><td>Sales Amount<\/td><td>Pct same gender Generic<\/td><\/tr><tr><td><strong>Female<\/strong><\/td><td><strong>300<\/strong><\/td><td><strong>100.0%<\/strong><\/td><\/tr><tr><td>&#8212; Australia<\/td><td>100<\/td><td>33.3%<\/td><\/tr><tr><td>&#8212; Europe<\/td><td>100<\/td><td>33.3%<\/td><\/tr><tr><td>&#8212; North America<\/td><td>100<\/td><td>33.3%<\/td><\/tr><tr><td><strong>Male<\/strong><\/td><td><strong>300<\/strong><\/td><td><strong>100.0%<\/strong><\/td><\/tr><tr><td>&#8212; Australia<\/td><td>100<\/td><td>33.3%<\/td><\/tr><tr><td>&#8212; Europe<\/td><td>100<\/td><td>33.3%<\/td><\/tr><tr><td>&#8212; North America<\/td><td>100<\/td><td>33.3%<\/td><\/tr><tr><td><strong>Total<\/strong><\/td><td><strong>600<\/strong><\/td><td><strong>100.0%<\/strong><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>Gender<\/td><td>Sales Amount<\/td><td>Pct same gender Generic<\/td><\/tr><tr><td><strong>Female<\/strong><\/td><td><strong>200<\/strong><\/td><td><strong>66.6%<\/strong><\/td><\/tr><tr><td>&#8212; Australia<\/td><td>100<\/td><td>33.3%<\/td><\/tr><tr><td>&#8212; Europe<\/td><td>100<\/td><td>33.3%<\/td><\/tr><tr><td><strong>Male<\/strong><\/td><td><strong>300<\/strong><\/td><td><strong>66.6%<\/strong><\/td><\/tr><tr><td>&#8212; Australia<\/td><td>100<\/td><td>33.3%<\/td><\/tr><tr><td>&#8212; Europe<\/td><td>100<\/td><td>33.3%<\/td><\/tr><tr><td><strong>Total<\/strong><\/td><td><strong>600<\/strong><\/td><td><strong>66.6%<\/strong><\/td><\/tr><\/tbody><\/table><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Pattern to compute ratios, when data is hidden by row-level security.<\/p>\n","protected":false},"author":1,"featured_media":248,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,16,18],"tags":[],"class_list":["post-238","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dax","category-pattern","category-row-level-security"],"_links":{"self":[{"href":"https:\/\/bitwise.exposed\/index.php\/wp-json\/wp\/v2\/posts\/238","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bitwise.exposed\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bitwise.exposed\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bitwise.exposed\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bitwise.exposed\/index.php\/wp-json\/wp\/v2\/comments?post=238"}],"version-history":[{"count":8,"href":"https:\/\/bitwise.exposed\/index.php\/wp-json\/wp\/v2\/posts\/238\/revisions"}],"predecessor-version":[{"id":249,"href":"https:\/\/bitwise.exposed\/index.php\/wp-json\/wp\/v2\/posts\/238\/revisions\/249"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bitwise.exposed\/index.php\/wp-json\/wp\/v2\/media\/248"}],"wp:attachment":[{"href":"https:\/\/bitwise.exposed\/index.php\/wp-json\/wp\/v2\/media?parent=238"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bitwise.exposed\/index.php\/wp-json\/wp\/v2\/categories?post=238"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bitwise.exposed\/index.php\/wp-json\/wp\/v2\/tags?post=238"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}