# Anas Ab Aziz > Anyone can Automate Public Ghost content for AI and LLM tooling. This file includes a bounded export of public pages first, then recent public posts. Append `.md` to any post or page URL to get the content in Markdown (for example, `/example-post.md`). ## Pages ### About URL: https://www.anasabaziz.com/about/ Last updated: 2026-08-30T00:35:15.000Z About Anas Ab Aziz ## Practical systems for people who want to work smarter. I write about data, automation, and the tools that make day-to-day corporate work clearer and more useful. My aim is simple: turn complicated workflows into practical systems that save time, improve reporting, and help people make better decisions. --- What I write about [ 📊 Data Analytics Excel, SQL, Power Query, and Power BI guides for building reliable analysis and reporting. ](https://www.anasabaziz.com/tag/data-analytics/) [ ⚙️ Automation Repeatable workflows that reduce manual work, connect information, and make teams more self-sufficient. ](https://www.anasabaziz.com/tag/automation/) [ ✦ AI for Work Clear ways to use Copilot and other AI tools for analysis, writing, coding, and problem-solving. ](https://www.anasabaziz.com/tag/ai/) --- What you will find here 1. 01 **Plain-language guides**Step-by-step explanations that make technical tools approachable, even if you are learning them for the first time. 2. 02 **Useful decisions**Honest advice about when a tool fits the job and when a simpler option is the better choice. 3. 03 **Real-world workflows**Ideas shaped by the work of reporting, data preparation, dashboards, and automation inside organisations. The point of it all ## Anyone can automate. You do not need to be a full-time developer to build a better way of working. With the right tools, a practical mindset, and a willingness to test small improvements, you can spend less time repeating tasks and more time on work that matters. --- Let's connect Have a question, an idea, or a workflow worth improving? I would be glad to hear from you. [Email](mailto:anas@anasabaziz.com) [LinkedIn](https://www.linkedin.com/in/anasabaziz/?ref=anasabaziz.com) [GitHub](https://github.com/anasabaziz?ref=anasabaziz.com) ### Terms of Service URL: https://www.anasabaziz.com/terms-of-service/ Last updated: 2025-11-01T23:12:10.000Z *Last Updated: 2nd November 2025* Welcome to **AnasAbAziz.com** (“we”, “our”, or “us”). These Terms of Service (“Terms”) govern your access to and use of our website, **AnasAbAziz.com**, which publishes articles, tutorials, and resources about analytics, data automation, and productivity tools (collectively, the “Service”). By accessing or using this website, you agree to be bound by these Terms. If you do not agree, please discontinue use immediately. ## **1\. Who We Are** **AnasAbAziz.com** is a personal blog and educational resource operated by **Anas Ab Aziz**, focused on data analytics, automation, and digital productivity. You can reach us at: 📧 **Contact:** anas@anasabaziz.com ## **2\. Acceptance of Terms** By using our website, subscribing to newsletters, or engaging with our content, you confirm that you are at least 18 years old (or have parental/guardian consent) and that you have read, understood, and agreed to these Terms. We may update or revise these Terms at any time. The latest version will always be available on this page, and the “Last Updated” date will reflect changes. Continued use after updates means you accept the revised Terms. ## **3\. Purpose of the Website** AnasAbAziz.com provides educational and informational content on topics such as analytics, Power BI, SQL, automation tools, and related tutorials. The content is for **informational purposes only** and should not be considered professional, financial, or legal advice. ## **4\. Use of Content** All written content, graphics, code samples, and media on this website are the intellectual property of **AnasAbAziz.com**, unless otherwise stated. You may: - Read, share, and link to our articles for personal or educational purposes. - Quote portions of our content, provided proper attribution and a link to the original post are included. You may **not**: - Copy, reproduce, or republish entire posts without written permission. - Use our content for commercial gain, resale, or automated scraping. - Misrepresent ownership or authorship of our materials. If you wish to reuse content beyond these permissions, please contact us for approval. ## **5\. User Conduct** When interacting with this website (e.g., via comments, contact forms, or email), you agree to: - Not post spam, malicious code, or misleading information. - Not use the website for unlawful, abusive, or harmful purposes. - Not attempt to gain unauthorized access to the website’s systems or data. We reserve the right to moderate, edit, or delete comments and user submissions at our discretion. ## **6\. Intellectual Property** All site design, text, graphics, and code are protected by applicable copyright and trademark laws. “AnasAbAziz.com” and associated branding are property of Anas Ab Aziz. Any unauthorized use of our intellectual property is prohibited. Third-party trademarks (e.g., Microsoft, Power BI) are the property of their respective owners, referenced here only for educational or descriptive purposes. ## **7\. External Links and Third-Party Content** This website may include links to third-party websites, tools, or affiliate programs (e.g., software product recommendations). We are not responsible for the content, accuracy, or privacy practices of third-party websites. Use of those services is governed by their respective terms and policies. ## **8\. Affiliate Disclosure** Some posts on AnasAbAziz.com may contain affiliate links. This means we may earn a small commission if you purchase through those links at no extra cost to you. We only recommend products or tools we personally use or believe will add value to our readers. Refer to [Affiliate Disclosure](https://www.anasabaziz.com/affiliate-disclosure/) for more information ## **9\. No Warranties** The content on this website is provided **“as is”** and **“as available”** without warranties of any kind, express or implied. We do not guarantee that: - The website will be uninterrupted, secure, and error-free. - Information provided is always complete or up to date. Use of this website is at your own risk. ## **10\. Limitation of Liability** To the fullest extent permitted by law, **AnasAbAziz.com** and its owner shall not be liable for any direct, indirect, incidental, or consequential damages resulting from: - Use or inability to use the website; - Reliance on any information or content; - Errors, interruptions, or data loss; or - Links to third-party sites or services. Some jurisdictions do not allow limitations on implied warranties or certain liabilities; in such cases, those limitations may not apply to you. ## **11\. Indemnification** You agree to indemnify and hold harmless **AnasAbAziz.com** and its owner from any claims, damages, or expenses arising from your use of the website, violation of these Terms, or infringement of third-party rights. ## **12\. Termination** We reserve the right to suspend or terminate your access to the website at any time, without notice, for conduct that we believe violates these Terms or is harmful to other users or the site’s integrity. ## **13\. Governing Law** These Terms are governed by and construed under the laws of **Malaysia**, without regard to its conflict of law principles. Any disputes arising under these Terms shall be resolved in the courts of **Kuala Lumpur, Malaysia**. ## **14\. Privacy and Data** Please refer to our [Privacy Policy](https://www.anasabaziz.com/privacy-policy/) to learn how we collect, use, and protect your personal information. By using this website, you acknowledge and agree to the Privacy Policy. ## **15\. Changes to These Terms** We may revise these Terms periodically. Any changes will be posted here with an updated “Last Updated” date. We encourage you to check this page regularly. ## **16\. Contact Us** If you have any questions about these Terms, please contact: anas@anasabaziz.com ### Privacy Policy URL: https://www.anasabaziz.com/privacy-policy/ Last updated: 2025-11-01T23:12:40.000Z *Last Updated: 2nd November 2025* Welcome to **AnasAbAziz.com** (“we,” “our,” or “us”). This Privacy Policy explains how we collect, use, and protect your personal information when you visit or interact with our website, [**https://www.anasabaziz.com**](https://www.anasabaziz.com/) (“the Site”). We respect your privacy and are committed to handling your data responsibly and transparently. ## **1\. Information We Collect** We collect only the information necessary to improve user experience and maintain our services: ### a. **Information you provide voluntarily** - When you subscribe to our newsletter, comment on a post, or contact us, you may provide: - Name (or display name) - Email address - Message or comment content ### b. **Automatically collected information** When you visit the site, standard analytics tools (like Google Analytics or similar) may automatically collect: - IP address - Browser type and version - Operating system - Pages viewed and time spent on site - Referring URLs This information is collected in aggregate form and helps us understand site performance and user interests. ### c. **Cookies and tracking** We use cookies and similar technologies to personalize your experience, analyze traffic, and improve performance. See our full [Cookie Policy](https://www.anasabaziz.com/cookie-policy/) for details. ## **2\. How We Use Your Information** We use collected information to: - Respond to inquiries or comments - Send newsletters or updates (only if you subscribe) - Improve site content and user experience - Monitor site security and performance - Comply with legal obligations We never sell or rent your personal data. ## **3\. Email and Newsletter** If you subscribe to our mailing list, your email will be stored securely and used only to send relevant updates or resources. You can unsubscribe at any time via the link in each email or by contacting **anas@anasabaziz.com**. ## **4\. Third-Party Services** We may use trusted third-party services to operate the site, such as: - **Email marketing tools** (e.g., Mailchimp, ConvertKit) - **Analytics tools** (e.g., Google Analytics, Plausible) - **Affiliate tracking tools** for performance measurement These providers process data under their own privacy policies. We only partner with services that adhere to recognized data-protection standards. ## **5\. Data Retention** We keep your information only as long as necessary to: - Provide requested services - Comply with legal requirements - Resolve disputes or enforce agreements When no longer needed, your data is securely deleted. ## **6\. Your Rights** Depending on your location, you may have rights to: - Access, correct, or delete your personal data - Withdraw consent for newsletters or cookies - Request a copy of your stored information To exercise these rights, email us at **anas@anasabaziz.com**. ## **7\. Data Security** We take reasonable technical and organizational measures to protect your data from unauthorized access, alteration, disclosure, or destruction. However, no internet transmission is 100% secure, and we cannot guarantee absolute security. ## **8\. Children’s Privacy** Our website and content are intended for adults and professionals. We do not knowingly collect data from children under 13. If you believe we have inadvertently collected such data, please contact us for deletion. ## **9\. Changes to This Policy** We may update this Privacy Policy from time to time. Updates will be posted here with a new “Last Updated” date. We encourage you to review it regularly. ## **10\. Contact Us** For any privacy-related questions, email: **anas@anasabaziz.com** ### Cookie Policy URL: https://www.anasabaziz.com/cookie-policy/ Last updated: 2025-11-01T23:07:20.000Z This Cookie Policy explains how **AnasAbAziz.com** (“we”, “our”, or “us”) uses cookies and similar technologies to recognize you when you visit our website. ## **1\. What Are Cookies?** Cookies are small text files placed on your device to collect standard internet log information and visitor behavior data. They help websites function properly, remember preferences, and analyze traffic. ## **2\. Types of Cookies We Use** We use the following types of cookies: ### a. **Essential Cookies** Required for basic website functionality (e.g., load balancing, security, commenting). ### b. **Analytics Cookies** Help us understand how visitors interact with the site using tools like Google Analytics or Plausible Analytics. Data collected includes page views, session duration, and traffic sources. ### c. **Functional Cookies** Used to remember preferences such as display settings or saved forms. ### d. **Affiliate & Third-Party Cookies** When you click on an affiliate link, a cookie may be set by the third party (e.g., software vendor) to track sales or commissions. These cookies do not contain personal information and expire after a set period. ## **3\. Managing Cookies** You can: - Adjust your browser settings to block or delete cookies. - Use tools like [aboutcookies.org](https://www.aboutcookies.org/?ref=anasabaziz.com) for guidance. Note: Blocking essential cookies may affect site functionality. ## **4\. Third-Party Cookies** Some third-party tools embedded on our site (e.g., YouTube videos, embedded tweets) may use their own cookies. We do not control these cookies. Please review those providers’ cookie policies for details. ## **5\. Consent** By continuing to use our site, you consent to our use of cookies as described here. Where legally required, we will present a cookie banner for your explicit consent. ## **6\. Contact** If you have questions about this Cookie Policy, contact: **anas@anasabaziz.com** ### Affiliate Disclosure URL: https://www.anasabaziz.com/affiliate-disclosure/ Last updated: 2025-11-01T23:08:19.000Z **Transparency matters.** At **AnasAbAziz.com**, we sometimes use affiliate links in our content to recommend tools, courses, or products related to analytics and automation. ## **1\. What Are Affiliate Links?** Affiliate links are special URLs that allow us to earn a small commission if you make a purchase, **at no additional cost to you**. For example, if we recommend a data visualization tool or online course and you buy it using our link, we may earn a referral fee. ## **2\. Why We Use Them** Running a website takes time and resources. Affiliate programs help us: - Support ongoing content creation - Maintain the website ad-free and reader-focused - Recommend products we genuinely use or believe in We never accept payment for biased reviews or recommendations. ## **3\. Our Approach** - All affiliate content is based on personal experience or thorough research. - We only link to products we would recommend, even without compensation. - Posts containing affiliate links will include a clear disclosure near the top or within the article. Example disclosure text used on our site: > “This post may contain affiliate links. If you purchase through these links, we may earn a small commission at no extra cost to you.” ## **4\. Third-Party Tracking** When you click an affiliate link, the vendor may use a tracking cookie to record your visit and attribute purchases. These cookies are managed by the vendor and covered by their privacy policies. ## **5\. Integrity and Independence** Our opinions are our own, affiliate relationships never influence the editorial content of **AnasAbAziz.com**. Your trust is our top priority. ## **6\. Contact** If you have questions about our affiliate relationships, please reach out at: 📧 **anas@anasabaziz.com** ## Posts ### How I Upgraded From an AI Chatbot to a Full AI Agent Coding Platform URL: https://www.anasabaziz.com/how-i-upgraded-from-an-ai-chatbot-to-a-full-ai-agent-coding-platform/ Last updated: 2026-08-29T01:51:26.000Z Have you seen people connecting their AI chats to tools like Power BI or GitHub and wondered how they actually do it? The good news is that you don't need to be an AI engineer to start experimenting with this setup. In this guide, I'll walk through the approach I use with the OpenAI (ChatGPT) ecosystem, from installing the desktop app and organising project files to connecting an MCP server and eventually moving beyond subscription-based usage limits. TL;DR / Quick Verdict click to expand ▾ - Start with a ChatGPT account and desktop app before worrying about advanced AI infrastructure. - Keep each AI project in its own folder so documents, skills and instructions don't get mixed together. - Use Agent Skills to define how the agent should work, while MCP provides the connection to external tools and data. - For Power BI and Fabric, Microsoft's skills-for-fabric repository is a useful example because it brings together skills and MCP-related information. - Free or lower-tier subscriptions are useful for experimentation, but larger agent workflows can consume tokens quickly. - If subscription limits become the bottleneck, consider a higher tier, local open-weight models, or an AI aggregator such as OpenRouter. --- **Table of Contents** - [What Are We Actually Connecting?](#section-1) - [Step 1: Start With a ChatGPT Account](#section-2) - [Step 2: Install the ChatGPT Desktop App](#section-3) - [Step 3: Create a Dedicated Project Folder](#section-4) - [Step 4: Connect an MCP Server](#section-5) - [Step 5: Understand Token Usage and Subscription Limits](#section-6) - [Step 6 and Beyond: Move to Local Models or Pay-as-You-Go](#section-7) - [Open-Weight Models vs AI Aggregators](#section-8) - [Final Verdict: Start Simple, Then Add Complexity](#section-9) ## What Are We Actually Connecting? When people talk about connecting an AI chat to Power BI, GitHub or another piece of software, there are several moving parts underneath the surface. The important distinction is between the AI model itself, the instructions or capabilities you give the AI agent, and the external systems it can interact with. For this guide, I'll use the OpenAI (ChatGPT) ecosystem as the example. That's mainly because it's a practical comparison for people who already encounter Microsoft Copilot in business environments that defaults to using OpenAI frontier models. The exact approach will differ between products, but competitors such as Claude, Gemini and Grok have similar concepts around giving AI access to tools and external context. The key technology we'll focus on is the Model Context Protocol, or MCP. Think of an MCP server as a lightweight bridge between an AI application and external tools, data sources or workflows. Installing an AI application doesn't automatically mean it can understand or safely manipulate everything on your computer. You need to deliberately give the agent the right instructions, files and connections. ## Step 1: Start With a ChatGPT Account The first step is straightforward: you'll need a ChatGPT account. Sign up at [ChatGPT.com](https://chatgpt.com/?ref=anasabaziz.com) if you havent done so. If you're only trying this out, you don't necessarily need to start with the most expensive subscription. A FREE or GO subscription can be enough to begin experimenting with the workflow and understand what AI agents can actually do. I wouldn't recommend paying for a higher tier before you've established that this type of workflow is useful to you. The better approach is to start small, connect one project, and see how much interaction you actually need. The important thing is to think beyond the normal chat interface. We're moving toward a workflow where the AI isn't simply answering a question from information you paste into a chat. Instead, you're giving it a structured project environment and, eventually, controlled access to external tools. ## Step 2: Install the ChatGPT Desktop App Next, install the ChatGPT desktop application. Previously there was a separate Codex app. But now ChatGPT Chat, Codex and Work is bundled into one desktop app. The application is available on Windows, MacOS & Linux (*preview as at August 2026*). Don't worry about needing a specific Operating System to run it. Simplest way is to download from the [Codex website](https://openai.com/codex/?ref=anasabaziz.com), Windows allows you to download from the Microsoft Store too. ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2026/08/image-3-1.png) ChatGPT desktop app available on Microsoft Store for Windows Once the application is installed, you can start exploring the agent-style workflow. This is where the experience becomes quite different from simply opening a browser and asking ChatGPT a question. The biggest difference is now you can let ChatGPT control apps on your computer. Ensure this option is turned on. If it isn't, it's still just an AI chatbot. ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2026/08/image-9-1.png) Computer use options in the ChatGPT App One practical constraint appears quickly, though: usage limits. A FREE or GO subscription can give you enough capacity to try the workflow, but you shouldn't assume that it's sufficient for a large project. Agents can perform many interactions while working through files, instructions and external tools, and those interactions add up. My recommendation is therefore to use the initial subscription level as a testing environment. Build something small first. Once you understand the workflow and where the actual bottlenecks are, then decide whether you need more capacity. We'll get back to this again in the further sections of this article. ## Step 3: Create a Dedicated Project Folder This is one of the simplest steps, but it's also one of the easiest to overlook. For each project, I recommend creating a dedicated project folder rather than throwing every document, instruction and supporting file into one general-purpose directory. The reason is straightforward: context matters. You don't want to accidently jumble up a few projects together. ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2026/08/image-2-1-1.png) Codex home page If you're working on a Power BI project, for example, you don't want the agent confusing those files with documents from an unrelated automation project. A clean project structure makes it much easier to control what the agent sees and works with. This is also where Agent Skills become useful. You can manually place the skills you want into the relevant agents folder, or instruct the AI to include them where appropriate. ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2026/08/image-7-1.png) Codex Project File I've also made some of the skills I use available through my GitHub repository, so you can use those as a starting point rather than building everything from scratch. You can find them here: [GitHub - anasabaziz/AI-Skills: This Repositary contains useful skills made by Anas Ab AzizThis Repositary contains useful skills made by Anas Ab Aziz - anasabaziz/AI-Skills![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/icon/favicon-7397b76d-ccd3-4782-aa91-334aa2c129f2.png)GitHubanasabaziz![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/thumbnail/AI-Skills-21254143-0a6a-43ab-b612-419d1c1766e2)](https://github.com/anasabaziz/AI-Skills?ref=anasabaziz.com) ## Step 4: Connect an MCP Server Now we get to the part that usually makes people curious: connecting the AI agent to an external tool. Model Context Protocol, or MCP, provides a standardized way for AI applications and large language models to interact with external data sources, tools and workflows. In practical terms, an MCP server can act as the bridge between your AI agent and something such as Power BI or Microsoft Fabric. A useful example is Microsoft's `skills-for-fabric` repository: [GitHub - microsoft/skills-for-fabric: A collection of skills and MCP systems to enable users of CLI, VSCode, Claude to operate over Microsoft FabricA collection of skills and MCP systems to enable users of CLI, VSCode, Claude to operate over Microsoft Fabric - microsoft/skills-for-fabric![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/icon/favicon-32f3555e-bfa7-4800-9693-458e6c94eb20.png)GitHubmicrosoft![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/thumbnail/skills-for-fabric-1e06203f-e8bc-4de2-8458-9d045fdd2f9e)](https://github.com/microsoft/skills-for-fabric?ref=anasabaziz.com) ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2026/08/image-5-1.png) Prompting Codex to install the Skills-For-Fabric bundle by itself What makes this particularly interesting is that the repository brings together information around both skills and MCP connectivity for Power BI and Fabric. This gives you a useful mental model: - **Skills** help define how the agent should perform a particular type of work. - **MCP** gives the agent a mechanism for interacting with an external system. - **Your project files** provide the context specific to what you're actually working on. One of the first tests I'd recommend is deliberately conservative. Rather than immediately telling the agent to change your Power BI project, have it review your PBIP files first. That review step gives you an opportunity to see whether the agent understands the structure of the project before you allow it to make amendments. It's a much better starting point than jumping straight into automated changes. ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2026/08/image-8-1.png) Prompting Codex to review the Power BI file ## Step 5: Understand Token Usage and Subscription Limits At this point, you may notice something that isn't obvious when you're just using an AI chatbot for occasional questions: agent workflows can consume a lot more usage. Every time the agent reads files, reasons about them, interacts with an MCP server and performs another step, you're potentially consuming additional model capacity. ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2026/08/image-6-1.png) Monthly usage limit shown in the user settings This is why I wouldn't expect FREE or GO subscriptions to remain comfortable once you move into larger projects. If you're regularly working with Power BI files, repositories, multiple skills and external tools, I'd look at a higher subscription tier such as PLUS or PRO. There is an important caveat, though: higher tiers don't mean unlimited usage. You still have usage limits, although they're substantially higher. For PLUS subscriptions in particular, usage is also subject to a five-hour usage window. So the decision shouldn't simply be "Which subscription is the most powerful?" The better question is: **How much agent usage does my workflow actually require?** If you're experimenting, start lower. If you're consistently hitting limits because you're doing meaningful work, then upgrade. ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2026/08/image-4-1.png) Upgrade plans available for ChatGPT ## Step 6 and Beyond: Move to Local Models or Pay-as-You-Go Once you've reached this stage, there are two more advanced directions you can take. The first is to run open-weight models yourself. The second is to use an AI aggregator and pay for model usage directly. Both approaches can remove some of the usage-limit constraints associated with subscription plans, but there's a trade-off that shouldn't be ignored: you're also removing the ceiling on what you can spend. That's particularly important with agent workflows. If an agent is allowed to perform many tool calls and model interactions, a pay-as-you-go setup can consume more money simply because the workflow is being used more heavily. Similarly a local model consumes more power and increases your electricity bill. So don't think of this as a magical way to make AI cheaper. Think of it as changing the pricing model from a subscription with usage limits to direct consumption. That can be a good trade when you need flexibility, but you need to manage the cost deliberately. ## Open-Weight Models vs AI Aggregators If you want to run everything **locally**, tools such as [Ollama](https://ollama.com/?ref=anasabaziz.com) or [LMStudio](https://lmstudio.ai/?ref=anasabaziz.com) provide one route into open-weight models. ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2026/08/image-12-1.png) Open-weight models available for download on Ollama The major advantage is control. You can run models on your own hardware rather than depending entirely on a hosted subscription or API provider. Though these companies still provide that option too. The catch is hardware. You need a sufficiently capable PC to run the models you want at a useful speed, and getting a good local AI setup running is a separate technical project in itself. I wouldn't recommend going down this route simply because you've hit a ChatGPT usage limit. Expect to incur thousands of dollars or perhaps tens of thousands for this option. The alternative is an **AI aggregator**. This is the route I personally find more practical if you already have a PC capable of running the desktop AI workflow. I use services such as [OpenRouter](https://openrouter.ai/?ref=anasabaziz.com) to purchase model tokens for consumption, then connect the application through an API key. The process is conceptually simple: load funds, configure your API connection, and set spending limits so you don't unexpectedly burn through your balance. Another advantage is model choice. With an aggregator, you're not restricted to ChatGPT models. You can experiment with models from different providers and see which performs best for the work you're actually doing. For coding work specifically, I personally like Kimi K2.6 (Moonshot AI, released April 2026). It had helped me code my websites without much problems. The important point isn't that one model is universally better. It's that this setup gives you the flexibility to choose the model based on the task rather than tying your entire workflow to one ecosystem. ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2026/08/image-10-1.png) Consumption activity data on OpenRouter ## Final Verdict: Start Simple, Then Add Complexity If you're new to AI agents, I wouldn't start by building a complicated local AI infrastructure with multiple models and custom servers. Start with the simplest version of the workflow: **ChatGPT account → desktop app → dedicated project folder → skills → MCP server → controlled test.** Once you've successfully connected an external system such as Power BI or Fabric and understand what the agent can actually do, you'll have much better information for deciding whether you need a higher subscription or a pay-as-you-go setup. The other important lesson is that MCP isn't the entire solution. The quality of the workflow depends on the combination of your project structure, skills, model, external connections and the instructions you give the agent. For something like Power BI, I'd especially recommend starting with read/review operations before allowing automated amendments. Let the agent demonstrate that it understands your files first. --- *If you're experimenting with this workflow yourself, I'd be interested to hear what you're connecting your AI agent to. Comment below on what you're using it for* ### ASD-STE100: Stop AI-Sounding Writing With This Standard URL: https://www.anasabaziz.com/asd-ste100-stop-ai-sounding-writing-with-this-standard/ Last updated: 2026-08-25T00:54:04.000Z If your drafts keep coming back full of em-dashes and that unmistakable "written by a chatbot" cadence, the fix isn't a better prompt. It's a 40-year-old aerospace writing standard called ASD-STE100 Simplified Technical English. Once you feed it to your LLM, the AI smell mostly disappears. **Table of Contents** - [What Is ASD-STE100 Simplified Technical English?](#section-1) - [Where STE Came From](#section-2) - [What's Actually Inside the Standard](#section-3) - [Why STE Fixes That "AI Wrote This" Feeling](#section-4) - [Two Ways to Put STE to Work in Your LLM](#section-5) - [Is It Worth Setting Up?](#section-6) ## What Is ASD-STE100 Simplified Technical English? ASD-STE100 Simplified Technical English ("STE") is what's known as a controlled natural language. Instead of letting a writer use any word or sentence structure English allows, STE restricts you to a fixed rulebook and a fixed vocabulary. The goal is that two different writers, on two different continents, produce text that reads the same way and can't be misread. That constraint is exactly why it's useful for LLM output. Models default to hedging, stacking clauses, and reaching for the same handful of "AI-flavoured" transition words. STE removes the wiggle room those habits live in. ## Where STE Came From The standard didn't start as a writing-style trend. It started because people were maintaining aircraft. European airlines and AECMA (the European Association of Aerospace Industries) set up a working group in mid-1983 near Amsterdam to define a shared approach to English-language documentation, which became the AECMA Simplified English project. The goal was making aircraft maintenance documentation easier to understand for readers with only a basic command of English, and the resulting guide was released in 1986. AIA, the Aerospace Industries Association of America, was brought in to support the effort. In 2004, after AECMA merged with two other associations to form ASD, the guide was renamed ASD Simplified Technical English, Specification ASD-STE100. The biggest recent shift: Issue 9 was released on January 15, 2025, and marked STE's move from a specification into a full international standard, the product of three years of collaborative work by the STE Maintenance Group and its national support teams. Today the standard has moved well past aviation. It's now used across rail, automotive, oil and gas, IT, and medical device documentation. ## What's Actually Inside the Standard STE has two parts, and both matter if you're building a prompt or a skill file around it. ### **Part 1: The Writing Rules** There are 53 writing rules spread across 9 sections, covering word choice, grammar, sentence structure, and style. Here's some of the examples: **Active voice over passive** - Non-STE: "The panel was removed by the technician." - STE: "The technician removed the panel." **One instruction per sentence, not stacked clauses** - Non-STE: "Remove the panel, which is held by four screws, and check the wiring for damage." - STE: "Remove the panel. Four screws hold the panel. Check the wiring. Make sure the wiring is not damaged." **Simple verb forms over nominalizations** (turning a verb into a noun makes sentences longer and vaguer) - Non-STE: "Before acceptance of the unit, do the specified test procedure." - STE: "BEFORE YOU ACCEPT THE UNIT, DO THE SPECIFIED TEST PROCEDURE." ### **Part 2: The Dictionary** STE's dictionary holds roughly 900 approved words, each with one meaning and one part of speech, plus a separate list of around 1,200 words to avoid, with suggested replacements for each. A word can't be a noun in one sentence and a verb in the next. Each approved word gets locked to one meaning and often one part of speech: - **close:** approved only as a verb, with two specific meanings (operating a circuit breaker, or moving something to block an opening). So "do not go close to the test rig" is not approved STE, since that uses "close" as an adverb. - **fall:** approved to mean "to move down by the force of gravity" only. Not "to decrease," which is how the word gets used loosely in everyday English. - **start:** the chosen word where English has several synonyms; STE picks "start" and drops "begin," "commence," and "initiate" entirely. - **access / accessible:** access is an approved noun meaning "the ability to go into or near"; accessible is the matching adjective, so instructions read "get access to the accumulator" rather than "the accumulator is accessible." ## Why STE Fixes That "AI Wrote This" Feeling Most of what reads as "obviously AI" isn't really about vocabulary but sentence rhythm. Models tend to pad statements with qualifiers, chain clauses together with em-dashes, and default to passive constructions that sound formal but say less. STE's rule set attacks exactly that pattern: short sentences, active voice, and a hard limit on ambiguity per word. The dictionary restriction does something extra because each approved word only has one meaning, the model can't lean on vague, multi-purpose words to sound sophisticated while saying nothing. You end up with text that reads more like a person stating a fact and less like a model performing confidence. ## Two Ways to Put STE to Work in Your LLM You've got two practical setups, and which one fits depends on whether you want STE everywhere or only for specific documents. ### **1\. Put it in memory (always-on).** This is the simpler route if you want every conversation with your model to default to STE-style output. It's the best option if STE isn't a one-off task for you but a permanent writing preference. You just tell it directly: "I want you to always use ASD-STE100 Simplified Technical English when you talk to me. Suggest a skill write-up to be included in your memory." ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2026/08/image.png) ### **2\. Scope it as a project skill.** This is the better fit if STE only applies to specific work i.e. technical documentation, procedure write-ups, anything where you don't want every casual chat reply forced into 53-rule compliance. A skill only triggers when you're working in that context, so your everyday conversation stays normal and STE kicks in specifically when you ask for it or when the model recognises a documentation task. If you don't want to build the rule set from scratch, I've published an STE-style skill file on GitHub you can pull straight into a project. [GitHub - anasabaziz/AI-Skills: This Repositary contains useful skills made by Anas Ab AzizThis Repositary contains useful skills made by Anas Ab Aziz - anasabaziz/AI-Skills![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/icon/favicon-44b25823-8bad-4de3-aac3-1e674388cd5b.png)GitHubanasabaziz![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/thumbnail/AI-Skills-0b80294d-86a7-45a7-bcf8-973223e268c1)](https://github.com/anasabaziz/AI-Skills?ref=anasabaziz.com) ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2026/08/image-1.png) ## Is It Worth Setting Up? For anyone producing documentation, workflow write-ups, or technical explainers with an LLM, yes! it's worth the ten minutes it takes to set up. STE wasn't designed to make writing sound clever; it was designed so nobody misreads an instruction on an aircraft. That same bluntness is exactly the antidote to AI writing's worst habit: sounding confident while saying very little. --- *Tried this with your own documentation workflow? I'd genuinely like to hear whether it changed your output. Drop a comment with what you're using it for.* ### How to Turn Bank Statements into CSV/Excel Files Using AI URL: https://www.anasabaziz.com/how-to-turn-bank-statements-into-csv-excel-files-using-ai/ Last updated: 2026-08-25T00:53:19.000Z Have you been paying PDF-scanner websites to turn your bank statements into Excel files for your budget tracker? You don't need to. AI models have gotten good enough that you can do the whole thing yourself, for free, in about ten minutes of setup. --- **Table of Contents** - [Why I Stopped Paying for PDF-to-Excel Converters](#section-1) - [The Trick: Give the AI a "Skill" Instead of a Vague Prompt](#section-2) - [Step 1: The Skill File (Grab It From GitHub)](#section-3) - [Step 2: Load the Skill Into Your AI Model](#section-4) - [Step 3: Upload Your Statement and Prompt](#section-5) - [Is It Worth Switching from Paid Converters?](#section-6) ## Why I Stopped Paying for PDF-to-Excel Converters Most "PDF to Excel" converter sites are thin wrappers around basic OCR. They don't understand what a bank statement actually looks like. They can't tell a running balance column from a transaction amount column, they don't reconcile totals to catch mistakes, and they definitely don't handle descriptions that break across a page boundary. You still end up checking every row by hand anyway. An AI model can be told exactly how to read a specific statement layout: which columns to expect, which rows are just summary lines, when a payment credit needs to be flagged as negative, and critically how to verify its own work against the printed balance before handing the file back. Once it knows the rules, it does the tedious part far faster than I ever could manually. ## The Trick: Give the AI a "Skill" Instead of a Vague Prompt The part that actually made this reliable wasn't a clever prompt. It was writing the instructions down once, in detail, and reusing them every time. I built what's called a "skill": a saved set of instructions telling the AI model exactly what to look for in a given bank statement layout, and what checks to run before handing back the file. Skills are a native feature in Claude, but functionally they're no different from a long, structured system prompt pasted into any other AI tool's custom instructions or project settings. Doing it this way means the model doesn't waste time (or your token budget) figuring out an approach from scratch. It knows immediately whether it needs OCR, which columns map to which fields, and that it isn't allowed to call the job done until the closing balance checks out against a "previous balance" or "brought forward" figure. ## Step 1: The Skill File (Grab It From GitHub) Instead of copy-pasting a huge wall of text into this post, I've put the whole thing in a repo so it's easier to keep updated: [**github.com/anasabaziz/AI-Skills**](https://github.com/anasabaziz/AI-Skills?ref=anasabaziz.com). Head to the `skills/bank-statement-to-csv` folder and grab `SKILL.md` , that's the file with the bank-specific layouts (Affin credit card, Affin debit/current, HSBC credit card, HSBC savings/current, and Maybank Islamic), plus the balance-verification logic baked in. ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2026/07/image-1-1.png) AI Skills repository ## Step 2: Load the Skill Into Your AI Model Paste the skill into your AI tool's project or custom-instructions section so it applies automatically every time you're working in that project. You only need to do this setup once per tool. ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2026/07/image-3.png) Customize Skills in Claude A few honest observations from running this across closed frontier models: - **Gemini** currently seems the strongest at reading scanned images while burning through the fewest tokens. A solid pick if you're processing a lot of statements in one sitting. - **Claude** follows the reconciliation steps closely and works well, but expect it to consume tokens noticeably faster than Gemini on image-heavy statements. - **ChatGPT** would be my last pick for this specific task, mainly because of how it limits the number of attachments per conversation on lower tier subscriptions. **Worth flagging with any closed, cloud-hosted model:** your statement data gets sent to a third-party data center to process. The alternative is an open-weight model running locally. You'll need reasonably capable hardware, though it seems a lot of people running Mac Minis these days already have enough horsepower for it. ## Step 3: Upload Your Statement and Prompt Once the skill is loaded, attach your bank statement PDF and give it a plain instruction something like "turn this bank statement into a CSV." That's genuinely all it takes. Then use the file as needed for your analysis. ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2026/07/image-4-1.png) Claude turning bank statements into CSV A few practical notes from doing this across a full year of statements: - **You don't need a paid subscription.** Free-tier accounts on most foundational models can handle this, though you may be limited on how many statements you can process in a single session. - **Upload one statement at a time.** Attaching every month at once burns through tokens fast, and most models start behaving unpredictably or stop working outright once you hit the session's usage limit. That turns all the work you've done into nothing, so it's not worth the risk. - **Always let it reconcile before you trust the output.** A properly written skill sums the transactions, compares them against the statement's printed opening and closing balance, and flags any mismatch instead of quietly guessing. If a number's off, it should re-check the specific rows rather than fudging a total to make it match. ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2026/07/image.png) Gemini free tier hitting usage limits after converting multiple bank statements into CSVs. ## Is It Worth Switching from Paid Converters? If you're still manually retyping transactions into a spreadsheet, or paying a PDF-converter site every month, this is a five-minute setup that pays for itself on the very first statement. The one non-negotiable step is the balance reconciliation check. Never trust an AI-generated CSV that hasn't been verified against the statement's own printed totals. I'll keep refining this skill as I run it against more banks and account types. It already handles five different account layouts across three Malaysian banks, and every new edge case I hit gets folded back into the file. *Let me know if you find another way to make this process even more efficient, or if you hit a bank statement layout it doesn't handle cleanly. I'd like to hear about it.* ### Why Every Department Needs a Tailored Dashboard: A Practical Guide URL: https://www.anasabaziz.com/why-every-department-needs-a-tailored-dashboard-a-practical-guide/ Last updated: 2026-08-25T00:57:14.000Z ## The Dashboard Dilemma I recently noticed a recurring problem in many companies I work with. Departments implement new SaaS tools. Only then to be handed a **generic dashboard** that “should” cover their KPIs. But these KPIs rarely align with what management actually cares about. I’ve seen teams ignore these dashboards entirely, reverting to spreadsheets, gut instincts, or monthly status meetings. It’s a classic case of good tools, poor fit. That’s why I want to share why **building a tailored dashboard for your department is essential**. ## Why Generic Dashboards Don’t Cut It Most vendor-provided dashboards are designed for **broad applicability**. They’re fine for high-level insights but fail when it comes to **department-specific goals**. Each company has unique KPIs, and each department has its own operational nuances. Without a tailored approach: - Teams struggle to track **what really matters**. - Misaligned priorities cause confusion and friction. - Critical issues go unnoticed until they escalate. ## Key Reasons to Build Your Own Department Dashboard Here’s where things get actionable. Based on my experience, these are the three biggest reasons you should start building your tailored dashboard **as soon as possible**. ### 1\. Real KPI Tracking That Reflects Your Goals Out-of-the-box dashboards usually track standard KPIs, generic metrics like user adoption rates, ticket counts, or revenue numbers. But your management likely has **internal KPIs** that define success for your team. I found that extracting data early and designing a custom dashboard allows me to: - Track **real performance metrics** instead of placeholders. - Customize dashboards for **department-specific priorities**. - Avoid misalignment between what management wants and what the team measures. A tailored dashboard becomes a live reflection of **your department’s true impact**. ### 2\. Align the Team Around What “Good” Looks Like Ever heard a team say, “We’re all aligned,” only to realize half the members don’t know the key priorities? That’s a problem I’ve faced often. A custom dashboard codifies success: - It **translates strategy into KPIs, targets, thresholds, and ownership**. - Confusion is minimized. No more “I thought that wasn’t important” conversations. - Performance becomes **objective**, making accountability and motivation tangible. When everyone knows exactly what “good” looks like, decisions become faster, and meetings are far more productive. ### 3\. Eliminate Blind Spots Before They Become Costly Working without a tailored dashboard is like navigating with a blurry map. Teams operate on scattered spreadsheets, manual updates, and lagging monthly reports. From my experience, this approach is **risky and expensive**. A department-specific dashboard helps you: - Identify **bottlenecks** before they escalate. - Focus on metrics that **truly drive performance**, not vanity numbers. - Detect underperformance early, reducing surprises in leadership meetings. I’ve personally caught process breakdowns in real-time by having a live dashboard, saving countless hours and avoiding costly errors. ## How to Approach Building Your Dashboard Here’s a quick roadmap based on what worked for my teams: 1. **Define KPIs first:** Start with your management’s goals, not the SaaS metrics. 2. **Map data sources:** Identify where the data lives. It could be CRM, ERP, spreadsheets, or APIs. 3. **Design for clarity:** Keep visuals simple, focus on actionable insights. 4. **Iterate regularly:** Dashboards should evolve as priorities shift. 5. **Encourage adoption:** Train your team and demonstrate **how the dashboard solves real problems**. Even a basic tailored dashboard can yield immediate benefits: visibility, alignment, and early problem detection. ## Common Pitfalls to Avoid - **Copying vendor dashboards:** They rarely match your unique goals. - **Overloading metrics:** More is not better; focus on what drives results. - **Ignoring team input:** Dashboards are only useful if the team trusts the data. ## Final Verdict: Don’t Wait to Customize From firsthand experience, the sooner a department builds its **tailored dashboard**, the better. It’s about creating **clarity, accountability, and a culture of data-driven decisions**. If your team is still relying on a generic SaaS dashboard or scattered spreadsheets, take action now. Extract the data, define your KPIs, and build your own dashboard. Your future self (and your leadership team) will thank you. **Related Articles:** [Best Tools for Data Analysts in the Corporate World (2025 Guide)The best tools for data analysts in 2025\. A practical guide to the essential corporate analytics stack: Excel, SQL, Power BI, and AI assistants.![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/icon/favicon-7.ico)Anas Ab AzizAnas![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/thumbnail/photo-1510291918410-4a8ec3aca458-1)](https://www.anasabaziz.com/best-tools-for-data-analysts-in-the-corporate-world/) [How to Build an Internal Data Repository Using Microsoft Forms (and Connect It to External Databases)Create your own internal data repository with Microsoft Forms and connect it to external databases like Power BI or SQL, no coding required.![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/icon/favicon-8.ico)Anas Ab AzizAnas![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/thumbnail/photo-1450101499163-c8848c66ca85)](https://www.anasabaziz.com/how-to-build-an-internal-data-repository-using-microsoft-forms-and-connect-it-to-external-databases/) [How to Practice SQL Data Extraction Yourself (Free Guide with Neon.tech + Power Query)Learn how to practice SQL data extraction for free using Neon.tech PostgreSQL and Power Query. Step-by-step guide to set up your own SQL database and connect it to Power BI or Excel.![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/icon/favicon-9.ico)Anas Ab AzizAnas![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/thumbnail/photo-1526628953301-3e589a6a8b74-2)](https://www.anasabaziz.com/how-to-practice-sql-data-extraction-yourself-free-guide-with-neon-tech-power-query/) ### When to Move from Excel to Power BI (A Practical Decision Guide) URL: https://www.anasabaziz.com/when-to-move-from-excel-to-power-bi-a-practical-decision-guide/ Last updated: 2026-08-27T07:18:20.000Z **Table of Contents** - [Excel Works… Until It Doesn’t ](#section-1) - [1\. You’re Rebuilding the Same Dashboards Over and Over ](#section-2) - [2\. You Rely Heavily on Power Query in Excel ](#section-3) - [3\. You’re Deep into Power Pivot and Data Models ](#section-4) - [4\. Multiple People Depend on Your Output ](#section-5) - [5\. Performance Is Becoming an Issue ](#section-6) - [Common Objections (and the Honest Answers) ](#section-7) - [When You Should NOT Move to Power BI (Yet) ](#section-8) - [Final Verdict ](#section-9) ## Excel Works… Until It Doesn’t If you’ve spent years doing serious work in Excel, this will sound familiar. You start with a clean workbook. Then another sheet. Then Power Query. Then Power Pivot. Then suddenly, your “simple report” is a fragile ecosystem that only works if *you* open it, refresh it, and explain it. I’ve been there. Excel is still one of the most powerful tools ever created for analysts, accountants, and finance professionals. But there *is* a point where continuing to force Excel to behave like a BI tool becomes inefficient and risky. This article isn’t about **“Excel bad, Power BI good.”** It’s about knowing **when the switch is strategically justified**. If you’re asking yourself, *“Is it worth moving from Excel to Power BI?”*, this guide is for you. ## 1\. You’re Rebuilding the Same Dashboards Over and Over ### The classic Excel-to-PowerPoint loop If your workflow looks like this: - Build charts in Excel - Copy into PowerPoint - Adjust formatting - Repeat every month That’s not reporting. That’s production work. I’ve seen finance teams spend **hours each month** re-creating the *same* visuals with the *same* calculations. The only thing new is the numbers. ### Why Power BI is a better fit here Power BI shines when: - The layout stays consistent - The logic stays consistent - Only the data changes Once the model and visuals are built: - Measures recalculate automatically (via DAX) - Visuals update with a refresh - Filters replace multiple versions of slides This is usually the **first and clearest sign** you’ve outgrown Excel. **Rule of thumb:** If management expects the *same dashboard every month*, Excel is already the wrong tool. ## 2\. You Rely Heavily on Power Query in Excel Power Query inside Excel is powerful. That itself is exactly the problem. If you’re: - Receiving the same raw files every month - Cleaning and transforming them with Power Query - Clicking “Refresh All” manually - Saving new versions of the same file You’re already doing BI work. You're just doing it locally. ### Where Excel starts to strain Excel Power Query works well when: - You’re the only user - Files stay small - Refresh is manual But once: - Data volume increases - Multiple people need the output - Refresh timing matters Excel becomes a bottleneck. ### What changes in Power BI Service / Fabric With Power BI: - Data refresh runs in the cloud - Files can be dropped into a folder or SharePoint - No one needs to open a workbook - Scheduled refresh becomes standard In practice, this removes an entire category of “analyst busywork.” If your Excel file feels more like a **data pipeline than a spreadsheet**, that’s your signal. ## 3\. You’re Deep into Power Pivot and Data Models This is the most overlooked sign. It's often the strongest one. Once you start: - Creating relationships between tables - Writing DAX measures - Thinking in star schemas You’re no longer using Excel “normally.” You’re using it as a **BI engine with a spreadsheet UI**. ### The limitation no one talks about Power Pivot works but: - Relationship management is clunky - Visual interaction is limited - Models are harder to explain to others - Governance is almost nonexistent Power BI was built *for this exact scenario*. The data model experience is: - More visual - Easier to debug - Easier to document - Easier to scale If your Excel file depends on relationships working *perfectly*, it’s already fragile. ## 4\. Multiple People Depend on Your Output This is where Excel quietly becomes dangerous. If: - Others rely on your file - Decisions are made from your numbers - You’re the only one who understands the logic Then your spreadsheet is now **critical infrastructure**. Excel wasn’t designed for: - Version control - Access management - Centralized truth - Auditability Power BI doesn’t solve everything, but it dramatically improves: - Single source of truth - Controlled access - Consistent definitions This is especially important in finance, audit, and management reporting. ## 5\. Performance Is Becoming an Issue You’ll feel this before you can explain it. Symptoms include: - Slow recalculations - Large file sizes - Crashes on refresh - “Do not open while updating” messages Excel can handle large datasets. However, it can't handle it gracefully, nor indefinitely. Power BI’s engine (VertiPaq) is designed for: - Compression - In-memory analytics - Large fact tables Don't get me wrong, Excel also uses the same engine (VertiPaq), but you're limited to your computer's RAM, and the Excel Workbook limits ## Common Objections (and the Honest Answers) ### “Excel is more flexible.” **True** for ad hoc work. **False** for repeatable reporting. ### “Power BI has a learning curve.” Also true. But if you’re already using Power Query and Power Pivot, you’re halfway there. ### “Excel is enough for now.” Often correct until it suddenly isn’t. The mistake is waiting until the file breaks, instead of moving when the **cost-benefit flips**. ## When You Should NOT Move to Power BI (Yet) To be clear, Power BI isn’t always the answer. Stick with Excel if: - The work is truly one-off - You’re doing exploratory analysis - The output is temporary - You need heavy manual intervention Excel remains unbeatable for: - Prototyping - Scenario modeling - Quick analysis ## Final Verdict Don’t Wait Until Excel Becomes a Liability The biggest mistake I see isn’t using Excel for too long. It’s **not recognizing when the nature of the work has changed**. Once your spreadsheet becomes a system, it deserves a system-level tool. If you’re serious about growing as a data analyst, especially from an accounting or finance background, learning **when and why** to move to Power BI is a career multiplier. --- Related guides to integrate your new Power BI workflow with Excel: [Power BI to Excel: How to Use OLAP Connections for Always-Up-to-Date Reports](https://www.anasabaziz.com/power-bi-to-excel-how-to-use-olap-connections-for-always-up-to-date-reports/) ### How to Get Better Microsoft 365 Copilot Output with Smarter Prompts and Improved Contexts URL: https://www.anasabaziz.com/how-to-get-better-microsoft-365-copilot-output-with-smarter-prompts-and-improved-contexts/ Last updated: 2026-08-27T07:21:53.000Z Have you ever wondered why some people generate sophisticated AI outputs effortlessly, even without high-end ChatGPT or Copilot subscriptions? The secret isn’t magic or getting the highest-tier subscription on the market. It’s precision in **prompts** and **context**. In this guide, I’ll show you how to improve Copilot outputs using simple but powerful techniques. ## Why AI Outputs Can Fail: Bias and Hallucination Before diving into prompts and context, you need to understand the two biggest risks of using Large Language Models (LLMs) like ChatGPT incorrectly: 1. **Bias:** The way you frame a prompt can nudge the model toward your perspective, even unintentionally. "E*xplain to me why most people prefer Excel rather than Google Sheets.*" If you were to ask this, your LLMs will immediately take your side and say Excel is better than Google Sheets. 2. **Lying (Hallucination):** If an LLM doesn’t have a factual answer, it might generate something plausible but false. Consulting giant Deloitte had to refund part of a $440,000 consultancy fee to the Australian government after admitting that a report, which included AI-generated content, was riddled with serious errors. There were references to non-existent documents and legislation, as well as a misnamed judge. ([News Source](https://www.ndtv.com/world-news/deloittes-ai-fallout-explained-the-440-000-report-that-backfired-9417098?ref=anasabaziz.com)) The quality of AI-generated content depends primarily on **two factors**: - Precision of **instruction prompts** - **Context of information** provided ## Precision of Instruction Prompts LLMs rely on **intent recognition**. Essentially, your prompts map to consistent task patterns across your connected applications. For example, with Copilot, the LLM maps to Microsoft 365 apps like Word, Excel, Outlook, Loop, and Teams. Copilot categorizes tasks into predictable buckets: - **Summarize** - **Rewrite** - **Generate** - **Analyze** - **Retrieve** - **Explain** - **Extract** - **Plan** - **Transform** - **Create** (documents, presentations, emails) In an office setting, outputs are often pre-determined. Reports and documents need to follow the company SOPs. By crafting **standardized prompts**, you can ensure Copilot or other LLMs consistently deliver accurate outputs. **Tips for precise prompts:** - Be specific about format and output style. - Include examples of expected results. - Use active verbs like “analyze,” “summarize,” or “extract.” - For repetitive tasks, create reusable prompt templates. ## Context: The Key to Better AI Output Here’s where many users underutilize their AI tools. Context isn’t just the text you type. It includes files, tables, and any attached data. **Understanding the Context Window** - LLMs “see” only a limited amount of text at once, measured in **tokens** (\~3–4 characters per token) called context window. - Both user inputs and AI outputs count toward this limit. - Older parts of the conversation may be compressed or dropped as the context window fills. For reference, based on [OpenAI Platform](https://platform.openai.com/docs/models/compare??ref=anasabaziz.com) documentation: | Model | Context Window (Tokens) | Max Output / Notes | | -------------- | ----------------------- | ------------------ | | GPT-3.5 Turbo | 16,385 | 4,096 tokens | | GPT-4 Standard | 8,192 | 8,192 tokens | | GPT o4-Mini | 200,000 | 100,000 tokens | | GPT-5 Chat/API | 128,000 | 128,000 tokens | | GPT-5 Codex | 400,000 | 128,000 tokens | | GPT-4.1 | 1,047,576 | 32,768 tokens | > A 128,000-token context window equates to roughly 183 pages. That’s a huge advantage if you preload data into prompts instead of giving minimal instructions. ## Improving your Copilot ### GPT Models Used Microsoft 365 Copilot now runs primarily on **GPT-5**. But not all tasks are routed to the highest-end variant: - **High-throughput GPT-5:** Quick, simple tasks - **Deeper reasoning GPT-5:** Complex analysis Older or lighter models (GPT-3.5, GPT-o4-mini) are still used for speed or less demanding prompts. To maximize results, you want Copilot to utilize the **higher-end GPT models** whenever possible. To do this, always be precise with what output you want and the relevant inputs to be included in your prompt. **Best practices:** - Always include relevant datasets, spreadsheets, or notes in your prompt. - For Excel, ensure tables are properly tagged and structured. - For articles, include all your research points and desired sections. ## Practical Examples for Workplace Efficiency **Example 1: Writing an Article** 1. Gather notes and key points based on your intended topics. 2. Include the relevant information in the prompt below at the specific sections of the prompt: ```html Prompt: I have the following raw content/notes that I want to expand into a fully polished SEO-optimized article for my website, [name of website]. Raw Content/Notes: [Refer to content posted here or additionally provided outside of this file] Instructions for ChatGPT: - Tone & Style: - Write in a clear, engaging, and conversational style (like a productivity/tech blogger). - Keep paragraphs short and scannable. - Use first-hand perspective where possible (“I tried…” / “I found…”). SEO Optimization: - Create a strong H1 title with the target keyword included. - Break article into sections with H2/H3 subheadings that naturally include relevant keywords. - Add a meta description (150–160 characters) optimized for click-through. - Suggest 3–5 title tag variations for SEO. - Include a TL;DR or summary section at the end with quick takeaways. - Naturally weave in related keywords and synonyms (e.g., “[insert topic keyword] guide,” “[insert brand/campaign],” “is it worth doing?” etc.). Formatting: - Use bullet points and numbered lists for easy readability. - Add a final verdict or call-to-action section. - Ensure the article is 1000+ words if the raw content allows. E-E-A-T Compliance: - Emphasize experience by framing opinions as firsthand impressions. - Provide analysis and pros/cons rather than just description. - Make it genuinely helpful for readers searching the topic. Output I want from you: - Full SEO-optimized article draft (ready to publish). - SEO meta description. - 3–5 SEO-friendly title options. ``` **Example 2: Excel Analysis** 1. Clean and tag all tables based on your raw data extracted. 2. Include the file in your prompt. 3. Prompt using the instructions below and edit the tasks as per your requirements: ```html Prompt: You are a financial/data analyst. Analyze the attached Excel file [INSERT FILE NAME] and perform the following tasks: 1. Identify and summarize key metrics and trends (e.g., sales, revenue, expenses). 2. Calculate ratios such as profit margin, ROI, or growth percentages. 3. Highlight any anomalies or outliers in the data. 4. Suggest actionable insights based on the analysis. 5. Present the results in a clear, structured format, suitable for management reporting. Please provide the output in bullet points or a table for clarity. ``` By combining precise instructions with full context, Copilot can produce professional-quality outputs consistently. ## Verdict Maximizing Copilot is about strategy, not luck. Take time to design your prompts, include the right context, and understand the model’s capabilities. This approach will save hours in analysis, writing, and reporting, and produce outputs you can trust. Related Articles: [Getting Started with Vibecoding: How AI Helps You Code SmarterDiscover vibecoding with AI. Use Copilot or any third party LLMs to generate DAX or SQL code faster. Learn tips, pros, and best practices.![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/icon/favicon.ico)Anas Ab AzizAnas![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/thumbnail/photo-1709547228697-fa1f424a3f39)](https://www.anasabaziz.com/getting-started-with-vibecoding-how-ai-helps-you-code-smarter/) [Best Tools for Data Analysts in the Corporate World (2025 Guide)The best tools for data analysts in 2025\. A practical guide to the essential corporate analytics stack: Excel, SQL, Power BI, and AI assistants.![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/icon/favicon-1.ico)Anas Ab AzizAnas![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/thumbnail/photo-1510291918410-4a8ec3aca458)](https://www.anasabaziz.com/best-tools-for-data-analysts-in-the-corporate-world/) ### Best Tools for Data Analysts in the Corporate World (2025 Guide) URL: https://www.anasabaziz.com/best-tools-for-data-analysts-in-the-corporate-world/ Last updated: 2026-08-27T07:27:56.000Z If you’re stepping into analytics or trying to work faster in a corporate environment, the tools you choose matter more than most people admit. Data analysis is a workflow, not a single skill. And in my experience, that workflow rises or falls depending on something deceptively simple: the software you rely on every day. The corporate world adds another layer of complexity. You may *want* to use a trendy new app, but your organization might restrict installations, block cloud tools, or require everything to be Microsoft-approved. I’ve lived through all of that. The good news? You don’t need 20 tools. You need a practical, dependable stack that works inside real corporate constraints. Here’s the toolkit I’ve found most analysts can actually use and grow with inside a modern company setting. ## **#1 A Spreadsheet App (Your Most Important Tool)** If I had to start from zero in any corporate job, the first tool I’d master without hesitation is a spreadsheet app. And the truth is simple: [**Excel**](https://www.microsoft.com/en-us/microsoft-365/excel?ref=anasabaziz.com) **is still unmatched**. ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2025/11/image-8.png) Excel used to create a debit & credit card expense list It’s available in every Microsoft 365 tier. It aligns with corporate security policies. It’s audited, approved, and deeply integrated with the rest of the ecosystem. More importantly, Excel gives you a lot of flexibility: - quick calculations when your manager needs something “in 5 minutes” - clean printable reports (still very common in big companies) - fast prototyping before automating in Power BI - diagrams and simple wireframes - complex modeling with formulas, Power Query, and even Python Over the years, I’ve seen analysts try to replace Excel with “lighter” spreadsheet apps. In corporate environments, it backfires. People expect Excel files. Stakeholders expect XLSX file formats. And the majority of internal workflows still run on Excel. **Alternatives you may see in the wild:** - [Google Sheets](https://sheets.google.com/?ref=anasabaziz.com) (great for collaboration, harder in locked-down environments) - [LibreOffice Calc](https://www.libreoffice.org/discover/calc/?ref=anasabaziz.com) (rarely approved in enterprises) - [Draw.io](https://www.drawio.com/?ref=anasabaziz.com) / [apps.diagram.net](https://app.diagrams.net/?ref=anasabaziz.com) (for diagramming, not heavy data work) If you’re early in your career, master Excel first. It pays off every single day. Here's my guide on [Mastering Excel](https://www.anasabaziz.com/mastering-excel-from-beginner-spreadsheets-to-advanced-data-analytics/). ## **#2 A Data Exploration Tool (SQL Is Non-Negotiable)** Almost every company I’ve worked with stores operational data in relational databases: SQL Server, PostgreSQL, MySQL, MariaDB, Oracle, you name it. To analyze anything meaningful, you need to explore tables, relationships, and sample records. This is where a **SQL exploration tool** becomes essential. My recommendation, especially in corporate environments, is [**SQL Server**](https://www.microsoft.com/en-us/sql-server/sql-server-downloads?ref=anasabaziz.com) **2022 Developer Edition (free)**. ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2025/11/image-9.png) Log in to your available server in SQL Server Why I prefer it: - It’s easy to install locally. - It mirrors what many enterprises use internally. - You can safely practice SQL without touching production data. - It’s great for learning joins, relationships, indexes, and query tuning. For day-to-day browsing of database tables (in real work), many analysts rely on: - [**DBeaver**](https://dbeaver.io/?ref=anasabaziz.com) (free, cross-platform, widely approved) - [**Azure Data Studio**](https://azure.microsoft.com/en-us/products/data-studio?ref=anasabaziz.com) (Microsoft-approved, modern editor) - [**MariaDB**](https://mariadb.org/?ref=anasabaziz.com)(for teams using open-source stacks) - [**Fabric**](https://www.microsoft.com/en-us/microsoft-fabric?ref=anasabaziz.com) (New Microsoft Tool that is still undergoing experimentation and requires a subscription) Personally, I’ve found that having a **local SQL Server sandbox** accelerates learning dramatically. You can test queries without worrying about breaking anything or slowing down a production server. ## **#3 A Dashboard & Visualization Tool** When your analysis is done, the next step is presenting insights clearly, usually to senior management. This is where dashboard tools matter. In 95% of corporate environments I’ve seen, [**Power BI**](https://www.microsoft.com/en-us/power-platform/products/power-bi?ref=anasabaziz.com) **is the best first choice**. ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2025/11/image-10.png) Personal Finance Management Dashboard built using Power BI Here’s why: - It’s free for individual use. - It integrates natively with Excel, SQL Server, Azure, SharePoint, Forms, and Teams. - Most organizations eventually upgrade to Pro or E5 licenses. - Security configurations align with enterprise compliance needs. From quick ad-hoc visuals to full business dashboards, Power BI hits the sweet spot between usability and power. **Alternatives you might encounter:** - [**Tableau**](https://www.tableau.com/?ref=anasabaziz.com) (excellent visuals; often used in analytics-heavy companies) - [**Looker Studio**](https://lookerstudio.google.com/?ref=anasabaziz.com) (simple and cloud-friendly, but limited in enterprises) If you’re building a corporate analytics career, learning Power BI is one of the highest-ROI skills you can invest in. ## **#4 An LLM Assistant (The Modern Analyst’s Secret Weapon)** As someone who has spent years doing data work, I cannot overstate this: **AI assistants have become essential tools in the analyst workflow.** In corporate environments, the most accessible and secure choice is usually [**Microsoft Copilot**](https://copilot.microsoft.com/?ref=anasabaziz.com), especially if your organization uses Microsoft 365. ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2025/11/image-11.png) Copilot App now comes pre-installed on Windows I use LLMs daily for tasks like: - rewriting SQL snippets more efficiently - generating DAX formulas - exploring alternate chart types - summarizing extracted data - drafting memos for senior management - troubleshooting errors If your IT team allows external LLMs, other strong options include: - [ChatGPT](https://chatgpt.com/?ref=anasabaziz.com) - [Claude](https://claude.ai/?ref=anasabaziz.com) - [DeepSeek](https://www.deepseek.com/en?ref=anasabaziz.com) - [Google Gemini](https://gemini.google.com/app?ref=anasabaziz.com) The key is not just “using AI”, it’s integrating it into your workflow. Treat these tools as a junior analyst who never gets tired, never loses patience, and can generate ideas instantly. # **Putting It All Together: Your 2025 Data Analyst Toolkit** If you’re overwhelmed by the endless list of tools online, ignore the noise. Start with the set that actually works inside real companies: 1. **Excel**: your everyday analysis companion 2. **SQL Server + DBeaver/Azure Data Studio**: for exploration and querying 3. **Power BI**: to visualize insights and communicate impact 4. **Copilot or another LLM**: your multiplier for speed and clarity This combination is powerful enough to handle 90% of the analytics work you’ll face in a corporate setting. Once you’re comfortable, you can expand into automation (Power Automate or Copilot Studio), cloud data engineering (Azure Synapse, Snowflake), or advanced analytics (Python, R). But you don’t need those to get started or to be effective. # **Final Verdict** If you're entering the analytics world in 2025, simplify your stack and focus on tools that actually give you leverage inside a corporate environment. Master these four tools, and you’ll have the skills to explore data, build visuals, and communicate insights without fighting IT restrictions or chasing unnecessary “shiny tools.” Your workflow becomes smoother, your analysis becomes faster, and your day-to-day work becomes far less stressful. Related Articles: [Mastering Excel: From Beginner Spreadsheets to Advanced Data AnalyticsMicrosoft Excel is one of the MOST powerful tools in the corporate world. In this guide, we’ll break down the three levels of Excel mastery, from beginner to advanced, along with examples of projects you can try at each stage.![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/icon/favicon-2.ico)Anas Ab AzizAnas![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/thumbnail/photo-1709318158360-d08b5466d58f)](https://www.anasabaziz.com/mastering-excel-from-beginner-spreadsheets-to-advanced-data-analytics/) ### How to Build an Internal Data Repository Using Microsoft Forms (and Connect It to External Databases) URL: https://www.anasabaziz.com/how-to-build-an-internal-data-repository-using-microsoft-forms-and-connect-it-to-external-databases/ Last updated: 2026-08-27T07:31:19.000Z If you’ve ever needed to combine organization data with internal information that doesn’t exist in your source system, you’ve probably hit a wall. Many organizations have a centralized database for reporting, but internal details like team-specific inputs or department-only attributes often live nowhere accessible. The simplest fix? Build your own internal repository of information that complements your organization's database. And the best part is you can do this entirely with **Microsoft Forms and Excel**, tools you already have. I’ve done this myself several times across analytics projects, and it’s surprisingly efficient once you set it up right. ## **Why You Need an Internal Repository** Organization database systems (externally managed, such as HR systems, CRMs, and finance tools) often contain structured but limited data. For example: - A Human Resource database might have employee IDs but not the project roles you track internally. - A Customer Relationship Management database might have client contact details, but not your internal account manager assignments. - A Procurement Management System database might have details of invoice information, but not internal tasks needed to be completed by staff related to the procurement By creating your own repository, you can: - Capture additional context not stored elsewhere. - Keep your data live and accessible. - Seamlessly merge it with your main department databases for complete reporting. ## **Step-by-Step: Building Your Repository with Microsoft Forms** ### **1\. Create Your Form** Start in [Microsoft Forms](https://forms.office.com/?ref=anasabaziz.com). Build a simple form that collects the missing data points your organization's database system lacks. This could be things like department-specific roles, additional attributes, or one-off data that matters only internally. ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2025/11/image-4.png) Create a 'New Form' or reuse a template **Pro Tip:** Keep your form focused. Too many fields discourage quality responses. ### **2\. Include a Unique Identifier (Your Primary Key)** To connect this internal dataset with your organization's database later, you’ll need a shared key. This should be something that exists in both systems. For most organizations, this could be **User ID**, **Staff ID**, or **Email Address**. It'susually managed through **Microsoft Active Directory**. Or it could be something more unique, like an Invoice Number or a Project ID. ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2025/11/image-2.png) Ensure a Unique Identifier like 'StaffID' is included as a question Make sure one of your form fields captures this identifier exactly as it appears in your organization's database system. That’s what will let you create a relationship in your data model or merge them later. ### **3\. Get Your Team to Fill It Out** Once the form is ready, share it with your users. This is your data-collection phase. You need to ensure 'Record name' and 'One response per person' are ticked so that you can trace who provided information and that no duplicates are made. ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2025/11/image-5.png) Ensure 'Record name' & 'One response per person' is ticked You can monitor responses in real-time inside Forms or wait until all submissions are in. When complete, you’ll have a clean, structured dataset. All of this is managed automatically by Microsoft Forms. ### **4\. Obtain the Online Repository Link** In Microsoft Forms, click **Open in Excel Desktop**. This creates a linked workbook stored in your organization’s OneDrive or SharePoint. ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2025/11/image-1-1.png) This Excel file will act as your **internal data repository**. Each new response will sync directly into the workbook. From the Excel workbook, you can grab the online file link via 'Copy path'. ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2025/11/image-6-1.png) ### **5\. Connect Microsoft Forms to Your ETL Tool** Here’s where the real magic happens. Now you can open your preferred data tool, **Excel**, **Power BI**, or even any other ETL pipeline, and connect to your data source via its web path. You will only need to paste the form's path into your ETL tool. In Excel, it's 'Get Data' > 'From Web'. Ensure you remove everything after `.xlsx` in the link; you only need the core file path. ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2025/11/image-7-1.png) Now you’ve built a live connection between your internal repository and your reporting platform. ### **6\. Merge Internal and Organizational Data** Once connected, you can easily join your internal Microsoft Forms dataset with your organization's databases. Examples of ways to combine data are: - In Excel's Power Query, use **Merge Queries** and match on your shared key (e.g., User ID). - In Power BI, you can opt to keep the tables separate and **create a relationship** between the primary keys of the Form's table and your organization's database table. Now there is a lot more information you can show via dashboards or flat files with these combined details. ## **Pro's & Cons** ### **Advantages of This Setup** - **Simplicity**: You’re using Microsoft tools your organization already licenses, Forms, Excel, Power Query, and Power BI. No need for servers, APIs, or new systems. - **Control**: Your department owns the data. You decide what’s collected, who edits it, and how it integrates. - **Flexibility**: Need to update a field? Just edit the form. It automatically updates the Excel schema. - **Security**: All data stays within your Microsoft 365 environment, following your company’s compliance policies. ### **Potential Drawbacks (and How to Manage Them)** - **Manual data entry:** You need to get users to update the necessary data. Mitigate this by limiting fields and providing clear instructions. - **Data quality:** Users may update irrelevant data. Add validation rules in Forms (like required fields or data types). ## **Case Study Example: Combining Staff Data with Project Information** Let’s say your Human Resource system tracks only names and departments, but your team needs to add project roles or skill levels for internal tracking. 1. Create a Microsoft Form with fields for **User ID**, **Project Role**, and **Skill Level,** and other relevant data columns. 2. Get each team member to fill it in once. Microsoft Forms allows amendments to the user's form, which can be changed in the form's settings. 3. Open the form in Excel Desktop and copy the online file path. 4. Using your preferred ETL Tool, get data using the online file path. Merge it with your HR system’s data on **User ID**. The result? A complete employee dataset enriched with internal fields for project reporting. No database admin needed. ## **Final Verdict: Worth Doing?** Absolutely. If your organization already runs on Microsoft 365, this is one of the easiest and most maintainable ways to bridge gaps between external databases and internal data. It’s low-cost, low-maintenance, and flexible enough for both technical and non-technical users. Whether you’re managing analytics, automations, or reporting pipelines, a Microsoft Forms + Excel repository can serve as your internal data glue. If this data is being used as a dashboard, you can always show the underlying data via an Excel file using the OLAP Connection to always show a Live file. Below is a good guide to get started. Related Article: [Power BI to Excel: How to Use OLAP Connections for Always-Up-to-Date ReportsLearn how to connect Power BI to Excel using OLAP tables for always-up-to-date reports. Save time, avoid manual exports, and empower management with live data.![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/icon/favicon-5.ico)Anas Ab AzizAnas![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/thumbnail/photo-1517245386807-bb43f82c33c4-1)](https://www.anasabaziz.com/power-bi-to-excel-how-to-use-olap-connections-for-always-up-to-date-reports/) ### How to Practice SQL Data Extraction Yourself (Free Guide with Neon.tech + Power Query) URL: https://www.anasabaziz.com/how-to-practice-sql-data-extraction-yourself-free-guide-with-neon-tech-power-query/ Last updated: 2026-08-27T07:36:45.000Z Have you ever wanted to *practice extracting SQL data* without access to your company’s internal databases? Most organizations tightly control their SQL environments for good reason. This makes it hard to learn and experiment on your own. That’s exactly the problem I faced when I wanted to test query folding in Power BI and Power Query. Instead of waiting for access to corporate systems, I decided to set up my own **free SQL playground**. The best platform I’ve found for this is [**Neon.tech**](https://neon.tech/?ref=anasabaziz.com) that uses PostgreSQL. ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2025/10/image-8-1.png) Neon.tech website In this guide, I’ll walk you step-by-step through how to set up your own PostgreSQL database on Neon.tech, load sample data, and connect it to Power Query in Power BI or Excel, all **without paying a cent**. ## Why Practice SQL Data Extraction Yourself? Before diving into setup, let’s talk about *why* this is worth doing. - **Real-world learning:** SQL is the language behind most business data. Being able to extract and transform data yourself helps you understand how data flows into dashboards. - **Safe experimentation:** You can try advanced transformations, queries, or even break things. No IT admin will be upset. - **Power BI / Power Query practice:** Perfect for testing **query folding**, performance optimization, or just understanding how connectors work. ### Why I Recommend Neon.tech (Over Microsoft Fabric or Azure) When testing SQL integrations, you could use Azure or Microsoft Fabric. But the catch? Both usually require a **subscription** or a **limited-time trial**. That’s why I switched to **Neon.tech**. It’s a **serverless PostgreSQL platform** that gives you: - Free tier (no credit card required) - Instant database creation - Copy-paste connection strings - Modern UI and Git-like branching for databases For most learners or Power BI professionals, Neon is perfect; it's lightweight, free, and reliable. ## Step-by-Step: Using Neon.tech PostgreSQL with Power Query Let’s go through the exact steps I used to set up my own SQL environment. ### Step 1: Create a Neon.tech Account - Go to [https://neon.tech](https://neon.tech/?ref=anasabaziz.com). ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2025/10/image-10.png) Neon.tech landing page - Sign up with **GitHub** or **Google;** this is the fastest way. ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2025/10/image-9.png) Log in with Google or GitHub for a faster sign-in process - Once in the dashboard, click **“Create Project.”** ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2025/10/image-11-1.png) "Create project" to get started ### Step 2: Create a Free PostgreSQL Database - Enter the following details to set up the project - Give your project a name, for example: `SQLTest`. - Choose a Cloud service provider; AWS has more server locations than Azure. - Choose a region closest to you (e.g., **Singapore** if you’re in Malaysia). ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2025/10/image-23.png) Enter project details to get started Neon automatically sets up: - A **PostgreSQL database** - A **default branch** (your database environment) - A **connection string** Example **connection string** generated: > psql 'postgresql://neondb\_owner:npg\_VS4rFvQw9oLh@ep-crimson-art-a1tf74hb-pooler.ap-southeast-1.aws.neon.tech/neondb?sslmode=require&channel\_binding=require' Broken down, the string is interpreted as: - Server: `ep-crimson-art-a1tf74hb-pooler.ap-soutcheast-1.aws.neon.tech` - Database:`neondb` - Username:`neondb_owner` - Password:`npg_VS4rFvQw9oLh` ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2025/10/image-15.png) Connection string is shown once project is set up You’ll use the information above soon to connect Power Query. ### Step 3: Load Sample Data into Neon Neon starts empty. So let’s create a dataset. - In your Neon dashboard, open the **SQL Editor**. ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2025/10/image-22.png) neon.tech user main page - Use ChatGPT or another LLM to generate a sample SQL dataset (check out my guide on [how to get started with vibecoding](https://www.anasabaziz.com/getting-started-with-vibecoding-how-ai-helps-you-code-smarter/)). > Prompt idea: > *“Create an SQL script so that it would create at least 5000 lines of transaction data.”* ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2025/10/image-12.png) Use ChatGPT to vibe code a table in your database - Paste the script into Neon’s SQL Editor and click **Run**. ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2025/10/image-13.png) Insert script into the SQL Editor You now have a **sample transactional dataset** to practice with. It's perfect for testing joins, filters, and aggregations. ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2025/10/image-14.png) Tables page shows the information in the tables generated ### Step 4: Connect Neon Database to Power Query Now for the fun part, connecting your SQL database to Power BI or Excel. I recommend using Power BI instead of Excel to connect to SQL databases, as there is a high likelihood that a large volume of transactions is expected. It would be easier to visualize this in Power BI rather than Excel. **If using Power BI Desktop:** - Open **Power BI** → **Get Data** → **Database** → **PostgreSQL Database**. ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2025/10/image-16.png) Get Data from PostgreSQL database - The PostgreSQL database menu will pop up. - In the *Server* field, enter your Neon host: `ep-crimson-art-a1tf74hb-pooler.ap-southeast-1.aws.neon.tech` - In the *Database* field, type:`neondb` ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2025/10/image-17.png) Insert relevant Server and Database information - For authentication, use the same **username** and **password** from your connection string. - Username:`neondb_owner` - Password:`npg_VS4rFvQw9oLh` ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2025/10/image-18.png) Insert User name and Password **If using Excel:** - You will first need a PostgreSQL driver to connect via Excel. The tutorial can be found [here](https://learn.microsoft.com/en-us/sql/integration-services/import-export-data/connect-to-a-postgresql-data-source-sql-server-import-and-export-wizard?view=sql-server-ver17&ref=anasabaziz.com). - Go to **Data** → **Get Data** → **From Database** → **From PostgreSQL Database**; - Follow the same connection details above. Once connected, you can view all your tables, preview data, and even check **query folding** behavior directly in Power Query Editor. ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2025/10/image-19.png) The relevant tables in the database will be shown in the Power Query Navigator ## Testing Query Folding and Data Extraction Here’s where the learning happens. - Start by loading a few tables and applying transformations in Power Query. - Open the *View Native Query* option to see how Power Query translates your transformations into SQL. - Experiment with filters, joins, and custom columns to see which operations fold back to the database and which don’t. ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2025/10/image-20.png) In Power Query, you can see the Native SQL used to pull the data from your database This kind of hands-on testing gives you a much deeper understanding of how Power BI optimizes data queries behind the scenes. Here's my guide on [how to load SQL data faster](https://www.anasabaziz.com/query-folding-in-power-query-complete-guide-for-faster-data-loading/). ## Troubleshooting Tips - If Power BI can’t connect, - Delete all previous permission information by opening **Options & Settings** → **Data Source Settings** → **Clear Permissions** → **Clear all permissions**. - Check that the **PostgreSQL driver** is installed for older versions of Power BI (Power BI should have the driver pre-installed for version 2020 and beyond). ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2025/10/image-21.png) Clear Permissions to start a fresh new Power BI file - Some corporate networks block remote database connections. Try from a personal network first. - You can always reset credentials or generate a new password from Neon’s dashboard. ## Final Thoughts: Build Your Own SQL Playground for Free Setting up a database on Neon.tech takes just 10 minutes, and it’s one of the best ways to **level up your SQL and Power Query skills**. You’ll not only learn how to connect and extract data, but also how transformations actually run under the hood. With this knowledge, you now have the skills to make Excel reports that connect directly to SQL databases in your organization. Whether you’re testing **query folding**, **ETL workflows**, or just brushing up on SQL syntax, this setup is a practical, no-risk way to learn by doing. Related Articles: [Power BI to Excel: How to Use OLAP Connections for Always-Up-to-Date ReportsLearn how to connect Power BI to Excel using OLAP tables for always-up-to-date reports. Save time, avoid manual exports, and empower management with live data.![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/icon/favicon-3.ico)Anas Ab AzizAnas![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/thumbnail/photo-1517245386807-bb43f82c33c4)](https://www.anasabaziz.com/power-bi-to-excel-how-to-use-olap-connections-for-always-up-to-date-reports/) ### Power BI to Excel: How to Use OLAP Connections for Always-Up-to-Date Reports URL: https://www.anasabaziz.com/power-bi-to-excel-how-to-use-olap-connections-for-always-up-to-date-reports/ Last updated: 2026-08-27T07:42:40.000Z Have you ever spent hours building a stunning Power BI dashboard, only to have management ask at the end of the meeting, *“Can you send me the Excel file?”* I’ve been there, and it can feel frustrating to repeatedly export data just to meet this request. ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2025/10/Anime-style-illustra.png) The good news? You don’t have to. With **Excel OLAP connections to Power BI’s semantic model**, management can pull the latest data directly into Excel, refresh it with one click, and explore the numbers themselves, all without asking you for another export. In this article, I’ll walk you through why this approach works, how I set it up, and the best practices I’ve learned from using it with real-world management teams. ## Why Connect Power BI to Excel Instead of Exporting? Exporting dashboards into Excel every time management asks has two big downsides: 1. **It’s manual and repetitive.** You waste valuable time extracting, cleaning, and sending files. 2. **Data gets outdated fast.** By the time leadership reviews the file, it might already be old. Using Excel’s OLAP feature flips the script: - Data flows directly from the **Power BI Service’s semantic model** into Excel. - Anyone with access just needs to **hit refresh** before use. - The report always shows the **most current numbers** without extra work from you. This setup empowers management to self-serve their analysis while you stay focused on building better dashboards. ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2025/10/image-6.png) "Refresh All" button allows users of the Excel file to get the latest data immediately when needed ## How to Connect Excel to Power BI Semantic Models Using these two (2) methods, Excel is no longer just a static export; it’s a live reporting tool synced with your Power BI dataset. ### Option 1: Direct from Microsoft Fabric This is the simplest way to connect without any customizations as the whole Semantic model is connected to the Excel File as a Pivot table. 1. **Open Microsoft Fabric** and go to your specific **Workspace**. 2. Select your **Semantic Model** \> **ellipses** **\> Analyze in Excel**. 3. An **Excel File is downloaded** for you to use straightaway as a **PivotTable**. ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2025/10/image-4.png) "Analyze in Excel" button generates the Excel file for analysis ### Option 2: Load Semantic Models from Power BI For this option, you will need a Power BI Pro license or higher (*which you probably have if you are using Power BI in your organization*) This is my recommended way of loading your Semantic Models, as you would have more options in customizing which data you want to include in the Excel file. Extremely advantageous if you have a large dataset, but Management only needs specific portions, i.e., current year data. Here’s a simple workflow I use: 1. **Open Excel** and go to the **Data tab**. 2. Select **Get Data > From Power Platform > From Power BI**. 3. Choose the dataset you want to connect. 4. Load it as a PivotTable or directly as a connected table. ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2025/10/image-7.png) Take specific data directly from Power Bi Semantic Models in Power BI Service ## Best Practices I’ve Learned Through trial and error, I’ve found a few habits that make this setup smoother for management teams: ### 1\. Minimize Tables in the Data Model - Merge or simplify tables where possible. - Flat tables work best because management often wants **quick answers** rather than complex data relationships. ### 2\. Filter Large Datasets If your dataset is heavy, I usually **limit the view to the current year**. Most executives only need to see this year’s performance anyway. ### 3\. Load One Table, Build Multiple Pivots Instead of connecting multiple PivotTables directly to Power BI (which slows Excel down), I: - Connect a **single wide table** with all needed columns. - Then build PivotTables on top of that one table. This approach dramatically improves performance and reduces refresh time. ## My Verdict: Is It Worth Doing? Absolutely. If your organization uses Power BI but your leadership still loves Excel, this is the perfect bridge. Like any workflow, this approach has strengths and trade-offs: **Pros:** - ✅ Always up to date, no more outdated exports. - ✅ Saves you time and manual effort. - ✅ Gives management more autonomy. - ✅ Excel features (PivotTables, charts) remain fully available. **Cons:** - ❌Requires access to the Power BI Service. - ❌Large models may slow down refresh performance. - ❌Some executives may still prefer pre-packaged reports over self-service. I strongly urge everyone to try using OLAP connections from Power BI to Excel. It’s a win-win for both management and you: faster reporting for them, less manual work for you. You can even use it to look at live SQL database data. More on that on the guide below. Related Article: [How to Practice SQL Data Extraction Yourself (Free Guide with Neon.tech + Power Query)Learn how to practice SQL data extraction for free using Neon.tech PostgreSQL and Power Query. Step-by-step guide to set up your own SQL database and connect it to Power BI or Excel.![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/icon/favicon-6.ico)Anas Ab AzizAnas![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/thumbnail/photo-1526628953301-3e589a6a8b74-1)](https://www.anasabaziz.com/how-to-practice-sql-data-extraction-yourself-free-guide-with-neon-tech-power-query/) ### Getting Started with Vibecoding: How AI Helps You Code Smarter URL: https://www.anasabaziz.com/getting-started-with-vibecoding-how-ai-helps-you-code-smarter/ Last updated: 2026-08-27T07:53:46.000Z Not long ago, the trend was all about *no-code apps*. Tools were designed to let business professionals build applications without touching a single line of code. The idea was simple: focus on business impact, not technical complexity. But we’ve now entered a new era. With **large language models (LLMs)**, you don’t just skip coding, you’ll be *vibecoding*. That means you describe what you want, and AI generates the code for you. Think of it as having a personal coding assistant who translates your commands into working scripts, whether it’s SQL, DAX, or another language. ![Photo by Aerps.com / Unsplash](https://images.unsplash.com/photo-1745674684463-62f62cb88d4c?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8c2VhcmNofDJ8fGxsbXxlbnwwfHx8fDE3NTk1Mzk3MDR8MA&ixlib=rb-4.1.0&q=80&w=2000) ChatGPT with a search bar asking how it can help. In this guide, I’ll break down how vibecoding works, especially with **Copilot** and alternatives like DeepSeek or Google Gemini. I’ll also show you how to make the most out of the **standalone Copilot app** (for those without the premium Copilot Plus subscription). ## What Is Vibecoding and Why Does It Matter? Vibecoding is the natural evolution of no-code. Instead of just dragging and dropping UI elements, you *talk to AI in plain English (or any natural language)*, and it writes the code for you. Here’s why it matters: - **Faster prototyping**: Turn ideas into working code instantly. - **Lower barrier to entry**: No need to memorize syntax or advanced expressions. - **Empowered business users**: Analysts, managers, or non-developers can create solutions without waiting for IT. Personally, I’ve found vibecoding to be a game-changer when working with tools like **Power BI**, where I no longer struggle to remember every DAX formula. ## Vibecoding With Copilot Inside Microsoft Apps If your organization has a **Copilot Plus subscription**, vibecoding is built directly into the apps you already use. For example, in **Power BI**: 1. Open the DAX editor. 2. Type your request in plain language inside the Copilot chat. 3. Copilot will generate a query for you, like creating a calculated column, writing measures, or applying filters. ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2025/10/image.png) Copilot feature in Dax Editor in Power BI I’ve tried this myself, and it’s incredibly intuitive. Instead of googling “DAX percentage calculation” for the hundredth time, I just tell Copilot: *“Write a measure that calculates the percentage of subtotal over total by financial type.”* The AI handles the syntax. ## What If You Don’t Have Copilot Plus? (Standalone Copilot App) Here’s the catch: many smaller organizations don’t pay for the premium subscription. That’s where the **standalone Copilot app** comes in. The key difference: the standalone app doesn’t automatically connect to your data. That means you’ll need to provide **context** inside your prompts. ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2025/10/image-2.png) Standalone Copilot app in Microsoft 365 ### Best Practices for Standalone Copilot Vibecoding - **Be specific**: Mention the *table name*, *columns*, and the *action* you want. - Example: “Write a DAX query that sums the column `SalesAmount` from the `Transactions` table and groups it by `Region`.” - **Iterate and refine**: Sometimes the first draft isn’t perfect. Tweak your prompts or make small manual adjustments. - **Learn basic knowledge of DAX or SQL**: You don’t need to memorize everything, but knowing the basics helps you refine AI-generated code. - **Save reusable prompts**: If you often ask for similar queries, keep a library of effective prompts on your notes. In practice, this feels like *pair programming with AI*. The AI drafts, and you guide it with feedback. ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2025/10/image-3.png) Mention specific tables and columns for more precise DAX Queries generated by Copilot ## Alternatives Beyond Microsoft Copilot If your organization allows third-party LLMs, there are great alternatives to explore: - **ChatGPT**: the original before Copilot came, and probably has the latest models compared to Copilot. - **DeepSeek**: lightweight, affordable, and fast. - **Google Gemini**: strong for reasoning-heavy tasks Each has its strengths. I often experiment with different models when Copilot doesn’t quite nail the logic, and sometimes another LLM generates a cleaner or more efficient query. ![Photo by Saradasish Pradhan / Unsplash](https://images.unsplash.com/photo-1738640679960-58d445857945?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8c2VhcmNofDI4fHxjaGF0Z3B0fGVufDB8fHx8MTc1OTUzOTE3Nnww&ixlib=rb-4.1.0&q=80&w=2000) Examples of LLMs on the market ## The Pros and Cons of Vibecoding Like any new workflow, vibecoding isn’t perfect. **Pros:** - ✅ Saves time and removes mental load of memorizing formulas. - ✅ Opens coding power to business users. - ✅ Works across multiple platforms and tools. **Cons:** - ❌ Still requires validation, you need to check AI-generated code. - ❌ Standalone apps lack direct data integration. - ❌ Premium subscriptions can be costly for smaller orgs. From my experience, vibecoding is *worth it*, but only if you’re willing to stay engaged as the “editor” of your AI partner’s code. ## Final Verdict: Is Vibecoding the Future? Absolutely. Vibecoding isn’t just a productivity hack; it’s a shift in how we approach problem-solving. Instead of spending hours debugging syntax errors, I focus on business logic and let AI handle the mechanics. If you’re curious, I recommend starting with the **standalone Copilot app** (or even free tools like ChatGPT) to get hands-on experience. Once you see the time savings, it’s easier to justify a premium Copilot Plus subscription. ### Query Folding in Power Query: Complete Guide for Faster Data Loading URL: https://www.anasabaziz.com/query-folding-in-power-query-complete-guide-for-faster-data-loading/ Last updated: 2026-08-27T08:02:58.000Z When I first started working with **Power Query** in Excel/ Power BI, I kept hearing the term *“Query Folding.”* It sounded technical and intimidating, but once I got my head around it, it completely changed the way I handle data transformations. Here’s the big idea: **Query Folding is when Power Query translates your M language steps (filters, joins, grouping, etc.) into SQL statements that your database can process directly.** ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2025/09/Untitled-design.png) M Language that automatically converts into SQL Statements in Power Query Why does this matter? Because instead of dragging tons of raw data into Power Query and transforming it on your machine, Query Folding pushes those transformations back to the source. That means less data traveling over the wire, faster refresh times, and more efficient queries. In this guide, I’ll walk you through what Query Folding is, how it works in Power Query, what steps fold vs. what steps break folding, and practical tips to keep your queries running lightning-fast. ## What Is Query Folding in Power Query? At its core, **Query Folding is Power Query’s ability to offload work to the SQL database** instead of doing it locally. Think of it like this: - **Without Query Folding** → You load all data from SQL into Power Query, then apply transformations in M. - **With Query Folding** → Power Query converts your M transformations into SQL (like `SELECT`, `WHERE`, `GROUP BY`) and only pulls the already-transformed dataset. This makes your **ETL (Extract, Transform, Load)** process way more efficient. ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2025/09/image-8.png) With Query Folding, the data extracted is directly transformed ## Why Query Folding Matters From my experience, the difference between folding and non-folding can mean the difference between a **30-second refresh** and a **30-minute refresh.** Benefits include: - ⚡ **Performance:** Only the final SQL query result is sent to Power Query. - 📉 **Efficiency:** Less data over the network = faster refreshes. - 🛠️ **Maintainability:** SQL-backed transformations are easier to trace. - 🌍 **Scalability:** Works better as your data grows. if your source is SQL, always try to maximize folding before adding custom M steps. ## How to Know If Query Folding Is Happening The easiest way to check is to look at the **Native Query** option in Power Query. - Right-click a step in your Applied Steps pane. - If **“View Native Query”** is clickable (not greyed out), folding is happening. - Click it, and you’ll see the exact SQL statement that Power Query is sending to the database. ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2025/09/image-6-1.png) "View Native Query" is not greyed out 👉 Pro tip: If you’re building a query for performance, check this early. The moment a step breaks folding, all subsequent steps also stop folding. ## Examples of Steps That Fold (SQL-Compatible) Most SQL-native operations fold without issue. Here are some common examples: - **Filtering rows** → `WHERE` - **Choosing specific columns** → `SELECT` - **Sorting rows** → `ORDER BY` - **Merging tables** → `INNER JOIN`, `LEFT OUTER JOIN` - **Grouping and aggregations** → `GROUP BY` - **Removing duplicates** → `SELECT DISTINCT` Basically, if you can express it in SQL, Power Query will usually fold it. ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2025/09/image-5-1.png) SQL Statement can be seen in the Native Query window ## Examples of Steps That Break Folding Not every Power Query transformation can be translated into SQL. Once you add one of these, folding stops: - **Custom columns** with complex M logic SQL doesn’t support. - **Text functions** like `Text.Proper` or advanced string manipulation. - **Index columns** or column reordering. - **Custom functions** or non-native M expressions. - **Merging with non-database sources** (e.g., combining SQL with Excel). Once folding is broken, all subsequent transformations happen locally in Power Query — which can be painfully slow with large datasets. ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2025/09/image-7-1.png) "View Native Query" is greyed out as the step is no longer an expression available in SQL Statement ## Best Practices for Maintaining Query Folding Based on trial and error, here are my top tips: 1. **Do SQL-friendly steps first.** Apply filters, column selections, joins, and aggregations before adding custom M logic. 2. **Check Native Query often.** Don’t wait until the end to realize folding broke ten steps ago. 3. **Use custom SQL only when necessary.** Sometimes writing a SQL view or stored procedure upfront gives you more control. 4. **Push heavy logic upstream.** If SQL can do it, let SQL do it. 5. **Document broken folding points.** This makes it easier to optimize later. ## My Verdict: Is Query Folding Worth Learning? Absolutely. If you’re working with SQL sources in Power Query, **understanding Query Folding is a must-have skill.** I’ve seen refresh times drop from hours to minutes just by restructuring queries to fold properly. For any analyst, especially those doing no-code work, this is low-hanging fruit for massive performance gains. Have you tried optimizing with Query Folding? If you dont have any SQL databases to connect to, below is a quick guide Related Articles: [How to Practice SQL Data Extraction Yourself (Free Guide with Neon.tech + Power Query)Learn how to practice SQL data extraction for free using Neon.tech PostgreSQL and Power Query. Step-by-step guide to set up your own SQL database and connect it to Power BI or Excel.![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/icon/favicon-4.ico)Anas Ab AzizAnas![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/thumbnail/photo-1526628953301-3e589a6a8b74)](https://www.anasabaziz.com/how-to-practice-sql-data-extraction-yourself-free-guide-with-neon-tech-power-query/) ### Mastering Excel: From Beginner Spreadsheets to Advanced Data Analytics URL: https://www.anasabaziz.com/mastering-excel-from-beginner-spreadsheets-to-advanced-data-analytics/ Last updated: 2026-08-27T08:04:48.000Z Microsoft Excel is one of the MOST powerful tools in the corporate world. Whether you’re tracking expenses, analyzing financial data, or building interactive dashboards, there's so much you can do. In this guide, we’ll break down the three levels of Excel mastery, from beginner to advanced, along with examples of projects you can try at each stage. ## **Level 1: Excel as a Spreadsheet** At the beginner stage, Excel is primarily used as a digital spreadsheet to organize information. Users enter numbers, text, or dates into rows and columns, making it ideal for simple data logging and calculations. I'd say you would typically start at this level in your first job after graduation. ### **What You Can Do at Level 1** - **Expense Tracker:** Create a basic table where you log daily or monthly expenses, add categories (food, bills, entertainment), and calculate totals with the SUM function. - **To-Do List:** Track tasks, deadlines, and completion status using checkboxes or simple conditional formatting. - **Basic Inventory List:** Record product names, quantities, and prices for small projects or personal collections. **💡 Tip for Beginners:** Learn how to use simple functions like SUM, AVERAGE, MIN, and MAX. These small steps will save you hours in the long run. ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2025/09/image-1.png) Basic Expense Tracker: The table can be filtered to show specific dates and categories. The Categories have been mapped in a separate tab for reference. ## **Level 2: Excel with Formulas and VBA** Once you’ve mastered the basics, you can elevate your Excel skills by using formulas and Visual Basic for Applications ("VBA") for automation. This stage unlocks Excel as a true data analysis tool rather than just a digital table. Personally, I chose to skip learning VBA and focused directly on mastering Power Query (as outlined in level 3 below). But the more complex formulas help a lot! ### **Key Skills at Level 2** - **Using functions** like IF, VLOOKUP/XLOOKUP, INDEX-MATCH, and TEXT formulas - Automating repetitive tasks with **VBA macros** - Applying **conditional formatting** for insights at a glance ### **What You Can Do at Level 2** - **Personal Finance Tracker:** Move beyond expenses and build a full financial model inside Excel. You can track income, savings, debts, and even generate monthly summaries with formulas. - **Grade Calculator:** Automate weighted averages for academic results. - **Project Task Tracker:** Use formulas to monitor deadlines, flag overdue tasks, and highlight high-priority work. 💡 **Tip for Intermediate Users:** Start exploring PivotTables to summarize large sets of data without writing formulas. ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2025/09/image-2.png) Personal Finance Tracker: use Pivot Tables to access slicers and timelines for easier analysis ## **Level 3: Excel with Power Query and Data Integration** The real power of Excel emerges at Level 3\. Here, you’ll use Power Query to import and transform data from multiple sources; i.e., databases, web pages, CSV files, or even Application Programming Interface ("API")s. Power Query also removes the traditional Excel row limit, allowing you to handle massive datasets. At this stage, you’re no longer limited to what Excel alone can do. It becomes a gateway to advanced data analytics, allowing you to integrate your knowledge of SQL or Python for even deeper insights. Power Query is also an integral tool for Power BI. As you have started learning Power Query, you have already begun learning Power BI too! ### **Key Skills at Level 3** - **Connecting Excel** to databases, websites, and cloud services - Cleaning and **transforming data automatically** with Power Query - **Building advanced dashboards** with slicers, charts, and Power Pivot - **Using DAX formulas** in Power Pivot for powerful calculations ### **What You Can Do at Level 3** - **Personal Finance Dashboard:** Go beyond static spreadsheets by connecting Excel to your bank’s exported statements, investment reports, or budgeting apps. With Power Query, you can combine multiple files into one live dashboard. - **Sales Performance Dashboard:** Integrate sales data from CRM systems or e-commerce exports to track KPIs across regions and products. - **Data-Driven Reports:** Automate weekly or monthly reporting by pulling fresh data from multiple sources in a single click. 💡 **Tip for Advanced Users:** Once comfortable with Power Query, start exploring SQL for querying databases or Python for automation and analytics. These skills pair naturally with advanced Excel work. ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2025/09/image-3.png) Personal Finance Dashboard: Power Query is used to extract data from Bank Statements in PDF file format ## **How to Progress Through the Levels** - **From Level 1 to 2:** Practice formulas daily. Rebuild your simple expense tracker with automated summaries and charts. - **From Level 2 to 3:** Learn how to use Power Query to connect and clean data. Experiment with combining multiple Excel files into one consolidated report. - **Beyond Level 3:** Invest time in SQL and Python to prepare for large-scale data analysis and career growth in analytics. Beyond these three levels, to go even further is on Vibe Coding. It's the use of AI to automate most of the code writing and initial analysis of data. This way, you can focus on the hard parts that really matter. ## **Final Thoughts** Learning Excel is a journey, starting with simple spreadsheets and growing into advanced data analysis. - At Level 1, you take control of your personal data. - At Level 2, you begin automating processes and building smarter trackers. - By Level 3, you unlock Excel’s true power through Power Query, integrations, and dynamic dashboards. I strongly encourage every aspiring data analyst to sharpen their Excel skills. Mastering Excel isn’t just about formulas; it’s about unlocking a new way of thinking, solving problems faster, and driving real impact with data. It’s one of the most valuable investments you can make in your career, and I can confidently vouch for the transformation it brings. ### Where It All Began URL: https://www.anasabaziz.com/where-it-all-began/ Last updated: 2025-09-05T10:04:47.000Z --- To understand why I do the things I do, you need to know my full story. How did someone with a background in Finance ended up in Data Analytics instead. Here's my story. ## The Education Unlike most people who started with degrees in Data Science or Software Engineering, I started from Finance & Accounting instead. My education was a lot on business analytics rather than the data side of things. Unbeknownst to many, the Association of Certified Chartered Accountants (ACCA) course does dig into Data Science/ Analytics topics. At the time I was studying, this was under papers P4 Advanced Financial Management and P5 Advanced Performance Management. These papers covered financial data and non-financial data respectively. But now ACCA, along with other accounting certifications, explicitly includes Data Science exam papers. This shows how important analytics is in the daily life of an accountant now. ![](https://storage.ghost.io/c/10/2b/102b44ac-b001-4e5c-bf76-dad05157f35d/content/images/2025/08/ACCA-Qualification-Levels-infographic.jpeg) Upcoming structure for ACCA Qualification ## First dive into Big Data I started my career as an auditor in the Big Four firms. little did I expect I was going straight into the Oil & Gas industry. And the thing with this industry is that all of the competing companies are huge. The thing that comes with it is an endless number of transactions, there's a big amount of data that needs to be churned. When you work in Big Four and handling the largest clients in the world is that you have two separate teams to do the required work. Financial Auditors to handle analysis of information, and the IT side to get the data from all sorts of databases and transform it into information that could be understood. Here's the problem I had at the time: - having two different teams meant that the process to get from Team A and Team B was gonna take time. - There's also the bureaucracy you had to go through to as both teams answer to different bosses. Then the idea came to me. A solution that looked so simple but yet so hard to execute. I needed to learn both sides of the job. This way, I would no longer be dependent on any other teams. But the challenge was that I needed to learn not just a new skill but a whole new field of study! And so this was when I started using more than just Excel for my analytics work. At the time, I was using TIBCO Spotfire (a competitor against Tableau, Power BI wasn't that famous at the time yet) With Excel's limitation to 1,000,000 rows at the time, it felt like I unlocked a new superpower. I could analyze ANY size of data now. ![white printing paper with numbers](https://images.unsplash.com/photo-1529078155058-5d716f45d604?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8c2VhcmNofDJ8fGJpZyUyMGRhdGF8ZW58MHx8fHwxNzU3MDI5MDc1fDA&ixlib=rb-4.1.0&q=80&w=2000) Photo by [Mika Baumeister](https://unsplash.com/@kommumikation?ref=anasabaziz.com) / [Unsplash](https://unsplash.com/?utm%5Fsource=ghost&utm%5Fmedium=referral&utm%5Fcampaign=api-credit) ## Innovation, Innovation, Innovation After 5 years in financial audit, it felt like it was time to move to a different role. Went into the Banking Industry in internal audit. Now I deal with more non-financial data, but still always focused on internal controls. I was still doing the normal audit work expected of the job. But now I have a chance to help innovate the department itself as the Bank was going through a digital transformation. I held a bigger role in the database administration of our content management system. I've been focused now more than ever on increasing the efficiency of the department's workflow. Now I had time to create my own projects to automate all the things that could be automated. ![person using laptop](https://images.unsplash.com/photo-1516321318423-f06f85e504b3?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8c2VhcmNofDE0fHxkaWdpdGFsJTIwdHJhbnNmb3JtYXRpb258ZW58MHx8fHwxNzU3MDMwMjkwfDA&ixlib=rb-4.1.0&q=80&w=2000) Photo by [John](https://unsplash.com/@johnishappysometimes?ref=anasabaziz.com) / [Unsplash](https://unsplash.com/?utm%5Fsource=ghost&utm%5Fmedium=referral&utm%5Fcampaign=api-credit) ## Continuous Learning Recently, a lot of changes happened rapidly. Microsoft started to market the new Microsoft Fabric software as part of its Power BI tools. And Artificial Intelligence breakthroughs keeps happening which seemed like once every other month. There is so much still to learn. The problem was that there were not much more classes or certificates that I could take at this point in time. These innovative breakthroughs are coming at a rapid pace. There's something new each month! In these emerging markets, there are now so few Subject Matter Experts that has time to teach others. The best people out there are the ones still developing these new technologies. It came as a realization to me that the best way for me to learn is to network and communicate with those in the field. And what better way is there than to document my journey of automating everything in public? So here I am, ready to share everything I know with everyone in my shoes. Look forward to my content in the future here! Subscribe so you don't miss my latest posts! [Subcribe ](#/portal/signup/free) ##