Effective Ways to Share Large Files via Email

Sending large files through email as an attachment can be challenging, especially when they exceed the typical attachment limit of 20 MB. Here are ways to send large files via email:

  1. Compress the File into a ZIP Format to reduce its size.
    Use SharePoint or OneDrive for Cloud Sharing for seamless and secure file transfer.
  2. These methods help ensure your files reach the recipient efficiently while maintaining security and accessibility. Below is a step-by-step guide on how to send large files via email for both approaches.

Option 1: Using a ZIP File

One of the easiest ways to send large files via email is compressing them into a ZIP file. This method helps reduce file size, making it easier to email large files without hitting attachment limits.

Step 1: Create a ZIP File

Locate the file or folder you want to compress. Right-click on it and choose Compress to ZIP File. A new ZIP file, which is smaller in size, will be created in the same location as the original file.

Create a ZIP File

Step 2: Attach the ZIP File to an Email

You can now attach the compressed ZIP file to your email. Ensure the file size is 20 MB or less. If it still exceeds this limit, proceed with Option 2.

Option 2: Share Using SharePoint or OneDrive

If you need to share large files via email, using SharePoint support or OneDrive is an efficient solution. These Microsoft 365 solutions allow you to store and send large video files via email without worrying about attachment size limits. You can also automate email attachments using Power Automate for seamless file sharing.

Step 1: Upload the File

Navigate to the folder where you want to store the file in SharePoint/OneDrive. Drag and drop the file into the folder or click Upload > Files to add your document that you want to share.

Step 2: Create a Shareable Link

Navigate to the uploaded file in your SharePoint or OneDrive. Click the three dots (…) next to the file name to open the context menu.

Create a Shareable Link

Select Share.

Select Share

Step 3: Configure Link Settings

In the Share window, click the Gear Icon (⚙️) next to access link settings:

Configure Link Settings

Choose the Sharing Options:

  • Anyone: Selecting anyone with the link can access the file without signing in. (You can optionally set a password for security and also the Expiration Date.)
  • People in [Your Organization]: Only internal users can access.
  • People with Existing Access: Only those already granted access can use the link.
  • Specific People: Share with specific individuals by entering their email addresses or names.

Choose the Sharing Options

  • Set Permissions: Choose whether users can edit, review, view, or can’t download.

Choose the Sharing Options

  • Once done, Click Apply to save your link-sharing preferences.
  • Once your settings are configured, click the Copy link. The link is now copied to your clipboard.

Choose the Sharing Options

Step 4: Copy and Share the Link

You can now share the link with anyone by pasting the copied URL directly into the email.

Tips for Safe Sharing

  • Use Passwords: Protect sensitive files shared with “Anyone” links.
  • Set Expiration Dates: Limit how long the link stays active.
  • Clarify Access: Tell recipients if they can view, edit, or download the file.

This approach ensures your file reaches the recipient without worrying about attachment size limits!

Understanding Power BI Import Query and Direct Query

Introduction: Power BI is a powerful tool that helps businesses analyze data and make informed decisions. To better understand how it works, let’s take SQL Server as an example. When working with SQL Server as a data source in Power BI, you have two main options for connecting to your data: Import Mode and Direct Query. Choosing the right option depends on your specific needs. In this blog, we’ll break down these two modes, explain their features, and help you decide when to use each one. Once you’re comfortable with the connection mode, you can explore other dynamic features like splitting column values for slicers in Power BI to enhance interactivity in your reports.

 

IMG 01

 

What Is Import Query?

Import Mode in Power BI allows you to bring data from a source, like SQL Server, directly into Power BI’s memory. This imported data is saved in your Power BI file (.pbix) and doesn’t require constant connections to the source.

This mode is great for:

  • Performance: It provides fast query response times because everything is stored in memory.
  • Flexibility: You can create advanced calculations, relationships, and data transformations without relying on the source.
  • Small to Medium Data: Works best with smaller datasets that don’t need frequent updates.

When using Import Mode, Power BI takes a snapshot of your data at a specific time. You can then interact with and filter this compressed data without affecting the source. It’s perfect for reports needing complex models or quick responses to user actions.

Key Features of Import Query

  • High Performance: Data is preloaded into memory, enabling faster report rendering and interactions.
  • Offline Capabilities: Once data is imported, reports can be accessed even without a connection to the data source.
  • Enhanced DAX Support: Import Query supports advanced calculations and transformations using Data Analysis Expressions (DAX).
  • Multiple Data Sources: Using Import, you can combine data from various data sources (data flows, databases, CSV)
  • Complexity of Measures: Suitable for complex DAX Measures as all M and Dax Functions are accessible.

Disadvantages of Import Query

  • Limited to Data Size: Import mode struggles with very large datasets, as in-memory storage has limitations depending on your hardware and Power BI service tier.
  • Data Updates Are Not Real-Time: Data in Import mode is only updated when the dataset is refreshed, which means it may not reflect the latest changes in the source.
  • Refresh Limitations: Dataset refreshes are limited to 8 times per day on the Power BI Pro license (48 times with Premium), which can be a constraint for frequently changing data.
  • File Size Constraints: When you use Import Mode in Power BI, the data you bring in must fit within Power BI’s file size limits. The maximum file size for users with a Power BI Pro license is 1 GB. If you have a Power BI Premium license, you can work with larger files, but there are still size limits depending on your Premium capacity.

What Is a Direct Query?

Direct Query in Power BI allows you to connect directly to a data source (such as a SQL database) and retrieve data in real-time as users interact with the report. Unlike Import Query, where data is stored in Power BI, Direct Query leaves the data in the source, meaning the data is never stored or cached in Power BI. Power BI supports a wide range of data sources for Direct Query, including Azure SQL Database, Dataverse, Snowflake, SQL Server, Teradata Database, and many more. While using Direct Query, security becomes even more critical—check out our guide on Row-Level Security in Power BI to ensure role-based access is set up correctly across live data.

Here is how it works:

  • Real-Time Data Access: Always fetches the most up-to-date data.
  • No Data Size Constraints: Suitable for very large datasets that may exceed Power BI’s in-memory storage limits.
  • Centralized Security:  With Direct Query, the data stays in the source system, meaning it follows the security rules and access controls set by that system. This ensures that sensitive information is protected according to the security measures already in place in the data source, rather than relying on Power BI for security.

In simple terms, with Direct Query, Power BI queries the data source every time an interaction or filter is applied in the report, ensuring you’re always working with live data without manually refreshing anything.

Key Features of Direct Query

  • Real-Time Data: With Direct Query, the data in your report is always up to date. You can combine it with modern UX elements like Power BI’s new text slicer to give users an intuitive way to filter and analyze data as it updates.
  • No Data Storage in Power BI: Since no data is imported into Power BI, there’s no need for manual refreshes, and the data is always current.
  • Large or Frequently Updated Datasets: Direct Query is useful for very large datasets or when the data changes frequently, as it queries the source every time a report is run.
  • Cross-Source Data Models: You can create data models that pull data from multiple tables or even multiple data sources, enabling more flexible and real-time analysis.

Disadvantages of Direct Query

  • Slow Performance: Complex queries can slow down reports, especially with large datasets.
  • Limited Modelling: Fewer options for transforming or calculating data compared to Import mode.
  • Depends on Source: Relies on the performance and availability of the data source.
  • Limited Query Types: Some data sources or types of queries may not be supported by Direct Query. For example, complex SQL queries or specific advanced data operations may not work well or be supported in Direct Query mode, depending on the source system and its capabilities.
  • Connectivity Issues: Direct Query requires a constant and stable connection to the data source. If there are any network issues, or if the connection is slow or unavailable, it will directly affect the performance and usability of your reports. This can cause delays, errors, or incomplete data being displayed in your Power BI reports.
FeatureImport QueryDirect Query
Data StorageStored in Power BI’s memoryStored in the source system
PerformanceFast report loading and interactionsSlower due to real-time queries
Data FreshnessRequires manual or scheduled refreshesAlways up-to-date
Data Size LimitationsLimited by Power BI capacity (1 GB compressed per dataset for Pro license)No size constraints but depends on the performance of the source
Advanced CalculationsFully supported with DAX and transformations in Power QueryLimited support: some transformations may not work
Connection DependencyNot required after importContinuous connection required
Query ComplexitySupports complex queries and aggregations in Power BIRelies on the source system’s query capability
Source System LoadMinimal load after data is importedHigh load due to real-time queries
Offline AccessFully accessible offlineNot accessible without an active connection
ScalabilityLimited to Power BI’s in-memory capacityScales with source system capacity
Real-Time DataRequires frequent imports to simulate real-timeIdeal for real-time scenarios
Setup ComplexityEasier to set up and manageRequires careful design for performance optimization
Data SecurityRequires data to be imported into Power BI’s service or fileData remains in the source system, providing additional security in some scenarios
Supported Data SourcesMost data sources supported for importLimited to those with Direct Query capabilities
Cost ImplicationsMay require more storage and higher-tier licensing for large datasetsDepends on the performance and licensing of the data source
Data TransformationPower Query allows extensive data shaping and transformationLimited transformation; mostly in the source system
CachingFully cached in-memory dataNo caching: queries executed each time

Conclusion

Choosing between Import Query and Direct Query in Power BI depends on your specific needs. Use Import Query for smaller datasets, faster performance, and advanced modelling, particularly when offline access is required. Choose Direct Query for large datasets or when real-time data is essential. Both modes offer unique advantages, so evaluate your performance, data size, and refresh requirements to determine the best option for your scenario. And if you’re unsure how to architect it right for scale, our Power BI consultants can help you set up the optimal data model and deployment strategy for your business case.

Transform Your Power BI Reports with the New Text Slicer!

Introduction to New Text Slicer feature 

What If You Could Filter Your Data in Seconds? 

You’re looking at a huge dataset in Power BI, thousands of rows, countless columns. You need to find something specific, like a product name or product ID, but scrolling through endless dropdowns is time-consuming and frustrating. 

Here’s the Solution: The Text Slicer! 

Forget the dropdowns. Now, you can simply type what you’re searching for, hit Enter, and your visuals instantly update to show exactly what you need. It works even better when paired with other slicer techniques like splitting column values for dynamic slicers to give users layered filtering flexibility.

No more wasted time. No more frustration. Just seamless, lightning-fast filtering that puts you in control.  With the Text Slicer, exploring your data has never been easier—or faster! 

Text Slicer – Enable and Use with Power BI

Enable Text Slicer in Power BI Desktop 

  • Open Power BI Desktop and go to the File menu and click on Options and Settings, then select Options. If you’re using Import or Direct Query modes in Power BI, the slicer’s performance may vary slightly, so choose your connection mode based on report size and frequency of data updates.

    1

  • Under the Preview Features section, enable the checkbox for the Text Slicer Visual, click OK, and restart Power BI Desktop. 

Note:

The Text Slicer feature is currently in Preview Mode in Power BI Desktop! This means it’s not available globally.  

02 3

 

Add the Text Slicer to Your Report 

  • Open your Power BI report and ensure your dataset is loaded. In the Visualizations pane, locate and select the Text Slicer. The slicer will appear on your report page.03 3


Configure the Text Slicer
 

  • Add a column or field from the Data pane to the Field property of the Text Slicer.
    Example: Add the “Product Name” field for filtering product data.
     

    04 3 1

  • Use the slicer’s text box to type search terms, and click the arrow () to apply the filter. 

    05 3



Customize the Text Slicer
 

  • First, select the visual, then go to the Visualization section. Next, select the Format Visual section and modify properties like font size, style for the text box, and more.”06 3

 

Conclusion

The Text Slicer offers an innovative approach to filtering data in Power BI, making the process faster and more intuitive. It’s also a great enhancement when paired with Row-Level Security to ensure users can only search within data relevant to their access rights. For organizations looking to build interactive, secure, and high-performance dashboards, our Power BI experts can help integrate features like Text Slicer seamlessly into enterprise-grade reporting systems. Its ability to customize and adapt to user needs enhances both the functionality and design of reports. By incorporating this tool, users can achieve more efficient data exploration and create interactive, user-friendly visualizations. 

Real-Time Data Updates in Power BI

Imagine this: you’re in a pivotal meeting, ready to make a key decision for your company. Excitement fills the room as you prepare to review the Power BI report, but suddenly, the dashboard lags—displaying outdated data.

Two common methods exist for updating Power BI data:

  1. Manual Refresh: Data updates occur via backend processes requiring manual intervention.
  2. Real-Time Integration: Data flows automatically into reports as soon as it is updated.

With Power Apps integration, the second method becomes a reality. By linking Power Apps with Power BI, you can ensure reports update dynamically, enabling real-time insights for smarter decision-making without delays.

This blog explores how to achieve seamless real-time updates in Power BI by leveraging Power Apps.

Real-Time Data Updates: A Practical Example

Picture this: as sales figures or inventory data updates in Power Apps, the corresponding Power BI reports instantly refresh—keeping decision-makers informed with the most current insights.

Here is the visual representation of Power BI and Power Apps integration:

IMG 01 GIF

 

Summary

In this blog, we will dive deep into how you can leverage Power Apps to push data updates directly to Power BI, ensuring that your report is always showing the most current and accurate information available. Let’s get started with a step-by-step guide to setting up real-time data updates between Power Apps and Power BI.

Steps to Integrate Power Apps Visual with Power BI

Prepare Data Source

Power BI and Power Apps support multiple data sources such as SharePoint, Dataverse, and SQL databases.

Ensure that your data sources support Direct Query. For example:

  • For SQL databases, enable the correct table and configure permissions.

IMG 02

 

Create a Power BI Report

  • Go to Power BI Desktop, click on the blank report, and create a new report.
  • Choose SQL as the data source, connect to your server, and select “Direct Query” as the connectivity mode. Add your table to the report.

Why Use Direct Query?

Direct Query ensures real-time updates by querying the data source directly. This keeps your report constantly up to date, without the need for manual refreshes. Unlike the Import method or Direct Query, which have clear pros and cons, Direct Query eliminates data duplication and always reflects the latest information—ideal for live dashboards.

IMG 03

 

Add Visual to Power BI Report

After setting up Direct Query, select the visual (e.g., matrix visual) where you want to display the data. Add the relevant columns and publish your report to the workspace.

IMG 04

 

Power Apps Integration

To integrate with Power Apps, use the web version of Power BI, as the desktop version has limitations in this area. You can test the integration locally in the desktop version, but to fully interact with Power Apps, you need the Power BI Service.

  • Go to Power BI Web (“ https://app.powerbi.com/”) and navigate to your workspace.
  • Open the report, click on “Edit,” and add the Power Apps visual. Select the columns you want to display and click “Create New.”IMG 05
  • After creating the Power Apps, you can see both the Power Apps visual and the Power BI report visual like this.IMG 06

Add PowerBIIntegration.Refresh() Formula

In the newly created Power App:

  • Design the app to allow data submission, updates, or deletions.
  • In your new Power App, where the data submission, update, or deletion occurs, add the following formula: PowerBIIntegration.Refresh(). For even more advanced use cases—such as filtering based on user inputs—you can combine this with custom visuals like Text Slicer or even explore dynamic slicers with split column values.
  • e.g. Use the PowerBIIntegration.Refresh() formula in the submit button’s OnSelect property to trigger real-time updates.IMG 08
    IMG 07

Note: This formula only works with newly created apps it will not work with existing ones. This formula ensures that after any data is entered, updated, or deleted in Power Apps, the Power BI visual will refresh automatically to display the most current data.

How It Works:
When data is submitted, updated, or deleted in Power Apps visual, the PowerBIIntegration.Refresh() formula triggers a refresh in Power BI. This ensures that the Power BI report instantly reflects the latest data, removing the need for manual refresh.

Conclusion

Real-time data integration between Power Apps and Power BI transforms the way businesses operate. Whether you’re building secure, role-specific dashboards with Row-Level Security or enabling real-time filtering, this setup empowers teams to act fast. If you’re looking to scale this across your org, our Power BI services team can help you plan, implement, and optimize it from end to end.

 

Row-Level Security in Power BI

Knock, knock! Who’s there? Data security!

In today’s data-driven landscape, safeguarding access to sensitive information is not just important—it’s essential. As organizations increasingly rely on tools like Power BI for data analysis and decision-making, ensuring data confidentiality and compliance becomes paramount. If you’re new to how Power BI pulls in data, start by exploring the difference between Import Query and Direct Query in Power BI to ensure your data source architecture supports secure role-based access. Enter Row-Level Security (RLS)—a feature designed to restrict data visibility based on user roles.

With RLS, you can centralize reporting while ensuring that each user only sees the data relevant to their responsibilities. Combined with smart filtering techniques like splitting column values for dynamic slicers, you can create more granular and intuitive reporting experiences. This improves data privacy, supports compliance, and simplifies management, all while delivering tailored insights to users.

Why Use Row-Level Security?

The primary benefits of RLS in Power BI include:

  • Enhanced Data Privacy: Protect sensitive information by ensuring users access only authorized data.
  • Compliance: Meet regulatory requirements for data segregation and confidentiality.
  • Improved Decision-Making: Allow users to make decisions based on relevant and role-specific data.

Configuring Row-Level Security in Power BI

Importing and Preparing Data:

  • Open Power BI Desktop.
  • Select Get Data to import your dataset and load it into the report. If you’re not sure how your connection method will impact performance and security, revisit our guide on Import vs. Direct Query.

01 1

Managing Roles:

Navigate to the Modelling section and select Manage roles.

Creating a New Role:

  • Select New to create a role
  • Choose the table for which you want to set up restrictions.
  • Define your filtering logic:
    • Use basic conditions to filter rows (e.g., Region = “Europe”).
    • Switch to the DAX Editor for advanced, dynamic filtering.

02 2 1

Example:

  • Europe Role: Filter data where the region equals “Europe”.04 2
  • North America Role: Filter data where the region equals “North America”.05 2

Testing Your Role:

  • Use the View as option to simulate the report for specific roles. This is also the right time to test how visuals like the Power BI text slicer behave under role-based filtering, ensuring consistency across personalized user views.
  • Select a role and click OK to see the restricted view.
  • To revert, click Stop Viewing to return to the unrestricted view.

07 1

Result: The view will appear as configured with Row-Level Security (RLS), showing only the data the user is permitted to access based on their role.

Note: After clicking on “Stop Viewing” the data should revert to the normal view, displaying all accessible data without the role-based restrictions.

08 1 1

Saving and Publishing:

Save your report and publish it to your Power BI workspace.

09 1

Applying Security Settings in Power BI Service:

  1. Open Power BI Workspace at app.powerbi.com and select your workspace.10
  2. Navigate to your dataset and click on three dots. Go to security option.11
  3. Select Role-Level Security role, Enter the user’s email address, click the Add button, and save the changes. Now, the user will only see the rows that you want them to see.

Example Role Assignments:

  • Europe Role: Assign specific user permissions so that only the designated user can see data filtered for Europe. This role has permission assigned to one user, as shown in the image.12
  • North America Role: Similarly, assign specific user permissions for a designated user to view only data filtered for North America. This role has permission assigned to two users, as shown in the image.13

Note
For Power BI, if a user has either member or admin permissions, they can see all data. Therefore, manage permissions accordingly, especially when using Row-Level Security (RLS).

Conclusion

Row-Level Security (RLS) in Power BI is crucial for protecting sensitive data by ensuring users access only the information relevant to their roles. If you’re planning to scale or implement this across your organization, our Power BI consulting services can help you configure role-based access, optimize performance, and build secure, enterprise-grade reports.  Using the Security Editor in Power BI Desktop, you can define and manage RLS roles to enhance data privacy and compliance. This guide will help you implement RLS in your reports, providing secure and tailored data access for all users.

How to implement Cascading Drop Downs in Model-Driven Apps

Introduction:

When dealing with applications that manage large amounts of data, filling out forms with numerous fields and options can often be overwhelming for users. Cascading dropdowns in Model-Driven Apps offer an effective way to simplify this process. They allow users to select options in a specific order, with each choice narrowing down the available options for the next step. This not only makes data entry more efficient but also reduces the likelihood of errors by showing only the most relevant choices. By leveraging relationships between Dataverse tables, users are presented with options tailored to their previous selections. In this guide, we will walk you through the steps to set up cascading dropdowns in Model-Driven Apps.

Scenario:

Consider a scenario where you are building a student registration form, and users need to select their country, state, and city. When a user picks a country, only the states for that country should be shown. Then, once a state is chosen, the city dropdown should only display cities within that state. This approach reduces confusion and ensures users only see options that are relevant to their previous choices, making the process more streamlined and easier to follow.

 

01 2

 

To begin, you need to create the necessary Dataverse tables. Start by creating a Country table with a Country Name column of the Single Line of Text type. Populate this table with country names, such as the USA, Canada, and the UK.

 

03 1

 

Afterward, create another table called State, which should include two columns: a Country column (a lookup column pointing to the Country table) and a State Name column (a single line of text that contains the name of the state based on the selected country). Once you have set up the State table, input state data corresponding to each country (e.g., California for the USA, Ontario for Canada).

 

04 1

 

Next, create a City table. This table will have three columns: Country (lookup to the Country table), State (lookup to the State table), and City Name (a single line of text that contains the name of the city based on the selected state). Populate this table with cities associated with their respective states and countries (e.g., Los Angeles for California, Toronto for Ontario). Now, you have a structure in place where the relationships between Country, State, and City are ready for cascading functionality.

 

05 1

 

With the foundational tables set, it’s time to create the Main Table, where users will input their details. In this table, include fields for First Name, Last Name, Address, and Phone Number as Single Line of Text columns. Then, add lookup columns for Country, State, and City, each referencing their corresponding Dataverse tables.

 

06 1

 

To enable the cascading effect, you need to establish relationships between the Main Table and the Country, State, and City tables. To do this, navigate to the Main Table, select the Relationships section, and create Many-to-One relationships with the Country, State, and City tables. This will link the Main Table to the Country, State, and City tables, forming the basis for the dynamic filtering.

 

07

 

08

 

Once the relationships are set, go to the Main Form where users will input data. Select the State field, and in the properties pane on the right, configure the Filtering option. Set the State field to be filtered based on the selected Country and relationship. Repeat this process for the city field, ensuring that it filters based on the selected State. After configuring the filtering for the fields, save your changes and publish the app.

 

09

 

Now, when users fill out the form, selecting a country will automatically filter the options available for states, and selecting a state will filter the cities accordingly. This cascading functionality creates a seamless user experience by ensuring that each field displays only the relevant options based on prior selections.

 

FinalGIF 4

 

Conclusion:

Cascading dropdowns in Model-Driven Apps make data entry easier by presenting relevant options based on previous choices, minimizing errors. This leads to more accurate data and smoother processes. Using Dataverse relationships improves the overall user experience and efficiency.

 

 

Concatenation multiple columns using formula type column in Microsoft Dataverse

Information: A dynamic header allows important information to be displayed at the top, making it easier for users to view key details without navigating through different sections of the form.

Scenario: Let’s say you’re working on a Student Details form with multiple tabs. Each tab contains information such as Personal Details, Enrollment, Courses, and Grades. Instead of making users click through different tabs to access basic information, you can create a dynamic header that displays the student’s full name and course, visible at all times, enhancing the user experience.

 

01

 

Here are the steps to create a dynamic header for the modern-driven app:

Step 1: Go to Power Apps and navigate to the table used in the application. Create the columns you want to display in the application header in the column section.

Step 2: To display the student’s full name (combining the first and last names) in the header, a new column named “Full Name” was created, with the data type set to Formula. The Concatenate function was used in the formula to combine the first and last names: Concatenate (‘First Name’, ” “, ‘Last Name’).

 

02

 

Step 3: After creating the ‘Full Name’ column, drag and drop it into the header section of the app, then save and publish the form.

 

03

 

Step 4: Once the details are submitted, the full name will be displayed in the header section.

 

04

 

Step 5: To display another field in the header section, create a new column with the data type set to “Calculated.” In the formula, simply add the column name of the data you want to display in the header.

 

05

 

 

Step 6: After adding the details to that column, the data will be displayed in the header.

 

06

 

Conclusion: By leveraging formula columns and dynamic headers, users can access important information at a glance, enhancing both navigation and usability. This approach is particularly effective in forms with multiple sections or tabs, ensuring that key details remain visible without the need to switch between different parts of the form.

 

Break Down Language Barriers: Translate Documents in SharePoint using SharePoint Premium

How might content translation be useful for your organization? If you work across regions, being able to quickly translate content enables better multilingual collaboration and communication. If your business has a global reach, localizing business content for your customers optimizes user experiences. Finally, if you are in a regulated industry or need to comply with local or national laws, automated translation at high scale helps ensure documentation is available in required languages.

With business transactions and collaboration increasingly global, SharePoint Premium now enables documents to be translated directly from a document library into another language. The original file is duplicated, and all formatting and structure are preserved during the translation. This feature is incredibly useful for organizations that receive content in multiple languages—eliminating the need for external translation services or copying/pasting content into an online translator.

Before jumping in, it’s essential to ensure you’re following SharePoint security best practices to protect your multilingual content and manage permissions efficiently. For organizations planning broader SharePoint adoption, you can also explore how to migrate your file share to SharePoint Online seamlessly. And if you’re looking to maximize ROI across collaboration efforts, don’t miss the top features and benefits of SharePoint Online for teamwork.

This is currently only available in your organisation if SharePoint Premium (Syntax) pay as you go is configured in your tenant & linked to an Azure subscription. In the M365 Syntex admin centre ensure your Azure subscription is setup.

Enabling Document Translation in your Tenant

Before we begin, ensure you have a Syntex Pay As You Go subscription set up and linked to an Azure subscription. You can manage this in the M365 Admin Center through the Syntex Admin Center

Here’s how to enable Document Translation:

Access the M365 Syntex Admin Center:  Navigate to the M365 Admin Center and locate the Syntex Admin Center. (The specific location may vary depending on your interface).

 

IMG 1

 

Verify Azure Subscription:  Within the Syntex Admin Center, make sure your Azure subscription is properly set up. Select the “Manage Microsoft Syntex” and then after select the “Use content AI with Microsoft Syntex.”

 

IMG 2

 

IMG 3

 

Enable Document Translation:  Select “Document Translation” service and turn on the status. Choose Specific SharePoint site to where you want to enable the “Document Translation” service.

 

IMG 4

 

IMG 5

 

SharePoint Premium Document Translation – On-Demand Translation

Go to a SharePoint Document library in one of the sites enabled for Document Translation. As mentioned previously there is no additional configuration required in the library to enable it for Document Translation other than the site being enabled for Document Translation

Now select the document or documents (multiple) in the document library. Then select from either the document library menu or the file menu (see two options below)

 

IMG 6

 

 

IMG 7.1

 

Select the “Translate” option.

 

IMG 8

 

A Translate documents pop out then occurs, asking you to enter a language to translate the document into. Click on the text box to enter a language.

 

IMG 9

 

Five popular languages will appear (English, French, German, Japanese and Spanish) in a drop down.

 

IMG 10

 

Document Translation supported 133 languages, which is the same as the Azure Translation Service. You can type in the language short code i.e. fr to translate documents into French. My document is in English, so I want to translate it to French (fr).

Once selected or typed in the language will be displayed in the text box – then press the Translate button.

 

IMG 11

 

A confirmation appears to show the document has then been submitted successfully for translation.

 

IMG 12

 

After some time, copied and translated documents were added into the library. It has the same title as the original document, but the country code of the language used to translate i.e. fr for French has been appended to the filename I.e. TradeConfirmation114400_fr.docx

 

SharePoint Premium Document Translation – Document Library Rules

Documents when added to a document library can also be auto translated either when column in a document library change using SharePoint Document Library rules.

Here we will show how the Document Library rules can be configured. Browse to the Document Library then click on the Automate menu on the Document Library top bar then click on Rules, then Create a rule.

 

IMG 13

 

Configure a rule to trigger when “A new file is added.”. Within this rule, select the action “Create a translated copy in.”. Specify the language you want the file translated into. Click “Create Rule” to activate the automation.

There are two rule options that will work with translating documents “When a new file is added” & “Data in a column changes”. We are going to focus on when “A new file is added”.

 

IMG 14

 

IMG 15

 

The Manage rules page is then displayed confirming the created rule.

 

IMG 16

 

I will now upload the document “Invoices1” into the library. Shortly after the translation rule is automatically triggered and the document is auto translated into French “Invoices1_fr.”

 

IMG 17

 

Here’s the original English document and its French translation.

 

IMG 18

 

IMG 19

 

Summary

Document Translation is an excellent addition to the SharePoint Premium suite, particularly for multi-geo companies and those that produce or receive documents in foreign languages.

This feature allows users with the permission to create documents in a library to translate documents directly from a SharePoint document library. Eliminating the need for copying and pasting content into online translation sites, sending content to external organisations, or relying on custom development.

How to Load 2000+ Records in Canvas PowerApps from SharePoint List using collection

Summary:

Loading large datasets into Canvas PowerApps from a SharePoint List can be challenging due to PowerApps’ delegation limits and performance constraints. In this blog post, we explore effective techniques to efficiently handle and load over 2000 records. We’ll discuss the importance of optimizing your SharePoint list and using collections to manage data. Our approach focuses on loading data using collections to enhance performance and ensure a smoother user experience.

Step1:

Create a SharePoint list and use the default ‘Title’ column to add data. Populate the list with approximately 5,000 records.

 

IMG00

 

 

Step2:

Create canvas PowerApps from app.powerapps.com.

 

IMG01 1

 

Step3:

Add the SharePoint List as data source ‘Records List’.

 

IMG02 2

 

Step4:

Add a ‘Vertical Gallery’ and insert two labels. Set the data source to SharePoint List. Set the values to ThisItem.Title and ThisItem.ID. Rename the headers in the gallery to ‘Title’ and ‘Index’.

 

IMG03 2

 

Step5:

Add a label to display the number of records loaded in the app.

Code:

“Total Number of Records: ” & CountRows(Gallery1.AllItems)

 

IMG04 1

 

Step6:

Create an additional screen to handle redirection, set the collection, and load data into it. This logic can be implemented in various places within the app, such as the App.OnStart event, a Button click event, or the Screen Visible property. In this case, we will write the logic in the Screen Visible property so that it executes automatically during screen transitions.

  • Currently, we have approximately 5000 records in our SharePoint list, and the PowerApps “Data row limit” is set to 2000 records. Therefore, the total number of records in the SharePoint list (5000) divided by the data row limit (2000) equals approximately 2.5, which rounds up to 3. Based on this, our logic involves looping through 3 iterations to insert records into the “colRecords” collection.

Code: Clear(colRecords);ForAll(Sequence(Round(First(Sort(‘Records List’,Index,SortOrder.Descending)).Index/2000,0),1,1),With({_firstID:(ThisRecord.Value-1)*2000,_lastID:ThisRecord.Value*2000},Collect(colRecords,Filter(‘Records List’,Index>_firstID&&Index<=_lastID))))

 

IMG05 1

 

Step7:

Change the data source name in the Gallery “Items” property to the collection name “colRecords”.

 

IMG06 1

 

Step8:

Now, switch from Screen1 to Screen2 and check the “Total Number of Records” display; it should show a total of 5000 records.

 

IMG07 1

 

Step9:

Now you can use the items from this collection throughout the application.

 

IMG08 1

 

Conclusion:

In conclusion, efficiently loading over 2000 records in Canvas PowerApps from a SharePoint List requires a strategic approach. By optimizing the SharePoint list and leveraging collections, you can work within PowerApps’ delegation limits while ensuring a smoother user experience. The outlined steps, from setting up the canvas and gallery to implementing mathematical logic for data retrieval, enable you to manage large datasets effectively. By breaking down the data into manageable chunks and utilizing collections, you enhance performance and responsiveness, ultimately delivering a more efficient application for users.

Offline capability in Canvas PowerApps

Summary:

  • In today’s digital landscape, the demand for offline-capable applications is skyrocketing. With the prevalence of mobile devices and the need for seamless user experiences, mastering the art of developing offline-capable Canvas PowerApps for both Windows and mobile platforms is crucial for staying ahead in the game.

Leveraging Canvas PowerApps for Offline Functionality

  • Canvas PowerApps, with their flexibility and versatility, provide the perfect platform for building offline-capable applications. By leveraging features like local data storage and offline data synchronization, developers can create robust solutions that deliver a seamless user experience regardless of network availability.

Creating Application

  1. Open the Browser and pate the URL: https://make.powerapps.com/.
  2. Click “Apps” in the left panel.
  3. Click on the “New app”.

    Img 01 2

  4. Choose the Blank Canvas app and enter the app’s name as it appears in the image below:

    Img 02 2

  5. Once the app is created. Connect to the SharePoint list as data source as we will store the data in SharePoint list. In this example we will utilize the Events list with columns mentioned in below Power Apps UI. Now, create the similar UI in Power Apps.

    Img 03 2

  6. If data submission without form control is required, utilize the Patch function to update records effectively.
  7. Prior to integrating the Patch function, establish a connection to the SharePoint list as the data source, ensuring it is properly configured.
  8. Navigate to the data Source icon, search for the SharePoint connector, and designate the site where your list is configured.

    Img 04 2

  9. After successfully establishing the connection to the data source, it will appear on the left side of the interface. Next, incorporate the Patch function into the button’s “on Select” event, as illustrated in the image below.

    Img 05 2

  10. Since the Patch function may have limitations, it works only when the network connection is available, consider utilizing Power Apps Collection functionality to store data temporarily. This enables efficient management and manipulation of data within the application.
  11. Power Apps offers a useful function called Connection. Leveraging this function, we have implemented logic: if the connection is available, we utilize the Patch function; otherwise, we store the data in a collection and save the file locally on the device.
  12. In Power Apps, to verify the availability of the connection, incorporate an if condition to check if the connection is accessible, as demonstrated in the image below.

    Img 06 2

    Code:

    If (

    Connection.Connected,

    Patch (

    ‘Offline Event  Register List’,

    Defaults(‘Offline Event  Register List’),

    {

    Name: Txtinput_Name.Text,

    ‘Team Name’: txt_TeamName.Text,

    Email: txt_Email.Text,

    Phone: Value(txt_Phone.Text),

    ‘Total Seats’: Value(txt_totalseats.Text)

    }

    );

    Notify (“The Event has been Submitted successfully…”);

    Navigate (

    SuccessScreen,

    ScreenTransition.Cover

    ),

    Collect (

    colofflineeventregisterlist,

    {

    Name: Txtinput_Name.Text,

    ‘Team Name’: txt_TeamName.Text,

    Email: txt_Email.Text,

    Phone: Value(txt_Phone.Text),

    ‘Total Seats’: Value(txt_totalseats.Text)

    }

    );

    SaveData (

    colofflineeventregisterlist,

    “Eventregisterdata”

    );

    Notify (“The Event has been Submitted successfully.”),

    Navigate (

    SuccessScreen,

    ScreenTransition.Cover

    )

    )

  13. Now, let us incorporate a new Scrollable Screen and integrate a Gallery into the DataCard, as shown in the image below.

    Img 07 2

  14. Certainly! You can integrate the same code into the “OnVisible” property of the home screen to check the network connectivity status and adjust the functionality accordingly. Here is how you can do it:

    Img 08 2

    Code:

    If (

    //——————————-Online Code————–

    Connection.Connected,

    ClearCollect ( colofflineeventregisterlist,

    ‘Offline Event  Register List’

    );

    SaveData (

    colofflineeventregisterlist,

    “Eventregisterdata”

    ),

    //——————————Offline Code———–

    Clear(colofflineeventregisterlist);

    LoadData (

    colofflineeventregisterlist,

    “Eventregisterdata”

    )

    )

  15. It sounds like you are encountering an error message stating, “There was a problem saving your data. Data cannot be saved when running in a web browser.” This message typically occurs when attempting to save data locally in a web browser environment, which is restricted due to security reasons.
  16. However, if your app is functioning correctly despite this message, you can safely ignore it. Power Apps sometimes display this message even when data saving is not the main concern or when it is working as intended. Just ensure that your app’s functionality is not affected, and users can continue using it without any issues. If needed, you can provide a brief explanation to users about this message to alleviate any concerns.
  17. When the app detects that it is in offline mode, users can be informed that their data is being saved locally. When the app goes online, users can click on the Sync icon to synchronize all locally saved items with the SharePoint list. Here is a general approach:

    Img 09 2

  18. To change the color of the Circle icon based on the network status (online or offline), you can adjust its fill property dynamically in Power Apps. Here is how you can implement this:
    • Define Online and Offline Colors: Define the colors you want to use for representing online (green) and offline (gray) statuses.
    • Update Circle Icon Fill Property: Update the fill property of the Circle icon based on the network status. You can use the If function to conditionally set the fill color.

      Here is a sample code snippet:
      Fill: If (Connection.Connected,RGBA(152,208,70,1),RGBA(149,149,149,1))

      Img 10 1

      Img 11 1

  19. Now that the app is configured to function offline, you can proceed to install the Power App on your preferred device, whether it is a mobile device or a Windows device.
  20. After installing the Power Apps application, ensure that you use the correct email address with which the app was shared. This ensures seamless access to the app and its functionalities tailored to your account.
  21. If you have added new entries to the app while offline, those entries will be stored locally but will not be immediately added to the SharePoint list since the app is offline. However, once the app reconnects to the network, you can implement a synchronization mechanism to upload the locally stored entries to the SharePoint list.

    Here is a general approach to achieve this:

    • Local Storage: When the app is offline and new entries are added, they should be stored locally using mechanisms like Power Apps Collections or SaveData function.
    • Sync Functionality: Implement a Sync button or mechanism that checks for network connectivity. When the app comes online, this mechanism should synchronize the locally stored entries with the SharePoint list using functions like Patch or Collect.

      Img 12 1

    • Here is a SharePoint List snapshot as shown in the below image.

      Img 13 1

  22. Now We are Connected the app with Network then it is shown the screen as show into the below image.

    Img 14

  23. Now the We click on the Sync Button and check the again the data is insert into our SharePoint list or not.
  24. After clicking on the Sync button, you will want to verify whether the data has been successfully inserted into your SharePoint list. Here is how you can do it:
    • Sync Button Functionality: Ensure that the Sync button triggers the synchronization process, where locally stored data is uploaded to the SharePoint list.
    • Notification or Confirmation: Provide a notification or confirmation message to indicate that the synchronization process has been initiated.
    • Check SharePoint List: After the synchronization process is complete, manually check your SharePoint list to confirm whether the new data entries have been inserted successfully.

      Img 15

Newsletters