Hello! Welcome to the final lesson in our module on Designing Analytic Applications.
In our last session, we mastered the essential skill of testing and debugging an app using the Interface Designer's Test View and the "Open Debug" feature. You now have a fully functional, reliable analytic app. The final question is: how do you share it with others?
This lesson addresses that exact point and covers our final learning outcome for this module: Package an analytic app (.yxwz) for sharing and deployment. We'll explore why simply sending the app file isn't enough and learn the correct process for bundling your app with all its necessary components into a single, portable package.
1. The Challenge of Sharing: Workflows and Their Dependencies
An Alteryx Analytic App is saved as a .yxwz file. You might think you can just email this file to a colleague, but that often leads to errors. Why? Because most apps are not self-contained. They rely on other files, known as dependencies.
Common dependencies include:
- Input data files (like CSVs, Excel files, or
.yxdbdatabases) - Macros used within the workflow
- Lookup tables for tools like
Find ReplaceorJoin - Supporting files for spatial analysis
To solve this, Alteryx provides a way to package your app and all its dependencies into a single, compressed file. This ensures that anyone you share it with has everything they need to run it successfully.
Let's clarify the two key file types involved.
The Alteryx Help documentation provides concise definitions for Analytic App files and the packages used to share them. Understanding the distinction is the first step.
Please read the short descriptions for '.yxwz (Analytic App)' and '.yxzp (Packaged Workflow)'. Notice that the .yxzp format is specifically designed to include a workflow (like a .yxwz app) and all its dependencies.
As you read, a .yxwz file is the analytic app itself, containing the workflow logic and the interface design. A .yxzp file is a compressed package that bundles the .yxwz app plus all associated dependency files. This is the file you will use for sharing.
2. How to Package Your Analytic App
The process of creating a .yxzp package is called "exporting." You do this directly from Alteryx Designer after saving your app.
The documentation on workflow management gives a comprehensive overview of this process, including a crucial list of what gets included automatically and what gets left out.
Workflow Management - Alteryx Help
Let's dive into the specifics of the export process. This guide details the steps and, most importantly, the rules for how Alteryx handles dependencies.
Please read the section titled 'Export Workflow'. Focus on the tables and lists that explain which assets are included versus excluded. This is a critical detail for the Alteryx Advanced Certification exam.
Summary of the Export Process
Let's break down the key takeaways from that reading.
To export your app, you go to Options > Export Workflow. This opens a window where you can manage the package.
What gets included in the package?
Alteryx automatically detects and includes most dependencies:
- Input Files: Data files referenced by your
Input Datatools. - Macros: Any custom macros used in your workflow.
- Chained Apps: If your app is part of a chained sequence.
What is NOT included?
This is just as important to remember:
- Missing Files: If a dependency is already broken or missing, it won't be packaged.
- Files from the Alteryx Installation: Standard Alteryx files are assumed to be on the recipient's machine.
- Files on a Network Path: If your input is
\\server\share\data.csv, Alteryx will not package this file. The assumption is that the recipient also has access to that same network path. For sharing outside your organization, you should use relative paths or place a copy of the file in the same directory as your workflow. - Input Paths with a Constant: If you use a workflow constant to define part of a file path, that file will not be packaged.
3. A Practical Walkthrough
Let's imagine you've built the app shown below.
Scenario:
- App:
Customer_Filter_App.yxwz - Dependency 1:
C:\Alteryx_Projects\Inputs\customers.csv(used in anInput Datatool) - Dependency 2:
C:\Alteryx_Projects\Macros\Custom_Cleansing.yxmc(a macro used in the workflow)
Steps to Package:
- With the
Customer_Filter_App.yxwzopen and saved in Alteryx Designer, navigate to the menu bar and select Options > Export Workflow. - The Export Workflow window will appear. In the "Assets" list, you will see your app (
Customer_Filter_App.yxwz) along with its detected dependencies (customers.csvandCustom_Cleansing.yxmc). - By default, all detected assets are checked and will be included in the package. You can deselect an asset if you do not want to include it.
- Under Package Location, click the save icon to choose where you want to save your package and what to name it (e.g.,
Customer_Filter_App.yxzp). - Click Save.
You now have a single .yxzp file that you can confidently share with any other Alteryx Designer user.
4. Receiving and Importing a Package
The process for the recipient is just as simple. When they receive your .yxzp file:
- They can double-click the file, or open it from Alteryx via File > Open Workflow > Browse.
- Alteryx will display an Import Workflow Package window.
- This window shows the contents of the package and asks the user to select a Destination Directory. This is the folder where Alteryx will unpack the app and all its dependency files.
- After clicking Import, Alteryx extracts the files, maintaining the relative folder structure, and then opens the app. The app is now ready to run on their machine because all its dependencies have been placed alongside it.
Conclusion
You've now completed the entire lifecycle of creating an Alteryx Analytic App: building the core workflow, designing the user interface, testing and debugging for reliability, and finally, packaging it for distribution. This is a comprehensive and highly valued skillset.
Key Takeaways:
- Analytic Apps are saved as
.yxwzfiles but are shared using.yxzppackages to include all dependencies. - To create a package, use the Options > Export Workflow menu item in Alteryx Designer.
- Alteryx automatically packages most assets like local data files and macros.
- Be aware of exceptions: files on network paths and paths containing constants are not included in the package.
- Receiving a
.yxzppackage allows a user to easily import and unpack the app and all its required files.
This lesson concludes our module on Designing Analytic Applications. You've covered everything from interface tools and conditional logic to debugging and deployment.
In our next lesson, we will venture into a new and powerful area of Alteryx: Spatial Analytics. We'll begin with the fundamentals, learning how to work with spatial data types like points, lines, and polygons.