<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>https://datacooper.com/</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>weekly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://datacooper.com/zh</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://datacooper.com/cwtwb</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/cwtwb" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/cwtwb" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/cwtwb" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://datacooper.com/zh/cwtwb</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/cwtwb" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/cwtwb" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/cwtwb" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://datacooper.com/cwprep</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/cwprep" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/cwprep" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/cwprep" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://datacooper.com/zh/cwprep</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/cwprep" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/cwprep" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/cwprep" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://datacooper.com/guide</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/guide" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/guide" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/guide" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://datacooper.com/zh/guide</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/guide" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/guide" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/guide" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7000000000000001</priority>
</url>
<url>
<loc>https://datacooper.com/blog</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://datacooper.com/zh/blog</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7000000000000001</priority>
</url>
<url>
<loc>https://datacooper.com/tools</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/tools" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/tools" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/tools" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://datacooper.com/zh/tools</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/tools" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/tools" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/tools" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7000000000000001</priority>
</url>
<url>
<loc>https://datacooper.com/tools/tableau-kpi-cloner</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/tools/tableau-kpi-cloner" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/tools/tableau-kpi-cloner" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/tools/tableau-kpi-cloner" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://datacooper.com/zh/tools/tableau-kpi-cloner</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/tools/tableau-kpi-cloner" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/tools/tableau-kpi-cloner" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/tools/tableau-kpi-cloner" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://datacooper.com/tools/tableau-layout-extractor</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/tools/tableau-layout-extractor" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/tools/tableau-layout-extractor" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/tools/tableau-layout-extractor" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://datacooper.com/zh/tools/tableau-layout-extractor</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/tools/tableau-layout-extractor" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/tools/tableau-layout-extractor" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/tools/tableau-layout-extractor" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://datacooper.com/guide/from-prompt-to-tableau-files</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/guide/from-prompt-to-tableau-files" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/guide/from-prompt-to-tableau-files" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/guide/from-prompt-to-tableau-files" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://datacooper.com/zh/guide/from-prompt-to-tableau-files</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/guide/from-prompt-to-tableau-files" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/guide/from-prompt-to-tableau-files" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/guide/from-prompt-to-tableau-files" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://datacooper.com/guide/tableau-automation-scenarios</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/guide/tableau-automation-scenarios" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/guide/tableau-automation-scenarios" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/guide/tableau-automation-scenarios" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://datacooper.com/zh/guide/tableau-automation-scenarios</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/guide/tableau-automation-scenarios" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/guide/tableau-automation-scenarios" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/guide/tableau-automation-scenarios" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://datacooper.com/blog/a-couple-of-weeks-ago-matthew-miller-shared-some-fantastic-feedback-mentioning-his</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog/a-couple-of-weeks-ago-matthew-miller-shared-some-fantastic-feedback-mentioning-his" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog/a-couple-of-weeks-ago-matthew-miller-shared-some-fantastic-feedback-mentioning-his" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog/a-couple-of-weeks-ago-matthew-miller-shared-some-fantastic-feedback-mentioning-his" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://datacooper.com/zh/blog/a-couple-of-weeks-ago-matthew-miller-shared-some-fantastic-feedback-mentioning-his</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog/a-couple-of-weeks-ago-matthew-miller-shared-some-fantastic-feedback-mentioning-his" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog/a-couple-of-weeks-ago-matthew-miller-shared-some-fantastic-feedback-mentioning-his" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog/a-couple-of-weeks-ago-matthew-miller-shared-some-fantastic-feedback-mentioning-his" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://datacooper.com/blog/a-discussion-with-a-former-tableau-expert-and-my-next-steps-for-agentic-bi</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog/a-discussion-with-a-former-tableau-expert-and-my-next-steps-for-agentic-bi" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog/a-discussion-with-a-former-tableau-expert-and-my-next-steps-for-agentic-bi" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog/a-discussion-with-a-former-tableau-expert-and-my-next-steps-for-agentic-bi" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://datacooper.com/zh/blog/a-discussion-with-a-former-tableau-expert-and-my-next-steps-for-agentic-bi</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog/a-discussion-with-a-former-tableau-expert-and-my-next-steps-for-agentic-bi" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog/a-discussion-with-a-former-tableau-expert-and-my-next-steps-for-agentic-bi" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog/a-discussion-with-a-former-tableau-expert-and-my-next-steps-for-agentic-bi" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://datacooper.com/blog/as-a-front-line-tableau-developer-i-ran-an-experiment-that-genuinely-surprised-me</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog/as-a-front-line-tableau-developer-i-ran-an-experiment-that-genuinely-surprised-me" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog/as-a-front-line-tableau-developer-i-ran-an-experiment-that-genuinely-surprised-me" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog/as-a-front-line-tableau-developer-i-ran-an-experiment-that-genuinely-surprised-me" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://datacooper.com/zh/blog/as-a-front-line-tableau-developer-i-ran-an-experiment-that-genuinely-surprised-me</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog/as-a-front-line-tableau-developer-i-ran-an-experiment-that-genuinely-surprised-me" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog/as-a-front-line-tableau-developer-i-ran-an-experiment-that-genuinely-surprised-me" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog/as-a-front-line-tableau-developer-i-ran-an-experiment-that-genuinely-surprised-me" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://datacooper.com/blog/building-a-tableau-dashboard-by-hand-no-i-wrote-it-with-python-code-by-ai</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog/building-a-tableau-dashboard-by-hand-no-i-wrote-it-with-python-code-by-ai" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog/building-a-tableau-dashboard-by-hand-no-i-wrote-it-with-python-code-by-ai" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog/building-a-tableau-dashboard-by-hand-no-i-wrote-it-with-python-code-by-ai" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://datacooper.com/zh/blog/building-a-tableau-dashboard-by-hand-no-i-wrote-it-with-python-code-by-ai</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog/building-a-tableau-dashboard-by-hand-no-i-wrote-it-with-python-code-by-ai" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog/building-a-tableau-dashboard-by-hand-no-i-wrote-it-with-python-code-by-ai" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog/building-a-tableau-dashboard-by-hand-no-i-wrote-it-with-python-code-by-ai" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://datacooper.com/blog/building-super-tables-in-tableau-what-s-your-go-to-strategy-these-days</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog/building-super-tables-in-tableau-what-s-your-go-to-strategy-these-days" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog/building-super-tables-in-tableau-what-s-your-go-to-strategy-these-days" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog/building-super-tables-in-tableau-what-s-your-go-to-strategy-these-days" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://datacooper.com/zh/blog/building-super-tables-in-tableau-what-s-your-go-to-strategy-these-days</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog/building-super-tables-in-tableau-what-s-your-go-to-strategy-these-days" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog/building-super-tables-in-tableau-what-s-your-go-to-strategy-these-days" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog/building-super-tables-in-tableau-what-s-your-go-to-strategy-these-days" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://datacooper.com/blog/cwprep-generate-tableau-prep-data-flows-from-code</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog/cwprep-generate-tableau-prep-data-flows-from-code" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog/cwprep-generate-tableau-prep-data-flows-from-code" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog/cwprep-generate-tableau-prep-data-flows-from-code" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://datacooper.com/zh/blog/cwprep-generate-tableau-prep-data-flows-from-code</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog/cwprep-generate-tableau-prep-data-flows-from-code" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog/cwprep-generate-tableau-prep-data-flows-from-code" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog/cwprep-generate-tableau-prep-data-flows-from-code" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://datacooper.com/blog/cwprep-v0-3-0-release-introducing-the-text-to-prepflow-engine</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog/cwprep-v0-3-0-release-introducing-the-text-to-prepflow-engine" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog/cwprep-v0-3-0-release-introducing-the-text-to-prepflow-engine" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog/cwprep-v0-3-0-release-introducing-the-text-to-prepflow-engine" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://datacooper.com/zh/blog/cwprep-v0-3-0-release-introducing-the-text-to-prepflow-engine</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog/cwprep-v0-3-0-release-introducing-the-text-to-prepflow-engine" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog/cwprep-v0-3-0-release-introducing-the-text-to-prepflow-engine" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog/cwprep-v0-3-0-release-introducing-the-text-to-prepflow-engine" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://datacooper.com/blog/from-30-minutes-to-3-seconds-redefining-tableau-prep-development-with-cwprep</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog/from-30-minutes-to-3-seconds-redefining-tableau-prep-development-with-cwprep" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog/from-30-minutes-to-3-seconds-redefining-tableau-prep-development-with-cwprep" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog/from-30-minutes-to-3-seconds-redefining-tableau-prep-development-with-cwprep" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://datacooper.com/zh/blog/from-30-minutes-to-3-seconds-redefining-tableau-prep-development-with-cwprep</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog/from-30-minutes-to-3-seconds-redefining-tableau-prep-development-with-cwprep" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog/from-30-minutes-to-3-seconds-redefining-tableau-prep-development-with-cwprep" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog/from-30-minutes-to-3-seconds-redefining-tableau-prep-development-with-cwprep" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://datacooper.com/blog/from-comment-to-code-in-24-hours-thank-you-jeffrey-shaffer</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog/from-comment-to-code-in-24-hours-thank-you-jeffrey-shaffer" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog/from-comment-to-code-in-24-hours-thank-you-jeffrey-shaffer" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog/from-comment-to-code-in-24-hours-thank-you-jeffrey-shaffer" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://datacooper.com/zh/blog/from-comment-to-code-in-24-hours-thank-you-jeffrey-shaffer</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog/from-comment-to-code-in-24-hours-thank-you-jeffrey-shaffer" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog/from-comment-to-code-in-24-hours-thank-you-jeffrey-shaffer" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog/from-comment-to-code-in-24-hours-thank-you-jeffrey-shaffer" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://datacooper.com/blog/give-ai-a-dashboard-screenshot-and-it-hands-back-a-perfectly-structured-tableau</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog/give-ai-a-dashboard-screenshot-and-it-hands-back-a-perfectly-structured-tableau" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog/give-ai-a-dashboard-screenshot-and-it-hands-back-a-perfectly-structured-tableau" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog/give-ai-a-dashboard-screenshot-and-it-hands-back-a-perfectly-structured-tableau" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://datacooper.com/zh/blog/give-ai-a-dashboard-screenshot-and-it-hands-back-a-perfectly-structured-tableau</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog/give-ai-a-dashboard-screenshot-and-it-hands-back-a-perfectly-structured-tableau" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog/give-ai-a-dashboard-screenshot-and-it-hands-back-a-perfectly-structured-tableau" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog/give-ai-a-dashboard-screenshot-and-it-hands-back-a-perfectly-structured-tableau" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://datacooper.com/blog/infrastructure-as-code-for-tableau-prep-an-experiment-with-python-and-ai-driven-etl</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog/infrastructure-as-code-for-tableau-prep-an-experiment-with-python-and-ai-driven-etl" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog/infrastructure-as-code-for-tableau-prep-an-experiment-with-python-and-ai-driven-etl" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog/infrastructure-as-code-for-tableau-prep-an-experiment-with-python-and-ai-driven-etl" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://datacooper.com/zh/blog/infrastructure-as-code-for-tableau-prep-an-experiment-with-python-and-ai-driven-etl</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog/infrastructure-as-code-for-tableau-prep-an-experiment-with-python-and-ai-driven-etl" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog/infrastructure-as-code-for-tableau-prep-an-experiment-with-python-and-ai-driven-etl" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog/infrastructure-as-code-for-tableau-prep-an-experiment-with-python-and-ai-driven-etl" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://datacooper.com/blog/just-dropped-8-ready-to-use-prompt-templates-for-cwprep-mcp</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog/just-dropped-8-ready-to-use-prompt-templates-for-cwprep-mcp" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog/just-dropped-8-ready-to-use-prompt-templates-for-cwprep-mcp" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog/just-dropped-8-ready-to-use-prompt-templates-for-cwprep-mcp" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://datacooper.com/zh/blog/just-dropped-8-ready-to-use-prompt-templates-for-cwprep-mcp</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog/just-dropped-8-ready-to-use-prompt-templates-for-cwprep-mcp" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog/just-dropped-8-ready-to-use-prompt-templates-for-cwprep-mcp" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog/just-dropped-8-ready-to-use-prompt-templates-for-cwprep-mcp" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://datacooper.com/blog/just-hit-an-unexpected-milestone-my-open-source-library-cwtwb-just-experienced</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog/just-hit-an-unexpected-milestone-my-open-source-library-cwtwb-just-experienced" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog/just-hit-an-unexpected-milestone-my-open-source-library-cwtwb-just-experienced" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog/just-hit-an-unexpected-milestone-my-open-source-library-cwtwb-just-experienced" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://datacooper.com/zh/blog/just-hit-an-unexpected-milestone-my-open-source-library-cwtwb-just-experienced</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog/just-hit-an-unexpected-milestone-my-open-source-library-cwtwb-just-experienced" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog/just-hit-an-unexpected-milestone-my-open-source-library-cwtwb-just-experienced" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog/just-hit-an-unexpected-milestone-my-open-source-library-cwtwb-just-experienced" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://datacooper.com/blog/just-shipped-generate-a-full-tableau-dashboard-from-scratch-using-mcp-zero-clicks</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog/just-shipped-generate-a-full-tableau-dashboard-from-scratch-using-mcp-zero-clicks" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog/just-shipped-generate-a-full-tableau-dashboard-from-scratch-using-mcp-zero-clicks" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog/just-shipped-generate-a-full-tableau-dashboard-from-scratch-using-mcp-zero-clicks" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://datacooper.com/zh/blog/just-shipped-generate-a-full-tableau-dashboard-from-scratch-using-mcp-zero-clicks</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog/just-shipped-generate-a-full-tableau-dashboard-from-scratch-using-mcp-zero-clicks" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog/just-shipped-generate-a-full-tableau-dashboard-from-scratch-using-mcp-zero-clicks" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog/just-shipped-generate-a-full-tableau-dashboard-from-scratch-using-mcp-zero-clicks" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://datacooper.com/blog/no-gui-no-manual-coding-tableau-to-power-bi-in-10-minutes-i-just-ran-a-crazy</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog/no-gui-no-manual-coding-tableau-to-power-bi-in-10-minutes-i-just-ran-a-crazy" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog/no-gui-no-manual-coding-tableau-to-power-bi-in-10-minutes-i-just-ran-a-crazy" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog/no-gui-no-manual-coding-tableau-to-power-bi-in-10-minutes-i-just-ran-a-crazy" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://datacooper.com/zh/blog/no-gui-no-manual-coding-tableau-to-power-bi-in-10-minutes-i-just-ran-a-crazy</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog/no-gui-no-manual-coding-tableau-to-power-bi-in-10-minutes-i-just-ran-a-crazy" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog/no-gui-no-manual-coding-tableau-to-power-bi-in-10-minutes-i-just-ran-a-crazy" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog/no-gui-no-manual-coding-tableau-to-power-bi-in-10-minutes-i-just-ran-a-crazy" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://datacooper.com/blog/recently-i-took-inspiration-from-james-goodall-s-excellent-tableau-public-project</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog/recently-i-took-inspiration-from-james-goodall-s-excellent-tableau-public-project" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog/recently-i-took-inspiration-from-james-goodall-s-excellent-tableau-public-project" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog/recently-i-took-inspiration-from-james-goodall-s-excellent-tableau-public-project" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://datacooper.com/zh/blog/recently-i-took-inspiration-from-james-goodall-s-excellent-tableau-public-project</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog/recently-i-took-inspiration-from-james-goodall-s-excellent-tableau-public-project" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog/recently-i-took-inspiration-from-james-goodall-s-excellent-tableau-public-project" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog/recently-i-took-inspiration-from-james-goodall-s-excellent-tableau-public-project" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://datacooper.com/blog/sql-to-tableau-prep-in-seconds</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog/sql-to-tableau-prep-in-seconds" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog/sql-to-tableau-prep-in-seconds" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog/sql-to-tableau-prep-in-seconds" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://datacooper.com/zh/blog/sql-to-tableau-prep-in-seconds</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog/sql-to-tableau-prep-in-seconds" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog/sql-to-tableau-prep-in-seconds" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog/sql-to-tableau-prep-in-seconds" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://datacooper.com/blog/still-buzzing-from-presenting-on-ai-driven-bi-migration-at-the-nne-tableau-user</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog/still-buzzing-from-presenting-on-ai-driven-bi-migration-at-the-nne-tableau-user" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog/still-buzzing-from-presenting-on-ai-driven-bi-migration-at-the-nne-tableau-user" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog/still-buzzing-from-presenting-on-ai-driven-bi-migration-at-the-nne-tableau-user" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://datacooper.com/zh/blog/still-buzzing-from-presenting-on-ai-driven-bi-migration-at-the-nne-tableau-user</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog/still-buzzing-from-presenting-on-ai-driven-bi-migration-at-the-nne-tableau-user" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog/still-buzzing-from-presenting-on-ai-driven-bi-migration-at-the-nne-tableau-user" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog/still-buzzing-from-presenting-on-ai-driven-bi-migration-at-the-nne-tableau-user" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://datacooper.com/blog/stop-dragging-nodes-start-coding-tableau-prep-dataflows</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog/stop-dragging-nodes-start-coding-tableau-prep-dataflows" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog/stop-dragging-nodes-start-coding-tableau-prep-dataflows" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog/stop-dragging-nodes-start-coding-tableau-prep-dataflows" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://datacooper.com/zh/blog/stop-dragging-nodes-start-coding-tableau-prep-dataflows</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog/stop-dragging-nodes-start-coding-tableau-prep-dataflows" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog/stop-dragging-nodes-start-coding-tableau-prep-dataflows" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog/stop-dragging-nodes-start-coding-tableau-prep-dataflows" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://datacooper.com/blog/stop-manual-drag-and-drop-generate-interactive-bi-dashboard-prototypes-from-a</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog/stop-manual-drag-and-drop-generate-interactive-bi-dashboard-prototypes-from-a" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog/stop-manual-drag-and-drop-generate-interactive-bi-dashboard-prototypes-from-a" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog/stop-manual-drag-and-drop-generate-interactive-bi-dashboard-prototypes-from-a" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://datacooper.com/zh/blog/stop-manual-drag-and-drop-generate-interactive-bi-dashboard-prototypes-from-a</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog/stop-manual-drag-and-drop-generate-interactive-bi-dashboard-prototypes-from-a" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog/stop-manual-drag-and-drop-generate-interactive-bi-dashboard-prototypes-from-a" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog/stop-manual-drag-and-drop-generate-interactive-bi-dashboard-prototypes-from-a" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://datacooper.com/blog/tableau-prep-to-sql-in-seconds</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog/tableau-prep-to-sql-in-seconds" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog/tableau-prep-to-sql-in-seconds" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog/tableau-prep-to-sql-in-seconds" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://datacooper.com/zh/blog/tableau-prep-to-sql-in-seconds</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog/tableau-prep-to-sql-in-seconds" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog/tableau-prep-to-sql-in-seconds" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog/tableau-prep-to-sql-in-seconds" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://datacooper.com/blog/the-future-of-tableau-prep-when-ai-understands-business-logic-better-than-ui-clicks</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog/the-future-of-tableau-prep-when-ai-understands-business-logic-better-than-ui-clicks" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog/the-future-of-tableau-prep-when-ai-understands-business-logic-better-than-ui-clicks" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog/the-future-of-tableau-prep-when-ai-understands-business-logic-better-than-ui-clicks" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://datacooper.com/zh/blog/the-future-of-tableau-prep-when-ai-understands-business-logic-better-than-ui-clicks</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog/the-future-of-tableau-prep-when-ai-understands-business-logic-better-than-ui-clicks" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog/the-future-of-tableau-prep-when-ai-understands-business-logic-better-than-ui-clicks" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog/the-future-of-tableau-prep-when-ai-understands-business-logic-better-than-ui-clicks" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://datacooper.com/blog/this-is-a-prototype-image-of-the-superstore-dashboard-that-i-generated-with-nano</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog/this-is-a-prototype-image-of-the-superstore-dashboard-that-i-generated-with-nano" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog/this-is-a-prototype-image-of-the-superstore-dashboard-that-i-generated-with-nano" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog/this-is-a-prototype-image-of-the-superstore-dashboard-that-i-generated-with-nano" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://datacooper.com/zh/blog/this-is-a-prototype-image-of-the-superstore-dashboard-that-i-generated-with-nano</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog/this-is-a-prototype-image-of-the-superstore-dashboard-that-i-generated-with-nano" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog/this-is-a-prototype-image-of-the-superstore-dashboard-that-i-generated-with-nano" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog/this-is-a-prototype-image-of-the-superstore-dashboard-that-i-generated-with-nano" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://datacooper.com/blog/when-power-bi-meets-claude-code-productivity-takes-off</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog/when-power-bi-meets-claude-code-productivity-takes-off" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog/when-power-bi-meets-claude-code-productivity-takes-off" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog/when-power-bi-meets-claude-code-productivity-takes-off" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://datacooper.com/zh/blog/when-power-bi-meets-claude-code-productivity-takes-off</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog/when-power-bi-meets-claude-code-productivity-takes-off" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog/when-power-bi-meets-claude-code-productivity-takes-off" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog/when-power-bi-meets-claude-code-productivity-takes-off" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://datacooper.com/blog/why-we-put-linkedin-content-on-blog</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog/why-we-put-linkedin-content-on-blog" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog/why-we-put-linkedin-content-on-blog" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog/why-we-put-linkedin-content-on-blog" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://datacooper.com/zh/blog/why-we-put-linkedin-content-on-blog</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://datacooper.com/blog/why-we-put-linkedin-content-on-blog" />
<xhtml:link rel="alternate" hreflang="zh" href="https://datacooper.com/zh/blog/why-we-put-linkedin-content-on-blog" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://datacooper.com/blog/why-we-put-linkedin-content-on-blog" />
<lastmod>2026-04-27T04:06:03.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
</urlset>
