Latest Microsoft Dynamics 365 Blogs | CloudFronts - Page 80

How to solve “The Locale ID 9 is not installed on this system” error in SSIS

Scenario : We are building a SSIS Package but receiving the “The Locale ID 9 is not installed on this system” error.  We are using the SQL server 2017 Enterprise Edition and Visual Studio 2015 Community Edition with SSDT 2015 Edition. Solution : Step 1: Go to the Project Properties as shown below. Step 2: In the Configuration Properties check if the Target SQL version is set to correct version. Step 3: If still not working set the SQL Server to a lower version than your current version.

Share Story :

Auto scale the Power BI Embedded capacity using Job Scheduler in Azure

Power BI Embedded is a Microsoft Azure service that is useful for the ISVs and developers to embed visuals, reports and even dashboard into the application. As Power BI Embedded is a PaaS analytics solution which provide Azure based capacity, Power BI embedded charge customers on an hourly basis there are n annual commitment for the Power BI Embedded service. As Power BI Embedded charges on hourly basis and there is no direct Auto Scaling feature available on Azure but, we do have API provided by using which we can scale the capacity. In this blog we are going to see how scale the Power BI Embedded capacity using PowerShell script. Before going to start we’ll first quick list the set up the prerequisites: You will need an Azure account, if you are implementing the PowerShell script for your organisation then you must have co-administrator role assign kindly keep in mind that if you have contributor role assign then you’ll not be able to make Automation account.(we’ll see about the Automation account in the later part of this blog.) Power BI Embedded subscription. Automation Account. I’m assuming you already have Azure account along with the subscription for the Power BI Embedded. Steps:- Create Automation Account:- Automation account is use to manage the Azure resource across all the subscription for the given tenant. To create Automation click on the create resource in your Azure portal as shown below and search for Automation account. Or you can type in search box Automation Account. 2. Click on create Automation Account and make sure to fill the following details. If you have multiple subscription then make sure to select proper subscription from drop-down. Make sure create Azure Run As account is selected to Yes (if you are co-administrator or administrator then it will by default selected to Yes). Once we create Azure automation account it will show under automation account. 3. Open the Automation account and go to the Connections and add below connection and types as shown below (Click on Add a connection and type the name and type as shown below) 4. For the AzureClassicRunAsConnection set the CertificateAssetName to AzureRunAsCertificate. 5. Add the Power BI Embedded subscription to your resource group. 6. Once we have Automation account ready go to the Runbooks under Process Automation in Automation Account. Runbook is useful for the routine procedures and operations. We can also use Azure Function app instead of Runbook. 7. Click on the Create a runbook and use fill following details. 8. Once we open runbook make sure to import the Module AzureRM.PowerBIEmbedded which can be installed by going to Module under Shared Resources then click on Browse gallery and search for the AzureRM.PowerBIEmbedded module. 9. Use the below PowerShell script which can also be found on the Power BI discussion site. $resourceGroupName = “<your resource group>” $instanceName = “<Power BI embedded instance name>” $azureProfilePath = “” $azureRunAsConnectionName = “AzureRunAsConnection” #”PowerBIAutoscale” $configStr = “ [ { Name: “”Weekday Heavy Load Hours”” ,WeekDays:[1,2,3,4,5] ,StartTime: “”06:45:00″” ,StopTime: “”23:45:00″” ,Sku: “”A4″” } , { Name: “”Early AM Hours”” ,WeekDays:[0,1,2,3,4,5,6] ,StartTime: “”00:00:00″” ,StopTime: “”04:44:00″” ,Sku: “”A1″” } , { Name: “”Model Refresh”” ,WeekDays:[0,1,2,3,4,5,6] ,StartTime: “”04:45:00″” ,StopTime: “”06:45:00″” ,Sku: “”A3″” } , { Name: “”Weekend Operational Hours”” ,WeekDays:[6,0] ,StartTime: “”06:45:00″” ,StopTime: “”18:00:00″” ,Sku: “”A3″” } ] “ $VerbosePreference = “Continue” $ErrorActionPreference = “Stop” Import-Module “AzureRM.PowerBIEmbedded” Write-Verbose “Logging in to Azure…” # Load the profile from local file if (-not [string]::IsNullOrEmpty($azureProfilePath)) { Import-AzureRmContext -Path $azureProfilePath | Out-Null } # Load the profile from Azure Automation RunAS connection elseif (-not [string]::IsNullOrEmpty($azureRunAsConnectionName)) { $runAsConnectionProfile = Get-AutomationConnection -Name $azureRunAsConnectionName Add-AzureRmAccount -ServicePrincipal -TenantId $runAsConnectionProfile.TenantId ` -ApplicationId $runAsConnectionProfile.ApplicationId -CertificateThumbprint $runAsConnectionProfile.CertificateThumbprint | Out-Null } # Interactive Login else { Add-AzureRmAccount | Out-Null } $fmt = “MM/dd/yyyy HH:mm:ss” # format string $culture = [Globalization.CultureInfo]::InvariantCulture $startTime = Get-Date Write-Verbose “Current Local Time: $($startTime)” $startTime = [System.TimeZoneInfo]::ConvertTimeBySystemTimeZoneId($startTime, [System.TimeZoneInfo]::Local.Id, ‘Eastern Standard Time’) Write-Verbose “Current Time EST: $($startTime)” $scheduleTimeMidnight = ($startTime).Date Write-Verbose “Schedule Time Base (Midnight): $($scheduleTimeMidnight)” $currentDayOfWeek = [Int]($scheduleTimeMidnight).DayOfWeek Write-Verbose “DOW: $($currentDayOfWeek)” $stateConfig = $configStr | ConvertFrom-Json #| Select-Object Sku, WeekDays, Name, StartTime, EndTime #, @{Name=”StartTime”; Expression={[DateTime]:Smiley TonguearseExact($_.StartTime, $fmt, $culture)}}, @{Name=”StopTime”; Expression={[DateTime]:Smiley TonguearseExact($_.StopTime, $fmt, $culture)}} Write-Verbose “Writing Config Objects…” foreach($x in $stateConfig) { Write-Verbose “Name: $($x.Name)” Write-Verbose “Weekdays: $($x.WeekDays -join ‘,’)” $x.StartTime = ($scheduleTimeMidnight).AddHours([int]$x.StartTime.Split(“{:}”)[0]).AddMinutes([int]$x.StartTime.Split(“{:}”)[1]).AddSeconds([int]$x.StartTime.Split(“{:}”)[2]) Write-Verbose “Start Time: $($x.StartTime)” $x.StopTime = ($scheduleTimeMidnight).AddHours([int]$x.StopTime.Split(“{:}”)[0]).AddMinutes([int]$x.StopTime.Split(“{:}”)[1]).AddSeconds([int]$x.StopTime.Split(“{:}”)[2]) Write-Verbose “End Time: $($x.StopTime)” } Write-Verbose “Getting current status…” # Get the server status $pbiService = Get-AzureRmPowerBIEmbeddedCapacity -ResourceGroupName $resourceGroupName switch ($pbiService.State) { “Scaling” { Write-Verbose “Service scaling operation in progress… Aborting.” end } “Succeeded” {Write-Verbose “Current Status: Running”} Default {Write-Verbose “Current Status: $($pbiService.State)”} } Write-Verbose “Current Capacity: $($pbiService.Sku)” # Find a match in the config $dayObjects = $stateConfig | Where-Object {$_.WeekDays -contains $currentDayOfWeek } # If no matching day then exit if($dayObjects -ne $null){ # Can’t treat several objects for same time-frame, if there’s more than one, pick first $matchingObject = $dayObjects | Where-Object { ($startTime -ge $_.StartTime) -and ($startTime -lt $_.StopTime) } | Select-Object -First 1 if($matchingObject -ne $null) { Write-Verbose “Current Config Object” Write-Verbose $matchingObject.Name Write-Verbose “Weekdays: $($matchingObject.WeekDays -join ‘,’)” Write-Verbose “SKU: $($matchingObject.Sku)” Write-Verbose “Start Time: $($matchingObject.StartTime)” Write-Verbose “End Time: $($matchingObject.StopTime)” # if Paused resume if($pbiService.State -eq “Paused”) { Write-Verbose “The service is Paused. Resuming the Instance” $pbiService = Resume-AzureRmPowerBIEmbeddedCapacity -Name $instanceName -ResourceGroupName $resourceGroupName -PassThru -Verbose } # Change the SKU if needed if($pbiService.Sku -ne $matchingObject.Sku) { Write-Verbose “Updating Capacity Tier from $($pbiService.Sku) to $($matchingObject.Sku)” Update-AzureRmPowerBIEmbeddedCapacity -Name $instanceName -sku $matchingObject.Sku } } else { Write-Verbose “No Interval Found. Checking current capacity tier.” if($pbiService.Sku -ne “A2”) { Write-Verbose “No Interval Found. Scaling to A2” Write-Verbose “Updating Capacity Tier from $($pbiService.Sku) to A2” Update-AzureRmPowerBIEmbeddedCapacity -Name $instanceName -sku $matchingObject.Sku } } } else { Write-Verbose “No Interval Found. Checking current capacity tier.” if($pbiService.Sku -ne “A2”) { Write-Verbose “No Interval Found. Scaling to A2” Write-Verbose “Updating Capacity Tier from $($pbiService.Sku) to A2” Update-AzureRmPowerBIEmbeddedCapacity -Name $instanceName -sku $matchingObject.Sku } } Write-Verbose “Done!” 10. Above script not includes Capacity pause, we can add that in the script. 11. Once we done with the script click on Save and the Publish the script. 12. Create the Schedule under the Shared Resources … Continue reading Auto scale the Power BI Embedded capacity using Job Scheduler in Azure

Share Story :

Multiple Ways to Share a Canvas App in PowerApps

Introduction :- This blog explains multiple options how to share a Canvas Apps in Power Apps. Steps :- Select App and click on Share option, below screenshot for reference   Options of Sharing Published App :- 1.  Specify each User by Name. Enter Username in sharing panel and click Share button App can be shared with other Users by checking the Checkbox for Co-owner.   2.  Specify that your entire Organization. Type Everyone in the sharing panel and select the option of Everyone of your organization. 3.  Specify a security group in Azure Active Directory. Select security group name in sharing panel Note :- You can’t share an app with a distribution group in your organization or with a group outside your organization. You can’t grant Co-owner permission to a security group if you created the app from within a solution. Tips :- Regardless of permissions, no two people can edit an app at the same time. If one person opens the app for editing, other people can run it but not edit it. Notify user for sharing app, select the Send an email invitation to new users check box.   Conclusion :- Hope above Blog helps you sharing designed Canvas App in Power Apps with Users as per business requirement.

Share Story :

Embedding Power BI reports into Webpages- Part 1

In this blog we are going to embed a Power BI report into webpage, to do so below are the steps, 1. Go to https://app.powerbi.com/ and create new report or we can publish already created report, in this case, we have one sample report, which contain three pages Page1: Team Scorecard Page2: Industry Margin Analysis Page3: Executive Scorecard 2. Open the report to be embedded and Go to File ->embed Upon clicking on Embed, we will get following popup, which contain link that can be used for embedding and HTML code. 3. Now we have to paste the html code into HTML page, we can edit the iframe height and width 4. Now open the HTML page in the web browser then we can see the Power BI Report, in this, we can apply the filter, when we load the HTML page then we need to sign in. In this way, we can embed Power BI reports into Webpages.

Share Story :

Embedding Power BI reports into Webpages- Part 2

In this blog we going to Set which page to open when the Power BI report is embedded We can do the customization in the embed code as per requirement for the page loading. We have to open the report and click on each page and note down the URL to get page name So report page names are, Team Scorecard: ReportSection2 Industry Margin Analysis: ReportSection Executive Scorecard: ReportSection1 2. We have to append the code &pageName=ReportPageTabName to the URL e.g. https://app.powerbi.com/reportEmbed?reportId=c772790a-7b9f-43fb-99eb-42f560e95cf6&autoAuth=true&ctid=26c4b2e4-ec07-4c7b-92e5-97f52865e98b&config=eyJjbHVzdGVyVXJsIjoiaHR0cHM6Ly93YWJpLXNvdXRoLWVhc3QtYXNpYS1yZWRpcmVjdC5hbmFseXNpcy53aW5kb3dzLm5ldCJ9&pageName=ReportSection 3. We can do change in the URL for all report pages, embed in the webpage,below is HTML and JavaScript code for doing customization 4. When we open this page in web browser it will look like, when we click on any button to load report it will be loaded or we can set the default report page to load when the webpage is opened. 5. When we click first button i.e. Team Scorecard first page of the report will load Similarly for other pages, In this way we can embed Power BI report in webpages and do customization.

Share Story :

How to map Azure File Share as a Network Drive?

In this article, we will see how we can map a Network Drive on our system to a file stored on the cloud using Azure File Share. Using Azure File Share is useful when you want to share files on multiple systems and all the data will be on the cloud. IT Considerations: You must have an Azure subscription for using Azure File Share. You must be a Global Administrator for Azure to perform these steps. You should have a Resource Group created on Azure. You will need to have an Azure subscription, if you trying it for the first time, you can also take a trial for a month. Azure Files offers fully managed file shares in the cloud using Server Message Block (SMB) protocol. The advantage of using File Share is that you can replace on-premise file shares with Azure file shares, begin able to share file systems across multiple systems. You do not have to deal with any kind of hardware. Step 1: Creating Storage Account on Azure: For using Azure File, you can use a storage account that is already created or else you can create a new one. Let’s see how to create a new Storage account below. Go to portal.azure.com. In the Search bar, search for Storage accounts. Click on “Add” and then provide all the required details. Choose Subscription. Select Resource Group, if you haven’t created it yet, create a new one. Under Instance details, provide Storage account name. This should be unique. Select your location. You can leave the other fields set to their default value. Choose Review + Create, to review the Storage Account settings and create the account. Once the Storage account is created, it will look like this. Step 2: After the Storage account is created, you will need to create a File Share. Go to the Storage account which you created, select File Shares. Click on “+File Share” to get started. Name the File Share and set a quota in GiB to limit the total size of the files on File Share. Click Create. Step 3: We had created a File Share in Step 2, now we will map the Azure File Share as a Network Drive on the system. To map Azure File Share as a Network Drive, you need the following information. The URL of your FIle Share – Open File Share > Properties. The Storage Account name and Storage Account key to allow access – Go to the Storage Account which you created > Access Keys. Open Windows Explorer > Click on This PC > Computer > Map Netwrok Drive. Select the Drive (Choosing Z:) then provide the File Share URL, which we got from Point 1. Please find the screenshot below. Once you click on Finish, a pop-up will open, which will ask for the credentials. You will find a Network Drive created in the system mapped with Azure File Share which we created. You can now save any file in your Network Drive, which will appear in the Azure File Share and on all the connected devices. You can also use Microsoft Azure Storage Explorer to upload, download and manage Azure blobs, File Shares and other storage entities. You can download the same from https://azure.microsoft.com/en-in/features/storage-explorer/ This is how you can utilize Azure File Share by mapping it to a Network Drive on your system to have shared access and being able to share a file system across multiple machines, no hardware to manage. You can go through the above 3 steps to easily create the same without having any difficulties.  

Share Story :

Correctly connect to an Excel file in a Canvas PowerApp

Now, just putting an Excel with some crude data in it won’t really be identified in the Canvas App you are making. Perhaps you’re missing something. Let’s say, I want to read an Excel file from OneDrive For Business into my Canvas App, I select the Excel file from the OneDrive for Business connection like below – But, I’m treated with the below error while making a connection –   Correcting your Excel Well, if your Excel looks like this – Then, that’s the reason Canvas App is not able to connect to the data in the Excel. Here’s what you need to do – click on the top left corner of where your Table should start from and then click on Table from the Insert tab as shown below Confirm that diagonal end of the Table you want to consider and click OK once confirmed Once you confirm, you’re Excel data will look like this which is correctly formatted into a Table –   Reading the Table Now that you’re set, you should be able to read the Excel file’s Table which you can connect to. Hope this quick tip helps!!  

Share Story :

Renaming SharePoint Folder using Microsoft Flows

Introduction: Using MS Flows, On any trigger, you can add the below action to rename the SharePoint folder.   Steps: 1) In Actions, select “Send an HTTP request to SharePoint” 2) Enter the below details: Site Address: Select your site address from the list. Method: POST Uri:_api/web/GetFolderByServerRelativeUrl(‘LibraryTitle/CurrentFolderName’)//ListItemAllFields Headers: Accept application/json;odata=verbose X-HTTP-Method MERGE If-Match * Body: { Title :”New Name of Folder” FileLeafRef’:”New Name of Folder” } 3) The Folder Name in Uri and new folder names in body can be dynamic as per your requirement( Refer Screenshot below: the data here is taken directly from the trigger when file is created in SharePoint). Sample Output: Conclusion: Simple SharePoint Connector in MS Flows can help to rename a SharePoint Folder.

Share Story :

Filter Gallery based on lookup field (Combo Box) on EditForm

Introduction: In this blog, we will learn how to filter Gallery based on Combo Box which is on different form.   Use Case: We have a requirement where there is a lookup field (Price List) on the Editform (Data Source: Quote Project Price List). When there is data in the lookup field the Gallery (Data Source: Role Price) should be filtered.   Steps: 1. We have an Screen which is divided into two parts:(Edit Form + Gallery)          a. Quote Project Price List Edit Form.          b. Gallery with Role Price data source. 2. Add field into the Editable Grid (Gallery). 3. The Lookup Field on the EditForm is PRICE LIST on which the gallery is suppose to be filtered. 4. To filter the Gallery set the Items property of the Gallery to the following formula, Item property: Set Gallery.Item = Filter(‘Gallery Data Source’, ‘GalleryFieldName’.Name = ‘Form Lookup Field Name(Combo Box)’.Selected.Name) For eg: GalleryRolePrice.Item=Filter(‘Role Prices’, ‘Price List’.Name=PriceListLookup.Selected.Name) 5. Output of the screen, The Gallery is not visible as the Lookup Field (Price List) is not selected. 6. After selecting the Lookup Field (Price List), the gallery is visible and also filtered on the basis of the selected field. 7. In this way the Gallery will get Filtered on the basis of the Lookup field on the EditForm.

Share Story :

Mix and Match Discounts in Dynamics 365 Commerce (Retail)

In Dynamics 365 for Retail there are many types of discounts available which retailers can offer to customers. These discounts help the business increase the sales and also the customer base. One of the discounts is called Mix and Match Discount . A mix-and-match discount gives customers a discount when they purchase a specific combination of products. For example, a customer purchases two boxes of tea and receives 50 percent off the price of a tea cup. Products and variants can be included in mix-and-match discounts. Here is how you can configure Mix and Match discounts.   In the above screen grabs you can see two types of mix and match discounts 1) Buy one product and get 50% off on the 2nd product 2) Buy one product and get another product free(100% off) You can add more products and use them in combination to offer discounts. After you have created discounts make sure to add your retail store to the price groups Hope this helps!

Share Story :

SEARCH BLOGS:

FOLLOW CLOUDFRONTS BLOG :


Secured By miniOrange