Course: Deploying and Maintaining Assets in Power BI
In this chapter, "Workspaces and Applications," we examine how Power BI organizes collaboration and distribution of analytics. Workspaces provide a shared environment where teams store datasets, reports, dashboards, and dataflows for coordinated development. Users typically have a personal "My Workspace" for private drafts and one or more App Workspaces for team projects. App Workspaces support role-based access so you can assign Admin, Member, Contributor, or Viewer privileges to control who can view, edit, and publish. Effective use of workspaces reduces report duplication, clarifies ownership, and enforces governance policies. Creating and publishing an app packages curated content from a workspace for wider consumption without exposing underlying administrative controls. DAX (Data Analysis Expressions) complements workspace management by enabling calculated tables, measures, and targeted queries inside the dataset. For instance, a calendar calculated table simplifies time intelligence calculations and improves report consistency. Summarization functions like SUMMARIZECOLUMNS let analysts produce aggregated views of orders, profit, and other KPIs by category and time. DAX queries can also retrieve ordered slices of data, but they require explicit ORDER BY clauses because Power BI visual sort settings are not honored. When combined, well-managed workspaces and thoughtful DAX modeling increase collaboration speed and analytical reliability. Over time, teams that adopt workspace best practices and DAX standards see clearer data lineage, better security, and faster decision-making.
Lesson
Topic: Workspaces and Applications — Power BI collaboration, apps, and DAX-based data modeling
Learning Outcomes
- Define the two primary workspace types in Power BI and explain their purposes.
- Describe the process to create and publish an app from a workspace.
- Create a basic calculated table using DAX for date-based analysis.
- Use SUMMARIZECOLUMNS and ORDER BY in a DAX query to produce grouped and sorted results.
- Explain the role of workspace permissions and basic security implications for shared content.
Conceptual Explanation
A Power BI workspace is a bounded collaborative area for storing datasets, reports, dashboards, and dataflows. "My Workspace" is personal and intended for private development; App Workspaces are collaborative and support role-based access. Apps package selected workspace content for distribution to a broader audience while preserving workspace governance.
Calculated tables created with DAX allow modelers to derive new tables from existing data; a common pattern is building a calendar dimension:
Dim_Calendar = CALENDAR(MIN('Fact_StrategyPlan'[Datekey]), MAX('Fact_StrategyPlan'[Datekey]))
Summarization and analysis often use SUMMARIZECOLUMNS together with FILTER and DIVIDE for safe arithmetic:
EVALUATE
SUMMARIZECOLUMNS(
'Date'[Month Name],
'Date'[Month of Year],
'Product'[Category],
FILTER( VALUES('Product'[Category]), [Category] = "Clothing" ),
"Orders", [Orders],
"Avg Profit per Order", DIVIDE([Total Sales Profit], [Orders])
)
DAX queries return tables and do not implicitly use Power BI visual sort; include ORDER BY when order matters, and use START AT for paging or slicing results.
Workspace roles (Admin, Member, Contributor, Viewer) determine who can publish, edit, or only view content; adopt least-privilege principles and use sensitivity labels or RLS where data confidentiality is required.
Bilingual (EN → বাংলা)
-
Workspace (EN): A collaborative area for datasets, reports, and dashboards.
ওয়ার্কস্পেস (বাংলা): ডেটাসেট, রিপোর্ট এবং ড্যাশবোর্ডের জন্য একটি সহযোগী পরিবেশ। -
My Workspace (EN): Personal workspace for private development.
My Workspace (বাংলা): ব্যক্তিগত কাজের জায়গা যেখানে ব্যবহারকারী নিজস্ব রিপোর্ট ও ড্যাশবোর্ড তৈরি করেন। -
App Workspace (EN): Shared workspace where a team collaborates and publishes apps.
App Workspace (বাংলা): একটি দলীয় কর্মস্থল যেখানে সদস্যরা সহযোগীভাবে কাজ করে এবং অ্যাপ প্রকাশ করে। -
Calculated Table (EN): A table created by DAX expressions inside the model.
Calculated Table (বাংলা): মডেলে DAX এক্সপ্রেশনের মাধ্যমে তৈরি একটি টেবিল। -
Sensitivity Label (EN): Label that classifies and protects content.
সেনসিটিভিটি লেবেল (বাংলা): কনটেন্ট শ্রেণীবদ্ধ ও সুরক্ষিত রাখার লেবেল।
Important Notes
- Always assign workspace roles according to the minimum required privileges.
- Use a calendar table for reliable time intelligence and consistent filtering across reports.
- When writing DAX queries for export or analysis, include ORDER BY to guarantee ordering.
- Package only curated content in apps; avoid including datasets with overly broad access unless necessary.
- Test Row-Level Security (RLS) and sensitivity labels before publishing apps to production users.
Exercises
True / False
- App Workspaces allow multiple contributors and role-based permissions.
Answer
True — App Workspaces are collaborative and support roles such as Admin, Member, Contributor, and Viewer.
- DAX queries automatically respect the sort order set in Power BI visuals.
Answer
False — DAX queries do not respect Power BI visual sort settings; you must include ORDER BY in the DAX query.
- My Workspace should be used to publish organizational apps to all users.
Answer
False — My Workspace is personal; organizational apps should be published from App Workspaces where permissions and governance are managed.
Fill in the Blanks
- To create a calendar table in DAX you use the function ________.
Answer
CALENDAR
- Use the DAX function ________ to avoid division by zero when computing ratios.
Answer
DIVIDE
- The role that has full control over a workspace is called ________.
Answer
Admin
Multiple Choice Questions (MCQ)
- Which of the following is NOT a workspace role in Power BI?
A. Admin B. Contributor C. Designer D. ViewerAnswer
C. Designer — Designer is not a standard workspace role; common ones are Admin, Member, Contributor, and Viewer.
- Which DAX function groups data across columns and allows measures to be specified?
A. SUMMARIZECOLUMNS B. CALCULATETABLE C. FILTER D. RELATEDAnswer
A. SUMMARIZECOLUMNS — it groups by columns and can include measures.
Matching
Match the left items with the correct right items:
| Item | Match |
|---|---|
| 1. START AT (DAX) | A. Role with full permissions |
| 2. Admin | B. Limits query results to begin at a specific row |
| 3. Dim_Calendar (calculated table) | C. Date dimension created via CALENDAR |
Answer
1 → B, 2 → A, 3 → C
Descriptive Questions
- Explain the difference between My Workspace and App Workspaces, and give one use case for each.
Answer
My Workspace is an individual workspace intended for personal development and experimentation; use it when building initial report drafts or personal analysis. App Workspaces are collaborative areas where teams manage shared datasets, reports, and dashboards with role-based access; use App Workspaces to build, review, and publish an organizational app that multiple teammates maintain.
- Describe steps to publish an app from a workspace and one governance check to perform before publishing.
Answer
Steps: (1) Prepare and finalize reports/dashboards in the App Workspace; (2) Click "Create app" in the workspace; (3) Configure app details (name, description, logo); (4) Choose content and navigation; (5) Set permissions for users/groups; (6) Publish. Governance check: Verify dataset sensitivity labels, RLS roles, and that only approved content is included to avoid exposing sensitive data.
Creative
Design a short naming and permission policy for workspaces in your organization (3–5 rules).
Answer
- Workspace names must start with the department code (e.g., FIN_, SALES_) followed by a concise purpose tag and owner initials.
- App Workspaces must include at least one Admin (data owner) and at least one Member; default Viewer access is not granted publicly.
- Sensitivity labels must be assigned to datasets before publishing an app; confidential datasets require Admin approval to share externally.
- Review workspace membership quarterly and remove inactive users or change roles to Viewer where appropriate.
Activities, Vocabulary, Homework, Practice Task
Activities
- Create a new App Workspace, add two members with different roles, and document the permission differences you observe.
- Build the Dim_Calendar table in a sample PBIX file and create a simple time-series visual using the new table.
Vocabulary
- Workspace — collaborative container for Power BI content
- App — packaged content deployed to end users
- Calculated Table — table created by DAX expression
- SUMMARIZECOLUMNS — DAX function for grouping and aggregations
- Sensitivity Label — classification applied to content to enforce protection
- RLS (Row-Level Security) — mechanism to restrict rows of data per user
Homework
- Prepare a one-page checklist that you will follow before publishing any Power BI app (include security, documentation, and testing items).
- Write a short DAX query using SUMMARIZECOLUMNS to show total sales and order count for a category of your choice; include ORDER BY month number.
Answer (example)
EVALUATE
SUMMARIZECOLUMNS(
'Date'[Month Name],
'Date'[Month of Year],
FILTER( VALUES('Product'[Category]), [Category] = "Clothing" ),
"Total Sales", SUM('Fact_Sales'[Sales Amount]),
"Total Orders", COUNTROWS('Fact_Sales')
)
ORDER BY 'Date'[Month of Year] ASC
Practice Task
Implement RLS for a small Sales model so that each sales rep only sees their own records; test by using "View as Role" and document the test result.
Answer
Example approach: In Power BI Desktop, Model → Manage Roles → create role SalesRep with table filter on Sales: [SalesRepEmail] = USERPRINCIPALNAME(). Use "View as" to test with known emails. Document whether visuals and measures reflect filtered data correctly and whether totals roll up appropriately for managers (who may need a different role).