<?xml version="1.0" encoding="UTF-8" ?><!-- generator=Zoho Sites --><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><atom:link href="https://www.highperformance.tech/blogs/tag/apps/feed" rel="self" type="application/rss+xml"/><title>High Performance Technologies - High Performance Technologies Blog #apps</title><description>High Performance Technologies - High Performance Technologies Blog #apps</description><link>https://www.highperformance.tech/blogs/tag/apps</link><lastBuildDate>Thu, 23 Apr 2026 22:07:00 -0700</lastBuildDate><generator>http://zoho.com/sites/</generator><item><title><![CDATA[TextQL Citi Bike Data Interactive Dashboard]]></title><link>https://www.highperformance.tech/blogs/post/textql-citi-bike-data-interactive-dashboard</link><description><![CDATA[<img align="left" hspace="5" src="https://www.highperformance.tech/Blog Images/TextQL Dashboard blog/image -14-.png"/>TextQL's AI agent Ana explored Citi Bike data, built weather-correlation charts, and generated an interactive dashboard — all in under an hour with minimal prompting.]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_hdItKa9XQmy0Su-zIxT3ag" data-element-type="section" class="zpsection "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_7g4OjdjaSz2XyucLQ63hBA" data-element-type="row" class="zprow zprow-container zpalign-items-flex-start zpjustify-content- " data-equal-column="false"><style type="text/css"></style><div data-element-id="elm_ihxqkS8fRNes811_MrenJA" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- "><style type="text/css"></style><div data-element-id="elm_epFHT4YrTa-QK7OWK_ZHuw" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-center zptext-align-mobile-center zptext-align-tablet-center " data-editor="true"><p style="text-align:left;"><span>If you have talked to me at all about my work in the last 3 months, it’s safe to say I’ve brought up TextQL to you — I continue to be amazed at its capabilities and what it can do for data integration, analysis...and now visualization. As a Tableau developer and data viz enthusiast I was super intrigued this week when TextQL announced the launch of interactive dashboards in their platform. I had been exploring TextQL's capabilities recently, but with this announcement I just had to get back into the tool and see what Ana could do. Come along with me as we explore some data and 'build' a dashboard in TextQL.&nbsp;</span></p></div>
</div><div data-element-id="elm_cwvmgOUGVkkW7frlWK7lSQ" data-element-type="iconHeading" class="zpelement zpelem-iconheading "><style type="text/css"> [data-element-id="elm_cwvmgOUGVkkW7frlWK7lSQ"].zpelem-iconheading h4.zpicon-heading{ color:#6A5ACD ; } [data-element-id="elm_cwvmgOUGVkkW7frlWK7lSQ"].zpelem-iconheading{ background-color:rgba(106,90,205,0.29); background-image:unset; } </style><div class="zpicon-container zpicon-align-left zpicon-align-mobile-center zpicon-align-tablet-center "><style>[data-element-id="elm_cwvmgOUGVkkW7frlWK7lSQ"] .zpicon-common svg{ fill:#6A5ACD !important }</style><a class="zpicon-anchor" href="https://textql.com/pricing" target="_blank" rel=""><span class="zpicon zpicon-common zpicon-size-md zpicon-style-none "><svg viewBox="0 0 24 24" height="24" width="24" aria-label="hidden" xmlns="http://www.w3.org/2000/svg"><path d="M12.0519 14.8285L13.4661 16.2427L17.7088 12L13.4661 7.7574L12.0519 9.17161L13.8804 11H6.34321V13H13.8803L12.0519 14.8285Z"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M19.7782 19.7782C24.0739 15.4824 24.0739 8.51759 19.7782 4.22183C15.4824 -0.0739417 8.51759 -0.0739417 4.22183 4.22183C-0.0739417 8.51759 -0.0739417 15.4824 4.22183 19.7782C8.51759 24.0739 15.4824 24.0739 19.7782 19.7782ZM18.364 18.364C21.8787 14.8492 21.8787 9.15076 18.364 5.63604C14.8492 2.12132 9.15076 2.12132 5.63604 5.63604C2.12132 9.15076 2.12132 14.8492 5.63604 18.364C9.15076 21.8787 14.8492 21.8787 18.364 18.364Z"></path></svg></span></a><h4 class="zpicon-heading " data-editor="true"><span>If you want to follow along with this analysis and try it yourself, you can sign up for a trial of TextQL here on the Analyst track: <a href="https://textql.com/pricing">https://textql.com/pricing</a> → get started with a $100/mo free credit</span></h4></div>
</div><div data-element-id="elm_K4fbo0_WG_IggrNZk2Vutw" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true">Tell Me About My Data</h2></div>
<div data-element-id="elm_lL2rQD8f7EzGOIabkP6fOw" data-element-type="row" class="zprow zprow-container zpalign-items-flex-start zpjustify-content-flex-start zpdefault-section zpdefault-section-bg " data-equal-column="false"><style type="text/css"></style><div data-element-id="elm_QtB4xH3TmeIDKH5rv9BKcA" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_97HUk1K6eQMruskt7PN9mA" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p><span>I started out pretty simple. I wanted to explore the sample data set TextQL provides: Citi Bike NYC data. <br/><br/>Since I had never worked with this data set before, I asked Ana (TextQL’s analytics agent) to tell me about the data set.&nbsp;</span></p></div>
</div></div></div><div data-element-id="elm_BInIw0PswqQZjbneKrtWIQ" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_BInIw0PswqQZjbneKrtWIQ"] .zpimage-container figure img { width: 506.25px !important ; height: 404px !important ; } } </style><div data-caption-color="" data-size-tablet="" data-size-mobile="" data-align="center" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimage-container zpimage-align-center zpimage-tablet-align-center zpimage-mobile-align-center zpimage-size-original zpimage-tablet-fallback-fit zpimage-mobile-fallback-fit hb-lightbox " data-lightbox-options="
                type:fullscreen,
                theme:dark"><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor" role="link" tabindex="0" aria-label="Open Lightbox" style="cursor:pointer;"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/Blog%20Images/TextQL%20Dashboard%20blog/image.png" size="original" data-lightbox="true"/></picture></span></figure></div>
</div><div data-element-id="elm_aZqNn5YerXWw2lBUSBdWOQ" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p><span>She ran 8 tools and came back with a summary:</span></p></div>
</div><div data-element-id="elm_xbhY-FLlZWeGFqRHoww1kw" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_xbhY-FLlZWeGFqRHoww1kw"] .zpimage-container figure img { width: 577.99px !important ; height: 483px !important ; } } </style><div data-caption-color="" data-size-tablet="" data-size-mobile="" data-align="center" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimage-container zpimage-align-center zpimage-tablet-align-center zpimage-mobile-align-center zpimage-size-original zpimage-tablet-fallback-fit zpimage-mobile-fallback-fit hb-lightbox " data-lightbox-options="
                type:fullscreen,
                theme:dark"><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor" role="link" tabindex="0" aria-label="Open Lightbox" style="cursor:pointer;"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/Blog%20Images/TextQL%20Dashboard%20blog/image%20-1-.png" size="original" data-lightbox="true"/></picture></span></figure></div>
</div><div data-element-id="elm_1Ovr-bzLWzuazQW-XEDjkA" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p><span>What I love about Ana is that she shows her work, so I can click into any of these steps and see what she was up to. After 7 SQL queries to explore the data, she ran Python to create the output for the summary. <br/><br/>As part of the summary she included a “What You Can Analyze” list at the end. I took her suggestion and asked to see the most popular routes in July 2017 (she had informed me that the data was available for July 2013 to May 2018).&nbsp;</span></p></div>
</div><div data-element-id="elm_eHAPrGcx7opsTCeC55FsWg" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_eHAPrGcx7opsTCeC55FsWg"] .zpimage-container figure img { width: 623.53px !important ; height: 313px !important ; } } </style><div data-caption-color="" data-size-tablet="" data-size-mobile="" data-align="center" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimage-container zpimage-align-center zpimage-tablet-align-center zpimage-mobile-align-center zpimage-size-original zpimage-tablet-fallback-fit zpimage-mobile-fallback-fit hb-lightbox " data-lightbox-options="
                type:fullscreen,
                theme:dark"><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor" role="link" tabindex="0" aria-label="Open Lightbox" style="cursor:pointer;"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/Blog%20Images/TextQL%20Dashboard%20blog/image%20-2-.png" size="original" data-lightbox="true"/></picture></span></figure></div>
</div><div data-element-id="elm_VZl8IYxuS5hykkQJO6WP1g" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p><span>Now, in my past life as a business analyst, if someone had asked me this question, I would grab the data, throw it into a bar chart, and rank by number of trips, which is exactly what Ana did — and she did it quickly. Hooray!</span></p></div>
</div><div data-element-id="elm_DXFdF5-A16nxFbIRKXIhyQ" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_DXFdF5-A16nxFbIRKXIhyQ"] .zpimage-container figure img { width: 645.64px !important ; height: 289px !important ; } } </style><div data-caption-color="" data-size-tablet="" data-size-mobile="" data-align="center" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimage-container zpimage-align-center zpimage-tablet-align-center zpimage-mobile-align-center zpimage-size-original zpimage-tablet-fallback-fit zpimage-mobile-fallback-fit hb-lightbox " data-lightbox-options="
                type:fullscreen,
                theme:dark"><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor" role="link" tabindex="0" aria-label="Open Lightbox" style="cursor:pointer;"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/Blog%20Images/TextQL%20Dashboard%20blog/image%20-3-.png" size="original" data-lightbox="true"/></picture></span></figure></div>
</div><div data-element-id="elm_woXKmgMJPu4E3fRGWaglrg" data-element-type="row" class="zprow zprow-container zpalign-items-flex-start zpjustify-content-flex-start zpdefault-section zpdefault-section-bg " data-equal-column="false"><style type="text/css"></style><div data-element-id="elm_nqWLUf0Xt7EYhMbYqWDIWw" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-6 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_ssQy-j7NexpihQWWiNeL5w" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p><span>But then, this is where Ana really excels. In addition to the bar chart .png she provided, she also provided a summary of the results in natural language text and included some key insights about potential reasons <b>WHY</b> these particular routes were so popular, including commuter patterns, proximity to subway stations, and leisure rides in Central Park.</span></p><p><span><br/></span></p><p><span><span>In the same amount of time it would have taken me to just <span style="font-style:italic;">build the chart,</span> Ana provided the chart to answer my question and then got to the next level of the analysis — something that would have taken me, a non-New Yorker, many minutes to read, process, research, and integrate.<br/><br/>Now, within a few minutes, I can speak intelligently about a data source that just previously I knew nothing about. And I can begin to think more analytically about the data at hand. What other angles can I explore for what this data means? What actions / decisions can I make from it?</span><br/></span></p></div>
</div></div><div data-element-id="elm_3qYnDUmczsfPOgCtIraX6w" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-6 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_RxghtWdH7gSf0sbDtzmeGw" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_RxghtWdH7gSf0sbDtzmeGw"] .zpimage-container figure img { width: 245px !important ; height: 349px !important ; } } </style><div data-caption-color="" data-size-tablet="" data-size-mobile="" data-align="center" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimage-container zpimage-align-center zpimage-tablet-align-center zpimage-mobile-align-center zpimage-size-custom zpimage-tablet-fallback-fit zpimage-mobile-fallback-fit zpimage-overlay zpimage-overlay-effect-static-bottom hb-lightbox " data-lightbox-options="
                type:fullscreen,
                theme:dark"><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor" role="link" tabindex="0" aria-label="Open Lightbox" style="cursor:pointer;"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/Blog%20Images/TextQL%20Dashboard%20blog/image%20-4-.png" size="custom" data-lightbox="true"/></picture></span><figcaption class="zpimage-caption zpimage-caption-align-center"><span class="zpimage-caption-content">Click to see Ana's analysis</span></figcaption></figure></div>
</div></div><div data-element-id="elm_zQ9LhT58A6BcuO2vWbFj7w" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_lqMfgYfwWc4IgyEjD0ZVtw" data-element-type="divider" class="zpelement zpelem-divider "><style type="text/css"></style><style></style><div class="zpdivider-container zpdivider-line zpdivider-align-center zpdivider-align-mobile-center zpdivider-align-tablet-center zpdivider-width100 zpdivider-line-style-solid "><div class="zpdivider-common"></div>
</div></div></div></div><div data-element-id="elm_BFwN6aJsCYvbhJvEl3f6fQ" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>Exploring Further</span></h2></div>
<div data-element-id="elm_oBHlDUHsd3-G3RQuOG1h1A" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p><span>I decide that I want to know more about how weather impacts the usage of the bikes. My hypothesis is that there is a strong correlation between good weather and high bike usage, but I want to see the data to prove I am right. ;)&nbsp;<br/><br/>Now, I don’t have any weather data myself. I don’t even know where to go get this data. And as far as I know, Ana doesn’t have this information in her available connectors set up in my environment. But I figure I’ll ask her anyways to see how she responds to inform me that she doesn't have the data...<br/><br/>At first she tries to run a SQL Query against the Citi Bike data connector I included in my Thread. But that doesn’t return anything weather related. At this point, I expect her to say “No go - I don’t have the data in this Thread.” But she surprises me and goes straight to an open source free weather API! How cool is that?</span></p></div>
</div><div data-element-id="elm_KPcb2awUBre1FobJ5w-Row" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_KPcb2awUBre1FobJ5w-Row"] .zpimage-container figure img { width: 535px !important ; height: 591px !important ; } } </style><div data-caption-color="" data-size-tablet="" data-size-mobile="" data-align="center" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimage-container zpimage-align-center zpimage-tablet-align-center zpimage-mobile-align-center zpimage-size-custom zpimage-tablet-fallback-fit zpimage-mobile-fallback-fit hb-lightbox " data-lightbox-options="
                type:fullscreen,
                theme:dark"><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor" role="link" tabindex="0" aria-label="Open Lightbox" style="cursor:pointer;"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/Blog%20Images/TextQL%20Dashboard%20blog/image%20-5-.png" size="custom" data-lightbox="true"/></picture></span></figure></div>
</div><div data-element-id="elm_Vpl3X3Goe3NEwaFLCAan1A" data-element-type="row" class="zprow zprow-container zpalign-items-flex-start zpjustify-content-flex-start zpdefault-section zpdefault-section-bg " data-equal-column="false"><style type="text/css"></style><div data-element-id="elm_iwc_Op4VILosqzfc1jGUsw" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-5 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_9jwaiCndbrhWFitRbV917Q" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p><span style="font-family:Arial, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, sans-serif;">She pulls down the data for a subset of the Citi bike data and merges the two together.</span><span></span></p><div>Remember this is ALL still happening in the same one question I asked: “can you compare usage of bikes vs weather for the same dates in 2017?” I have not had to intervene yet.<br/><br/>And voila! In a matter of minutes, Ana has:<br/><ul><li>Reviewed the data she already has</li><li>Gone to find the additional data I requested that wasn’t included</li><li>Found a free data source she could use and brought in the data</li><li>Merged it with my existing data</li><li>Analyzed it and returned the results with a detailed statistical analysis&nbsp;</li></ul></div><p></p><p><span>Now, while the visualizations in this example are not interactive or the prettiest, they are pretty damn good for an output with less than ~15 minutes of work. They give me the information I wanted, plus more. And they open up other avenues for me to keep exploring and drilling into my data. (And let’s face it, Stats was never my jam in school so having Ana do the heavy lifting for me is a relief.)<br/>I can now say my hypothesis was correct: better weather = more bike rides!&nbsp;</span></p></div>
</div></div><div data-element-id="elm_JVAtrXw-wBuOsl7ZVpBF0g" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-7 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_0ye-ypXcD10AAxK0kStm8w" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_0ye-ypXcD10AAxK0kStm8w"] .zpimage-container figure img { width: 660px !important ; height: 553px !important ; } } </style><div data-caption-color="" data-size-tablet="" data-size-mobile="" data-align="center" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimage-container zpimage-align-center zpimage-tablet-align-center zpimage-mobile-align-center zpimage-size-custom zpimage-tablet-fallback-fit zpimage-mobile-fallback-fit hb-lightbox " data-lightbox-options="
                type:fullscreen,
                theme:dark"><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor" role="link" tabindex="0" aria-label="Open Lightbox" style="cursor:pointer;"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/Blog%20Images/TextQL%20Dashboard%20blog/image%20-6-.png" size="custom" data-lightbox="true"/></picture></span></figure></div>
</div></div></div><div data-element-id="elm_TELBRqQepD4MKMrVGZoC4g" data-element-type="divider" class="zpelement zpelem-divider "><style type="text/css"></style><style></style><div class="zpdivider-container zpdivider-line zpdivider-align-center zpdivider-align-mobile-center zpdivider-align-tablet-center zpdivider-width100 zpdivider-line-style-solid "><div class="zpdivider-common"></div>
</div></div><div data-element-id="elm_anJ3ptrpUnn4StkQGPWG1A" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>Level Up</span></h2></div>
<div data-element-id="elm_1UARsHCXnCyyGs8DOOSq3A" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p><span>As I mentioned before, just this week, TextQL released Dashboards. So of course, I had to jump back in and see how Ana would handle my previous analysis with the Dashboard capability.&nbsp;<br/><br/>In the Dashboard window in TextQL, I select “+ New Dashboard” which opens up a Thread with Ana with the Dashboards output tool selected. I give her a pretty vague prompt because I want to see what she can do.&nbsp;</span></p></div>
</div><div data-element-id="elm_kgAXJmg-L_mkGPmWdb-UWg" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_kgAXJmg-L_mkGPmWdb-UWg"] .zpimage-container figure img { width: 508px !important ; height: 192px !important ; } } </style><div data-caption-color="" data-size-tablet="" data-size-mobile="" data-align="center" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimage-container zpimage-align-center zpimage-tablet-align-center zpimage-mobile-align-center zpimage-size-custom zpimage-tablet-fallback-fit zpimage-mobile-fallback-fit hb-lightbox " data-lightbox-options="
                type:fullscreen,
                theme:dark"><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor" role="link" tabindex="0" aria-label="Open Lightbox" style="cursor:pointer;"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/Blog%20Images/TextQL%20Dashboard%20blog/image%20-7-.png" size="custom" data-lightbox="true"/></picture></span></figure></div>
</div><div data-element-id="elm_iGoWWcTva4XIjCQcNnX1JQ" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p><span>About a minute and thirty seconds in, Ana lets me know to hang tight.&nbsp;</span></p></div>
</div><div data-element-id="elm_Co3O4rn1NIBpHFtH0fH8Pw" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_Co3O4rn1NIBpHFtH0fH8Pw"] .zpimage-container figure img { width: 515px !important ; height: 125px !important ; } } </style><div data-caption-color="" data-size-tablet="" data-size-mobile="" data-align="center" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimage-container zpimage-align-center zpimage-tablet-align-center zpimage-mobile-align-center zpimage-size-original zpimage-tablet-fallback-fit zpimage-mobile-fallback-fit hb-lightbox " data-lightbox-options="
                type:fullscreen,
                theme:dark"><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor" role="link" tabindex="0" aria-label="Open Lightbox" style="cursor:pointer;"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/Blog%20Images/TextQL%20Dashboard%20blog/image%20-8-.png" size="original" data-lightbox="true"/></picture></span></figure></div>
</div><div data-element-id="elm_GKaCCb5y2WNzKj0w8HHtqQ" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p><span>And one minute later I get my results....</span></p></div>
</div><div data-element-id="elm_0nw6yDIlI31KZnK21Aw89g" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_0nw6yDIlI31KZnK21Aw89g"] .zpimage-container figure img { width: 1110px ; height: 500.19px ; } } </style><div data-caption-color="" data-size-tablet="" data-size-mobile="" data-align="center" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimage-container zpimage-align-center zpimage-tablet-align-center zpimage-mobile-align-center zpimage-size-fit zpimage-tablet-fallback-fit zpimage-mobile-fallback-fit hb-lightbox " data-lightbox-options="
                type:fullscreen,
                theme:dark"><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor" role="link" tabindex="0" aria-label="Open Lightbox" style="cursor:pointer;"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/Blog%20Images/TextQL%20Dashboard%20blog/image%20-9-.png" size="fit" data-lightbox="true"/></picture></span></figure></div>
</div><div data-element-id="elm_VHaP9_AhM7ueyfCQcxJ_Rg" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div>Ana did all of this before Taylor Swift’s “I Wish You Would” ended.... so less than 3 min 27 seconds for those wondering. <br/><br/>I now have an interactive, multi-tabbed dashboard exploring the impact weather has on the Citi Bike rentals in 2015 (Ana must have chosen that time range for me.) <br/><br/>From a Tableau developer’s perspective, these visualizations are pretty good. I certainly prefer them over the static images that Ana provided in the .png in my previous Thread. The colors are fine and (possibly?) color blind friendly. I like the use of icons in the Tab names. And the dashboard elements easily scale as I resize my window. There are some spacing things that need slight adjusting, but it has a good use of white space and text hierarchy. The filtering is decent but needs some tweaking, though I mostly like the experience.<br/></div><p></p></div>
</div><div data-element-id="elm_uRFTtgY8es54f7Pc-b19Qg" data-element-type="row" class="zprow zprow-container zpalign-items-flex-start zpjustify-content-flex-start zpdefault-section zpdefault-section-bg " data-equal-column="false"><style type="text/css"></style><div data-element-id="elm_eibFscuQka7crgSFk3tgqQ" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-6 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_0NxE-yO98Tm2Qiike6dElw" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div>Let’s give Ana some feedback and see what she can do:<br/><ul><li>Change Seasons to Months for the time filter</li><li>Remove Temp filter</li><li>Add in Neighborhoods</li><li>Add in “Select All” options on Filters for easy UX</li></ul></div><p></p></div>
</div></div><div data-element-id="elm_lyw_qoaitdh01g_YEe66Lw" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-6 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_pYOAIJTj8WElFY2Qs5nw3Q" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_pYOAIJTj8WElFY2Qs5nw3Q"] .zpimage-container figure img { width: 469.57px !important ; height: 257px !important ; } } </style><div data-caption-color="" data-size-tablet="" data-size-mobile="" data-align="center" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimage-container zpimage-align-center zpimage-tablet-align-center zpimage-mobile-align-center zpimage-size-custom zpimage-tablet-fallback-fit zpimage-mobile-fallback-fit hb-lightbox " data-lightbox-options="
                type:fullscreen,
                theme:dark"><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor" role="link" tabindex="0" aria-label="Open Lightbox" style="cursor:pointer;"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/Blog%20Images/TextQL%20Dashboard%20blog/image%20-10-.png" size="custom" data-lightbox="true"/></picture></span></figure></div>
</div></div></div><div data-element-id="elm_MwXiGR7Ys2sHX_JpXbgtMw" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p><span>Here is the updated dashboard - peek the new filters on the left pane:</span></p></div>
</div><div data-element-id="elm_en5nZZOf9zwrlSZMlJuiWQ" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_en5nZZOf9zwrlSZMlJuiWQ"] .zpimage-container figure img { width: 808px !important ; height: 610px !important ; } } </style><div data-caption-color="" data-size-tablet="" data-size-mobile="" data-align="center" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimage-container zpimage-align-center zpimage-tablet-align-center zpimage-mobile-align-center zpimage-size-custom zpimage-tablet-fallback-fit zpimage-mobile-fallback-fit hb-lightbox " data-lightbox-options="
                type:fullscreen,
                theme:dark"><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor" role="link" tabindex="0" aria-label="Open Lightbox" style="cursor:pointer;"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/Blog%20Images/TextQL%20Dashboard%20blog/image%20-11-.png" size="custom" data-lightbox="true"/></picture></span></figure></div>
</div><div data-element-id="elm_Osxz7vKxcrQpoZlFuHT8iQ" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p><span>Things are looking good at first glance, though upon interaction with my new filters I find some bugs in how the Select All options work. I give Ana that feedback (luckily she doesn’t mind some typos!).&nbsp;</span></p></div>
</div><div data-element-id="elm__nKEVT1xNeyOKDBMt8uD-g" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm__nKEVT1xNeyOKDBMt8uD-g"] .zpimage-container figure img { width: 602px !important ; height: 441px !important ; } } </style><div data-caption-color="" data-size-tablet="" data-size-mobile="" data-align="center" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimage-container zpimage-align-center zpimage-tablet-align-center zpimage-mobile-align-center zpimage-size-custom zpimage-tablet-fallback-fit zpimage-mobile-fallback-fit hb-lightbox " data-lightbox-options="
                type:fullscreen,
                theme:dark"><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor" role="link" tabindex="0" aria-label="Open Lightbox" style="cursor:pointer;"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/Blog%20Images/TextQL%20Dashboard%20blog/image%20-12-.png" size="custom" data-lightbox="true"/></picture></span></figure></div>
</div><div data-element-id="elm_w5XnR8J7QYBvkiERLFurgQ" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p><span>Okay now we are getting somewhere exciting! Everything is looking really good. I want to see what happens when I ask Ana to change the colors to match a random swatch I found online, took a screenshot of, and pasted into my chat with Ana asking her to update the colors to match the swatch.&nbsp;</span></p></div>
</div><div data-element-id="elm_ujHGKItvE_QsaRA6Cz2hbw" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_ujHGKItvE_QsaRA6Cz2hbw"] .zpimage-container figure img { width: 195px !important ; height: 46px !important ; } } </style><div data-caption-color="" data-size-tablet="" data-size-mobile="" data-align="center" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimage-container zpimage-align-center zpimage-tablet-align-center zpimage-mobile-align-center zpimage-size-original zpimage-tablet-fallback-fit zpimage-mobile-fallback-fit hb-lightbox " data-lightbox-options="
                type:fullscreen,
                theme:dark"><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor" role="link" tabindex="0" aria-label="Open Lightbox" style="cursor:pointer;"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/Blog%20Images/TextQL%20Dashboard%20blog/image%20-13-.png" size="original" data-lightbox="true"/></picture></span></figure></div>
</div><div data-element-id="elm_VtjCyTmHE9WZB6sBquKJZA" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p><span>Alright - she’s got the dashboard updated. Surprisingly, that one seemed to take longer than some of the other requests.</span></p></div>
</div><div data-element-id="elm_iQtlnp0WuoxaCqrYkcE5DA" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_iQtlnp0WuoxaCqrYkcE5DA"] .zpimage-container figure img { width: 921px !important ; height: 779px !important ; } } </style><div data-caption-color="" data-size-tablet="" data-size-mobile="" data-align="center" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimage-container zpimage-align-center zpimage-tablet-align-center zpimage-mobile-align-center zpimage-size-custom zpimage-tablet-fallback-fit zpimage-mobile-fallback-fit hb-lightbox " data-lightbox-options="
                type:fullscreen,
                theme:dark"><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor" role="link" tabindex="0" aria-label="Open Lightbox" style="cursor:pointer;"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/Blog%20Images/TextQL%20Dashboard%20blog/image%20-14-.png" size="custom" data-lightbox="true"/></picture></span></figure></div>
</div><div data-element-id="elm_9TM8mjW1_EIcBZ32eEuyHw" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p><span>I love it!&nbsp;</span></p><p><span><br/></span></p><p><span><span>From here, I can publish the dashboard to users in my organization and let them see and interact with it. I’d say that was an hour well spent to not only explore the data, create a dashboard, AND write this blog post!&nbsp;</span><br/></span></p></div>
</div><div data-element-id="elm_6Olx9QOpUemOaJaOzqFraw" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_6Olx9QOpUemOaJaOzqFraw"] .zpimage-container figure img { width: 720px !important ; height: 118px !important ; } } </style><div data-caption-color="" data-size-tablet="" data-size-mobile="" data-align="center" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimage-container zpimage-align-center zpimage-tablet-align-center zpimage-mobile-align-center zpimage-size-custom zpimage-tablet-fallback-fit zpimage-mobile-fallback-fit hb-lightbox " data-lightbox-options="
                type:fullscreen,
                theme:dark"><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor" role="link" tabindex="0" aria-label="Open Lightbox" style="cursor:pointer;"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/Blog%20Images/TextQL%20Dashboard%20blog/image%20-15-.png" size="custom" data-lightbox="true"/></picture></span></figure></div>
</div><div data-element-id="elm_dS0vrkbkyuYHvtr7XvMr4Q" data-element-type="divider" class="zpelement zpelem-divider "><style type="text/css"></style><style></style><div class="zpdivider-container zpdivider-line zpdivider-align-center zpdivider-align-mobile-center zpdivider-align-tablet-center zpdivider-width100 zpdivider-line-style-solid "><div class="zpdivider-common"></div>
</div></div><div data-element-id="elm_6YUq_i-XcstonF2sNhohYA" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><h4 style="text-align:center;">If you want to see a Live Demo with Ana connected to your data, reach out below and we can help you get started!</h4></div>
</div><div data-element-id="elm_osb7SELgQpS0Y1qbHiEY_A" data-element-type="button" class="zpelement zpelem-button "><style></style><div class="zpbutton-container zpbutton-align-center zpbutton-align-mobile-center zpbutton-align-tablet-center"><style type="text/css"></style><a class="zpbutton-wrapper zpbutton zpbutton-type-primary zpbutton-size-md zpbutton-style-none " href="/contact-us" target="_blank"><span class="zpbutton-content">Request a Live Demo of TextQL</span></a></div>
</div></div></div></div></div></div> ]]></content:encoded><pubDate>Thu, 05 Mar 2026 16:37:37 -0600</pubDate></item><item><title><![CDATA[Introducing ViewAs: User Impersonation for Tableau Server]]></title><link>https://www.highperformance.tech/blogs/post/tableau-server-impersonation</link><description><![CDATA[<img align="left" hspace="5" src="https://www.highperformance.tech/Blog Images/ViewAs_Set Up Screen.png"/>ViewAs is a small application that lets Tableau Server administrators view the server exactly as another user sees it — through the actual UI, not just the API.]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_1AgEe0FYRtqE3OO6PX4yhQ" data-element-type="section" class="zpsection "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_Ybv4JJFmQ8KwkPKlwpG6ZQ" data-element-type="row" class="zprow zprow-container zpalign-items- zpjustify-content- " data-equal-column=""><style type="text/css"></style><div data-element-id="elm_ncUi9D0dQdKRJ-gEZM63eA" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- "><style type="text/css"></style><div data-element-id="elm_bzrPvprYuxAuUc912sQptA" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><p>I've had the pleasure of working with Tableau Server administrators for over a decade and a half now, and one question that comes up somewhat frequently is some variation of: &quot;A user says they can't see this dashboard, but from my end it looks fine. How do I see what <i>they</i> see?&quot;</p><p><br/></p><p>In most cases the answer, until now, has been: outside of Tableau Desktop, you can't. Not easily, anyway.</p></div><p></p></div>
</div><div data-element-id="elm_F1s8G9CNQZUGfmIcmhlP5w" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>The Typical Approaches</span></h2></div>
<div data-element-id="elm_NKPYv2G8p8sXECjDoKB6Wg" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><p>How you handle this depends on your environment. If you're embedding Tableau in a custom application, your wrapper app can impersonate the user and render the viz as them. This works well when it's available, but it requires that you have embedding set up in the first place and that your portal actually implements impersonation. If you're not in that situation, it doesn't help you.</p><p><br/></p><p>For row-level security issues, the workbook author or other Creators could troubleshoot in Tableau Desktop. This is effective, but now you're potentially pulling someone else into the investigation and waiting on their availability.</p><p><br/></p><p>You can also check effective permissions in the Tableau Server content permissions dialog. It's easy enough to access, but interpreting the results takes some practice — and it only tells you about permissions, not what the user actually experiences when they navigate the server.</p><p><br/></p><p>My go-to approach has been scheduling a Zoom call for a screenshare. I like this because you can troubleshoot user behavior and technical issues at the same time — sometimes the problem isn't permissions at all, it's just that the user doesn't know where to click. But scheduling a call isn't always convenient, and sometimes you just need a quick answer without the coordination overhead.</p></div><p></p></div>
</div><div data-element-id="elm_0POoyX17KPu8MgHuRCpbXQ" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>Introducing: ViewAs</span></h2></div>
<div data-element-id="elm_DwgVnnhupXRLnoazXbhgwg" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p>ViewAs is a small application that lets Tableau Server administrators <span style="font-weight:bold;">view the server&nbsp;</span><span style="font-weight:bold;">exactly as another user sees it</span> — through the actual UI, not just the API.</p><p><br/></p><p>The workflow is simple:&nbsp;</p><ol><ol><li>You authenticate as yourself</li><li>Select the user you want to impersonate from a searchable list</li><li>Launch a session</li></ol></ol><p><span style="font-family:-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, &quot;Helvetica Neue&quot;, Arial, sans-serif;"><br/></span></p><p><span style="font-family:-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, &quot;Helvetica Neue&quot;, Arial, sans-serif;">From there, you see what they see. Their navigation, their row-level security filtering, their dashboard behavior, their effective permissions at every level. When someone reports they can't see the Sales Dashboard, you can verify in thirty seconds whether the issue is permissions, RLS, or something the user is doing on their end.</span></p><p><br/></p><p>This is also useful for validating RLS across tenants, testing how dashboards appear for different user roles, verifying that new users have appropriate access on their first day, and documenting access controls for audit purposes. Automation is still the right answer for anything you need to do repeatedly at scale — but manual validation lets you iterate quickly when you're building something new, and it gives you peace of mind that what you've built actually works the way you expect. Both have their place.<br/></p></div>
</div><div data-element-id="elm_u_c8G_T7Lwpu9sXjA1z7IA" data-element-type="row" class="zprow zprow-container zpalign-items-flex-start zpjustify-content-flex-start zpdefault-section zpdefault-section-bg " data-equal-column="false"><style type="text/css"></style><div data-element-id="elm_IHyEHg0CtstqN-34k1GhRg" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-6 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_ZuO6IRMNNNnMv9Dud5GsCA" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_ZuO6IRMNNNnMv9Dud5GsCA"] .zpimage-container figure img { width: 472.52px !important ; height: 312px !important ; } } [data-element-id="elm_ZuO6IRMNNNnMv9Dud5GsCA"] .zpimage-container[class*='zpimage-overlay-effect-'] figure:hover figcaption , [data-element-id="elm_ZuO6IRMNNNnMv9Dud5GsCA"] .zpimage-container[class*='zpimage-overlay-effect-'] figure figcaption { background:#013A51 ; } </style><div data-caption-color="" data-size-tablet="" data-size-mobile="" data-align="center" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimage-container zpimage-align-center zpimage-tablet-align-center zpimage-mobile-align-center zpimage-size-custom zpimage-tablet-fallback-fit zpimage-mobile-fallback-fit zpimage-overlay zpimage-overlay-effect-static-bottom hb-lightbox " data-lightbox-options="
                type:fullscreen,
                theme:dark"><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor" role="link" tabindex="0" aria-label="Open Lightbox" style="cursor:pointer;"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/Blog%20Images/ViewAs_Select%20User%20to%20Impersonate.png" size="custom" data-lightbox="true"/></picture></span><figcaption class="zpimage-caption zpimage-caption-align-center"><span class="zpimage-caption-content">Logged in as myself (ironman) and prompted to impersonate a user.</span></figcaption></figure></div>
</div></div><div data-element-id="elm_Gu_pYFDU0pMYzZHgxlXJRQ" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-6 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_gl0V4dJVUWdgWJZxUvA43Q" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_gl0V4dJVUWdgWJZxUvA43Q"] .zpimage-container figure img { width: 350px ; height: 202.93px ; } } [data-element-id="elm_gl0V4dJVUWdgWJZxUvA43Q"] .zpimage-container[class*='zpimage-overlay-effect-'] figure:hover figcaption , [data-element-id="elm_gl0V4dJVUWdgWJZxUvA43Q"] .zpimage-container[class*='zpimage-overlay-effect-'] figure figcaption { background:#013A51 ; } </style><div data-caption-color="" data-size-tablet="" data-size-mobile="" data-align="center" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimage-container zpimage-align-center zpimage-tablet-align-center zpimage-mobile-align-center zpimage-size-fit zpimage-tablet-fallback-fit zpimage-mobile-fallback-fit zpimage-overlay zpimage-overlay-effect-static-bottom hb-lightbox " data-lightbox-options="
                type:fullscreen,
                theme:dark"><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor" role="link" tabindex="0" aria-label="Open Lightbox" style="cursor:pointer;"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/Blog%20Images/ViewAs_Impersonating%20User.png" size="fit" data-lightbox="true"/></picture></span><figcaption class="zpimage-caption zpimage-caption-align-center"><span class="zpimage-caption-content">Impersonating a user (thehulk) on my server. Now I see what he sees — exactly as he sees it.</span></figcaption></figure></div>
</div></div></div><div data-element-id="elm_HZkf9WkiLM5omhxp2pPKWQ" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>Tableau Cloud</span></h2></div>
<div data-element-id="elm_P_7PmuxXQ82JKY5jzbWdtA" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><p>This version of ViewAs is for Tableau Server on-premises deployments. Tableau Cloud has tighter restrictions around impersonation — API impersonation requires Connected Apps with JWT authentication, which is significant overhead just to debug a permission issue. I'm exploring options for a Cloud version, but the architectural constraints are real. If you're a Cloud customer running into these friction points, I'd like to hear about your specific scenarios.</p></div><p></p></div>
</div><div data-element-id="elm__B9saYcPXaepPlU-fo7TSg" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>Getting Started</span></h2></div>
<div data-element-id="elm_x05Ho2_fkVOZax-mz9VOkQ" data-element-type="row" class="zprow zprow-container zpalign-items-flex-start zpjustify-content-flex-start zpdefault-section zpdefault-section-bg " data-equal-column="false"><style type="text/css"></style><div data-element-id="elm_HuuffqGnHz5rP7BByUlzew" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-6 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_0PXNyIic5v4lAA30PpeDtw" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><p><strong>ViewAs is available now for free at&nbsp;</strong><a href="https://viewas.hpt.tools/"><strong>viewas.hpt.tools</strong></a><strong>&nbsp;</strong>(email required for download).&nbsp;</p><p><br/></p><p>It works on Mac, Windows, and Linux, and takes less than a minute to set up. If you're using Tableau Server authentication, you can sign in with your credentials directly. Otherwise, if you are using SSO or another method, you'll need a Personal Access Token.</p><p><br/></p><p>Questions? Reach out at&nbsp;<a href="mailto:hello@highperformance.tech">hello@highperformance.tech</a>.</p></div><p></p></div>
</div></div><div data-element-id="elm_erPXGUPy528RD81gOsFisw" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-6 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_-VIZqd5-wRj6dMY-jTEciA" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_-VIZqd5-wRj6dMY-jTEciA"] .zpimage-container figure img { width: 350px ; height: 202.34px ; } } </style><div data-caption-color="" data-size-tablet="" data-size-mobile="" data-align="center" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimage-container zpimage-align-center zpimage-tablet-align-center zpimage-mobile-align-center zpimage-size-fit zpimage-tablet-fallback-fit zpimage-mobile-fallback-fit hb-lightbox " data-lightbox-options="
                type:fullscreen,
                theme:dark"><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor" role="link" tabindex="0" aria-label="Open Lightbox" style="cursor:pointer;"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/Blog%20Images/ViewAs_Set%20Up%20Screen.png" size="fit" data-lightbox="true"/></picture></span></figure></div>
</div></div></div></div></div></div></div></div> ]]></content:encoded><pubDate>Mon, 16 Feb 2026 11:57:00 -0600</pubDate></item></channel></rss>