<?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/author/kendra-allenspach/feed" rel="self" type="application/rss+xml"/><title>High Performance Technologies - High Performance Technologies Blog by Kendra Allenspach</title><description>High Performance Technologies - High Performance Technologies Blog by Kendra Allenspach</description><link>https://www.highperformance.tech/blogs/author/kendra-allenspach</link><lastBuildDate>Thu, 23 Apr 2026 22:02:57 -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[Understanding User License Dependencies in Cloud Migrations]]></title><link>https://www.highperformance.tech/blogs/post/understanding-user-license-dependencies-in-cloud-migrations</link><description><![CDATA[<img align="left" hspace="5" src="https://www.highperformance.tech/files/img/problem-solvers.jpeg"/>When migrating from Tableau Server to Cloud, content owned by unlicensed users creates roadblocks. Before you start audit user licenses, clean up unlicensed content, and reassign ownership pre-migration — ensuring nothing valuable gets left behind.]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_1jdNMbzfSneCY42RMvjSmw" data-element-type="section" class="zpsection "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_njRLuWhMTuqIhKIrXTgAuA" 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_lsa_08uxT2WanFh7wjbWMA" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-9 zpcol-sm-12 zpalign-self- "><style type="text/css"></style><div data-element-id="elm_cINUxOsvQ8mbnXz1pN2iFw" 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>When you switch from Server to Cloud, getting your users licensed properly is essential</span>. Tableau recommends setting up your Creator users first, and we agree! Working with your Creators, the Content Authors, throughout the migration process is vital to a successful migration. Once your Creators are added then you want to migrate the content so it keeps the correct ownership.</p><p style="text-align:left;"><br/></p><p style="text-align:left;">If you migrate manually, this looks like asking each of your Creators to download their content from the Tableau Server and republish to the new Cloud location, recreating any extract refreshes and custom views in the process.</p><p style="text-align:left;"><br/></p><p style="text-align:left;">One thing that is different about user set up in Cloud vs. Server is that Cloud requires users to sign in with full email addresses (ex: johnsmith@company.com), whereas Server requires just a username (ex: johnsmith) and password. If your Server currently has users signing in with simple usernames, they will need email-based credentials for Cloud, and it’s important to communicate any new sign-on procedures to your users during migration.</p><p style="text-align:left;"><br/></p><div><h1 style="text-align:left;">Unlicensed Users with Content</h1><p style="text-align:left;">But what about the content sitting on your Tableau Server owned by an unlicensed user – either they have left the company or changed roles – and their legacy dashboards exist without continued ownership? How will their content get migrated?</p><p style="text-align:left;"><br/></p><p style="text-align:left;">The best thing to do is take inventory of all content owned by unlicensed users and evaluate if that content is still relevant and needed. Are those workbooks being accessed and used regularly?</p></div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px;"><div><li style="text-align:left;">If yes, then a Tableau Admin can reassign that content to a licensed owner so it can be migrated to Cloud.</li></div></blockquote><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px;"><li style="text-align:left;">If not, then the content can be decommissioned and flagged to not migrate to Cloud.</li></blockquote><p style="text-align:center;"><img src="/content%20reassign.png" style="width:519px !important;height:254px !important;max-width:100% !important;"/></p><h2 style="text-align:left;"><strong>Clean House </strong><u><strong>Before</strong></u><strong>&nbsp;You Move</strong></h2><div><h2></h2><p style="text-align:left;">Not only can you clean up unlicensed users’ content but think of your Tableau Cloud migration like moving to a new home - it's the perfect opportunity to declutter! Why spend the time to migrate (and then maintain) dozens of outdated dashboards that nobody's looked at in months?</p><p style="text-align:left;"><br/></p><p style="text-align:left;">It's common for Tableau Servers to accumulate digital dust&nbsp;over time. That quarterly report from 2019? The prototype dashboard someone built but never finished? The &quot;test&quot; workbooks scattered across projects? Migration is your chance to leave them behind.</p><p style="text-align:left;"><br/></p><p style="text-align:left;">Before moving anything to Cloud, we recommend auditing your content usage. Look for:</p><ul><li style="text-align:left;">Workbooks with zero views in the last 6-12 months</li><li style="text-align:left;">&quot;Test&quot; or &quot;Draft&quot; content that never went live</li><li style="text-align:left;">Dashboards created by employees who've left the company</li><li style="text-align:left;">Multiple versions of the same analysis</li></ul><p style="text-align:left;">Starting fresh in Tableau Cloud with only your active, valuable content means:</p><ul><li style="text-align:left;">Faster migration process</li><li style="text-align:left;">Cleaner, more organized environment</li><li style="text-align:left;">Easier maintenance and governance</li></ul><span><div style="text-align:left;">You can use your Server's admin views or repository data to identify unused content before migration.</div><div style="text-align:left;"><br/></div><div style="text-align:left;"><div><h1>Get a Jump Start</h1><p>As mentioned in our <a href="https://www.highperformance.tech/blogs/post/tableau-cloud-migrations-mapping-your-migration-journey" title="introduction post to this series" target="_blank" rel="">introduction post to this series</a>, auditing your Server content and creating a Content Readiness Dashboard provides insight to which content on your Server is owned by an unlicensed user, so you can zoom in on the relevant content to make license changes before migrating.&nbsp;</p><p><br/></p><p><span>When we handle migrations for our clients, we migrate content and make necessary changes at scale. This includes moving active users with proper licenses, content, and permissions. If needed, we can automatically reassign orphaned content to valid licensed users in Cloud during the migration process.</span></p><p><br/></p><p>To get a Content Readiness Dashboard for your Server and see your unlicensed users' content, schedule a call with our migration experts below.&nbsp;</p></div></div></span></div><p style="text-align:left;"><br/></p></div>
</div><div data-element-id="elm_8qGbjPkiSJq-EvhZsRjC7w" 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="https://calendly.com/highperformancetechnologies/quick-call" target="_blank"><span class="zpbutton-content">Talk to a Migration Expert</span></a></div>
</div><div data-element-id="elm_7MGB5wug3p_2Dc1XlEQTnw" 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_d402ToSLWTEnWXMDYFpO9Q" 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-style:italic;">This is part two of our ongoing series on Tableau Cloud Migration Roadmap. Up next: Font Compatibility: The Hidden Migration Complexity.</span></p></div>
</div></div><div data-element-id="elm_w9UFEIMWa3kPcEdz7OpG1A" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-3 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_j0T5pBicLc9HNGIdnh-vmw" data-element-type="text" class="zpelement zpelem-text zp-hidden-sm zp-hidden-xs "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p><br/></p><p><br/></p><p><br/></p><p><br/></p><p>This can be a pretty tedious process depending on how much content you have on your Server.</p><p><br/></p><p><br/></p><p><br/></p><p><br/></p><p><br/></p><p><br/></p><p><br/></p><p><br/></p><p><br/></p><p><br/></p><p><br/></p><p>Taking the time to evaluate if content is still needed is well worth it in the long run — and will save you time on your migration journey.</p><p><br/></p><p><br/></p><p><br/></p><p><br/></p><p><br/></p><p><br/></p><p><br/></p><p><br/></p><p><br/></p><p><br/></p><p><br/></p><p><br/></p><p><br/></p><p><br/></p><p><br/></p><p><br/></p><p><br/></p><p><br/></p><p>CobWEBS...am I right?!?</p><p><br/></p><p><br/></p><p><br/></p><p><br/></p><p><br/></p><p>Your future self will thank you for the squeaky clean Cloud environment.</p><p><br/></p><p><br/></p><p><br/></p><p><br/></p><p><br/></p><p>If you get to Cloud and realize you've forgotten something, we can help you restore it from a pre-migration backup!</p></div>
</div></div></div></div></div></div> ]]></content:encoded><pubDate>Fri, 15 Aug 2025 14:39:53 -0500</pubDate></item><item><title><![CDATA[Tableau Cloud Migrations: Mapping Your Migration Journey]]></title><link>https://www.highperformance.tech/blogs/post/tableau-cloud-migrations-mapping-your-migration-journey</link><description><![CDATA[<img align="left" hspace="5" src="https://www.highperformance.tech/tableau-server-logo-1.jpeg"/>Migrating from Tableau Server to Cloud is like planning a road trip — you need to spot the roadblocks ahead. We've identified 6 common delays that can slow your migration. Our Content Readiness Dashboard maps your route and shows exactly what needs fixing before you move.]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_lOg2PhGeSFGiHv4mm7d38Q" data-element-type="section" class="zpsection "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_jIZwvUilSdeNJ_KNVSDw_A" 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_ZoBzhSFoTEm7zH348FKLSw" 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_NXIBHryRzUaxkc4IRuyOyg" 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_sw9ZiWAVBnto4Hzb3ma_Qw" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-9 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_1qUZgsZHPzHpyuTukQRnEQ" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-center zptext-align-tablet-center " data-editor="true"><div><div><p style="text-align:left;margin-bottom:10.6667px;"></p><div><p style="line-height:1.5;">In the age of GPS-enabled smartphones, it’s rare to plan a trip without first checking your favorite mapping app. Whether you’re avoiding tolls, aiming for a specific arrival time, or want the fastest route, the app gives directions to meet your needs.</p><p style="text-align:left;"><br/></p><p style="text-align:left;">Migrating from Tableau Server to Tableau Cloud works the same way. You know your starting point and your destination — but what about the delays that could slow you down?</p><p style="text-align:left;"><br/></p><p style="text-align:left;">When you’re mapping your route from Server to Cloud, considering the unique details of your Tableau environment will help you avoid the most common (and costly) slow-downs you could encounter. In this ongoing blog series, we will show you how to identify these road hazards ahead of time so you can travel with confidence (<i>and</i> have the right ETA).</p><p style="text-align:left;"><span style="font-style:italic;"><span><br/></span></span></p><p style="text-align:left;">So, buckle up, and let’s begin.</p></div>
<p></p></div><div><h3 style="text-align:left;margin-bottom:5.3333px;"></h3></div>
<div><h2 style="text-align:left;">The Route Overview</h2></div><div><p style="text-align:left;">We find that most Tableau Server --&gt; Tableau Cloud migration routes are made up of five key segments.&nbsp;<span>They're all important, but the first, Planning and Analysis, is essential so you can get the best possible route customized to your unique environment, avoiding any potential roadblocks along the way.</span></p><p style="text-align:left;"><br/></p><p style="text-align:left;"><img src="/HPT%20Cloud%20Migration%20Process.png"/></p><p style="text-align:left;"><br/></p><p style="text-align:left;"></p><div><p style="text-align:left;">During the Planning &amp; Analysis phase, you need to answer two critical questions:</p></div>
<p></p></div></div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px;"><div><div><li style="text-align:left;">What is your strategy for data connectivity in Tableau Cloud?</li><li style="text-align:left;">Is your content compatible with Tableau Cloud?</li></div>
</div></blockquote><div><div><p style="text-align:left;"></p><div><p><br/></p><p style="text-align:left;line-height:1.5;">To answer those questions, you'll want to audit your Tableau Server content, looking for things that could cause you to veer from the standard route. Think of this phase like checking the route before departing on a road trip — this is where you spot the construction zones, detours, and traffic jams. With that visibility, you can adjust your timeline, reroute where needed, and plan smarter. The result: a clearer picture of what’s ahead and a more accurate ETA for reaching Tableau Cloud.</p><p style="text-align:left;"><br/></p><h1 style="text-align:left;">Potential Route Delays</h1><p style="text-align:left;"><span>Here are six </span>potential delays we’ve identified to be on the lookout for:</p></div>
<p></p></div></div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px;"><ol><li style="text-align:left;">User License Dependencies</li><li style="text-align:left;">Unsupported Fonts</li><li style="text-align:left;">Broken URL Connections</li><li style="text-align:left;">Database Connection Failures</li><li style="text-align:left;">Flat File Refresh Failures</li><li style="text-align:left;">Private Data Connectivity</li></ol></blockquote><div><p style="text-align:left;">Each of these items may appear straightforward on the surface, but with the complexity of each dashboard and data source, they can end up being quite nuanced in how you approach a solution before and during migration.</p><p style="text-align:left;"><br/></p><div><p></p><h1 style="text-align:left;">Taking Inventory</h1><p style="text-align:left;">When we plan successful Cloud migrations for clients, we start by creating a complete Content Inventory&nbsp;of all the users, data sources (and their connections), and workbooks on the Server, looking for the six potential delays we listed above. Once we've gathered our inventory, we visualize it in a Tableau Dashboard. The Content Readiness Dashboard helps us quickly see areas where remediation, or a reroute, is needed and plan accordingly.</p></div></div>
</div></div></div><div data-element-id="elm_Qt-nT3vYyNeQAhGAnXuX6w" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-3 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_iVgbjve-BWIg9CzTmE_OQQ" data-element-type="text" class="zpelement zpelem-text zp-hidden-sm zp-hidden-xs "><style> @media (max-width: 767px) { [data-element-id="elm_iVgbjve-BWIg9CzTmE_OQQ"].zpelem-text { margin-block-start:99px; } } </style><div class="zptext zptext-align-left zptext-align-mobile-center zptext-align-tablet-center " data-editor="true"><div><p style="text-align:left;margin-bottom:10.6667px;"></p><div><p style="text-align:left;"><br/></p><p style="text-align:left;"><br/></p><p style="text-align:left;"><br/></p><p style="text-align:left;"><br/></p><p style="text-align:left;"><br/></p><p style="text-align:left;"><br/></p><p style="text-align:left;">» We'll keep adding to this series as we uncover more potential delays to look out for.</p><p style="text-align:left;"><br/></p><p style="text-align:left;"><br/></p><p style="text-align:left;"><br/></p><p style="text-align:left;"><br/></p><p style="text-align:left;"><br/></p><p style="text-align:left;"><br/></p><p style="text-align:left;"><br/></p><p style="text-align:left;"><br/></p><p style="text-align:left;"><br/></p><p style="text-align:left;"><br/></p><p style="text-align:left;"><br/></p><p style="text-align:left;"><br/></p><p style="text-align:left;"><br/></p><p style="text-align:left;"><br/></p><p style="text-align:left;"><br/></p><p style="text-align:left;"><br/></p><p style="text-align:left;"><br/></p><p style="text-align:left;"><br/></p><p style="text-align:left;"><br/></p><p style="text-align:left;"><br/></p><p style="text-align:left;"><br/></p><p style="text-align:left;"><br/></p><p style="text-align:left;"><br/></p><p style="text-align:left;"><br/></p><p style="text-align:left;"><br/></p><p style="text-align:left;"><br/></p><p style="text-align:left;"><br/></p><p style="text-align:left;"><br/></p><p style="text-align:left;"><br/></p><p style="text-align:left;"><br/></p><p style="text-align:left;"><br/></p><p style="text-align:left;"><br/></p><p style="text-align:left;"><br/></p><p style="text-align:left;"><br/></p><p style="text-align:left;"><br/></p><p style="text-align:left;">»&nbsp;This blog series will dive into each of these in more detail, ensuring you have the knowledge and tools needed to prepare for your journey.&nbsp;</p><p style="text-align:left;"><br/></p><p style="text-align:left;"><br/></p><p style="text-align:left;"><br/></p><p style="text-align:left;"><br/></p><p style="text-align:left;"><br/></p><p style="text-align:left;"><br/></p><p style="text-align:left;"><br/></p><p style="text-align:left;"><br/></p><p style="text-align:left;"><span style="text-align:center;"><br/></span></p><p style="text-align:left;"><span style="text-align:center;">»&nbsp;</span>We get this information from the Tableau Server API, but you can also get the details from the Tableau Repository for your Tableau Server.<br/></p></div></div>
</div></div></div></div><div data-element-id="elm_8aI0s2juPlbVWlsyeoMZYg" data-element-type="imagetext" class="zpelement zpelem-imagetext "><style> @media (min-width: 992px) { [data-element-id="elm_8aI0s2juPlbVWlsyeoMZYg"] .zpimagetext-container figure img { width: 577.5px !important ; height: 385px !important ; } } [data-element-id="elm_8aI0s2juPlbVWlsyeoMZYg"].zpelem-imagetext{ margin-block-start:18px; } </style><div data-size-tablet="" data-size-mobile="" data-align="right" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimagetext-container zpimage-with-text-container zpimage-align-right 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="/Content%20Readiness%20Dashboard%20Sample.png" size="custom" data-lightbox="true"/></picture></span></figure><div class="zpimage-text zpimage-text-align-left zpimage-text-align-mobile-left zpimage-text-align-tablet-left " data-editor="true"><div style="text-align:center;"><div><p style="text-align:left;"><br/></p><p style="text-align:left;"><br/></p><p style="text-align:left;"><br/></p><p style="text-align:left;"><br/></p><p style="text-align:left;"><br/></p><p style="text-align:left;">The Content Readiness Dashboard breaks down:</p></div><div><p style="text-align:left;"><span style="font-size:14px;"></span></p><div></div><p></p><li style="text-align:left;"><span style="font-size:14px;">Content needing remediation vs. Content ready for migration</span></li><li style="text-align:left;"><span style="font-size:14px;">Content and remediation type needed by author</span></li><li style="text-align:left;"><span style="font-size:14px;">Recommended timeline for when to remediate certain roadblocks</span></li><p style="text-align:left;"><br/></p></div><div><div><p style="text-align:left;"><span>We also give each Tableau content author a custom checklist with their specific fixes and clear steps to take. Getting content ready for migration is a team effort. Migrations are most successful when everyone pitches in to clear the roadblocks ahead of time.</span></p></div><br/><br/></div></div></div>
</div></div><div data-element-id="elm_VETJNF-MwWo1LmdQUl9Frw" 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><div style="text-align:center;"><p style="text-align:left;">Planning a migration without knowing what's ahead is like driving cross-country without checking traffic. Taking an inventory and identifying the potential roadblocks we've outlined will show you exactly what to expect from your unique environment as you plan your migration.</p></div><div><p><br/></p><p>Want to see what roadblocks might be waiting in your migration?&nbsp;We can help you out with your content inventory and provide you with a Content Readiness Dashboard for Server content.</p></div></div><p></p></div>
</div><div data-element-id="elm_YFixvbgDSQSVxpyIK07S-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="https://calendly.com/highperformancetechnologies/quick-call?back=1&amp;month=2025-07" target="_blank" title="Schedule a call with an expert via Calendly"><span class="zpbutton-content">Talk to a Migration Expert</span></a></div>
</div></div></div></div></div><div data-element-id="elm_m9-KSHRc73mqUQevMT3WsQ" data-element-type="section" class="zpsection zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_MHO2Z-cburPgMYhwmSsdVA" 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_aF8u1P7V_YMeuNUprdWDHQ" 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_MVQMVDUHzZDqfh89Wz_YiQ" 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_-Cc8h3JxMRTt7n1-rVNiyg" 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><span style="font-style:italic;"><span></span></span></span></p><div><div><i>This is part one of our ongoing series on creating your Tableau Cloud Migration Roadmap. Up next: <a href="https://www.highperformance.tech/blogs/post/understanding-user-license-dependencies-in-cloud-migrations" title="Understanding User License Dependencies in Cloud Migrations" rel="">Understanding User License Dependencies in Cloud Migrations</a></i><i>.</i></div></div><span></span><p></p></div>
</div></div></div></div></div></div> ]]></content:encoded><pubDate>Wed, 13 Aug 2025 11:11:08 -0500</pubDate></item></channel></rss>