Dynamic URL Filtering on Power BI
Introduction: There may arise a situation where we may want to link one report to a more detailed report dynamically in Power BI. Although we can link dashboards to reports and also provide a custom link for a tile in a dashboard, report to report linkage is currently not a feature available in Power BI. There is a way to achieve this by using URL filtering. Below is a report which shows Card transaction details based on Expense Type. We want to link this report to a more detailed report after clicking on the URL link icons in the table. You can download the sample CSV file from here http://bit.ly/nitincsv1 After clicking on the URL Link icon a report like this should open up which is filtered by Expenditure Type. Steps: The steps to achieve this are mentioned below: 1. We first need to understand how URL filtering works. The syntax for URL filtering is URL?filter=Table/Field eq ‘value’ • Table and Field names are case sensitive • Value should be put in single quotes The Table and Field can be found under Fields in Power BI Desktop The URL can be found on the web page in Power BI Online. Every page in a report has a unique URL in Power BI. You can find it in the browser address bar of the report. The URL filter for filtering ExpType in CardDetails for the value ‘Bills’ would be, https://app.powerbi.com/groups/me/reports/6ea11c00-85ca-4b8e-907a-42979eaadcaa/ReportSection1?filter=CardDetails/ExpType eq ‘Bills’ 2. The above is a very static example for filtering ExpType but this can be made much more dynamic by using DAX Create a new Calculated Colum for CardDetails 3. Enter the following line as the DAX Code: Link = “https://app.powerbi.com/groups/me/reports/6ea11c00-85ca-4b8e-907a-42979eaadcaa/ReportSection1?filter=CardDetails%252FExpType%20eq%20%27″&CardDetails[ExpType]&”%27” In the above function we have put the ASCII values for blanks, apostrophes and equal to sign for ensuring that the URL works efficiently • Blank -> %20 • Equal -> %252 • Apostrophe -> %27 We append the CardDetails[ExpType] in place of value in the URL Syntax. The rest of the URL remains the same. After pressing Enter the column generated will look something like this in a table visualization 4. The String generated in our column needs to be converted into a hyperlink. Click on Link in Fields, Go to Modeling and select Data Category as Web URL The Link Column should now look like this, 5. We can convert the hyperlink into a more pleasant URL link icon by going to Visualizations->Format->Values->URL Icon(Turn On) 6. The final Report generated looks like this 7. Clicking on the URL icon will dynamically filter a new detailed report in a new tab in your browser. To confirm whether the report has been filtered or not, we can look at the Filters section in Power BI Online as well as the URL. Conclusion: As you can see, we have successfully created a Report with Links which on being clicked generates a detailed report with dynamic filtering.
Share Story :
Dynamic data masking in SQL SERVER
In our day to day life we are more concern about our data security and sensitive information’s when we fill out some purchase form and other billing application which requires your Credit card and other personal information. This data can be viewed easily in the backed users if it’s not secure controlled. SQL Server 2016 provides a feature known as Dynamic Data Masking which is a security feature that limits the access of unauthorized users to sensitive data at the database layer. As an example of the need for such a feature is allowing the applications developers to access production data for troubleshooting purposes and preventing them from accessing the sensitive data at the same time, without affecting their troubleshooting process. Another example is the call center employee who will access the customer’s information to help him in his request, but the critical financial data, such as the bank account number or the credit card full number, will be masked to that person. Dynamic Data Masking, also known as DDM, is a simple security data protection method allows you to determine your “sensitive” data, by field in order to configure the suitable masking function to hide it from queries. This feature requires no coding effort from the application side or encrypting or applying any change to the real data stored in the disk. Features: Provides configurable masking policy using simple T-SQL command. Database is not changed physically and database operations are not affected. Flexibility to define a set of privileged SQL users or roles for unmasked access. Types of Masks: There are 4 types of masks are offered by SQL Server 2016. 1. Default Mask The default mask masks the full data according to the assigned data type. For string types (char, nchar, varchar, nvarchar, text, ntext), it replaces the data with XXXX or fewer Xs, in case size of field is less than 4. For numeric datatypes (bigint, bit, decimal, int, money, numeric, smallint, smallmoney, tinyint, float, real), it uses 0 value. For binary datatypes (binary, varbinary, image), it uses a single byte of binary value 0. 2. Email Mask The email mask especially for the fields that stores emails. It exposes only the first letter of email followed by XXX, followed by @ sign, followed by XXXX and a constant suffix “.com” to form an email. E.g. aXXX@XXXX.com 3. Custom Mask SQL Server 2016 allows you to define your own mask for a specific field. In this method, you can define the prefix and suffix characters to be exposed, and the padding will be shown as it is. “prefix,[padding], suffix”. 4. Random Mask Random mask can be defined over any of the numeric fields. It exposes a random number within the defined range. Example 1. Create a table with different mask functions CREATE TABLE [dbo].[Contacts] ( [ID] [int] IDENTITY(1,1) NOT NULL Primary key, [FName] [nvarchar](30) MASKED WITH (FUNCTION = ‘default()’) NOT NULL, [LName] [nvarchar](30) NOT NULL, [CreditCard] [varchar](20) MASKED WITH (FUNCTION = ‘partial(2, “XX-XXXX-XXXX-XX”, 2)’) NULL, [SalaryINR] [int] MASKED WITH (FUNCTION = ‘default()’) NULL, [OfficeEmail] [nvarchar](60) MASKED WITH (FUNCTION = ’email()’) NULL, [PersonalEmail] [nvarchar](60) NULL, [SomeDate] [datetime] MASKED WITH (FUNCTION = ‘default()’) NULL ) Insert Some data in the table 2. Create a user with only select permission. CREATE USER [ReadOnlyUser] WITHOUT LOGIN; GRANT SELECT ON Contacts TO ReadOnlyUser; 3. Now select the data with the Existing using and the new User that is created The data will be masked for the ReadOnlyUser. Conclusion: This technique allows a developer to debug the Production environment without breaching security or confidentiality for a user.
Share Story :
Calendar sharing in Exchange Online
Introduction: Sharing policies enable users to share calendar information with different types of external users. Sharing polices are assigned to mailboxes and allow users to share their free/busy information with recipients in external Office 365 organizations. Creating a sharing policy in Exchange Online. Allow users to share calendar information and contacts with external organizations. Navigate to EAC Organization > Sharing. Under Individual Sharing, click+. In new sharing policy, type a name for the sharing policy in the Policy name. Click + to define the sharing rules for the policy. In sharing rule, select one of the following options to specify the domains you want to share with (as shown below): Sharing with all domains Sharing with a specific domain If you select Sharing with a specific domain, type the name of the domain. To specify the information which can be shared, select Share your calendar folder check box, and then select one of the following: Calendar free/busy information with time only Calendar free/busy information with time, subject, and location All calendar appointment information, including time, subject, location and title Click save to set the rules. If you want to set this sharing policy as the default sharing policy in your organization, select the Make this policy my default sharing policy check box. Click save to create the sharing policy. After creating the policy, User can share their calendar from Outlook. The person to whom you have allowed to share calendar will receive an email (as shown below). By clicking on Add this calendar, the calendar of yours will be shared with that person. Create an organizational relationship. Set up an organization relationship to share calendar information with an external business partner Navigate to Organization > Sharing in Exchange Admin Center. Under Organization sharing, click +. In new organization relationship, in the Relationship name box, type a name for the organization relationship. In the Domains to share withbox, type the domain for the external Office 365 organization. In Enable calendar free/busy information sharingcheck box to turn on calendar sharing with the domains you listed. To set the free/busy access level, select one of the following: Calendar free/busy information with time only. Calendar free/busy with time, subject, and location. To set which users will share calendar free/busy information, select one of the following: Everyone in your organization. A specified security group – You can browse and select the group for whom you want to enable the sharing. Click save to create the organization relationship. For users to share calendar: Go to Outlook > Calendar. Click Share. Send a sharing invitation in email. Conclusion: So, in this way we can share the calendars between organizations and external users.
Share Story :
PowerBI Visuals: ArcGIS
Introduction: In this blog article, I will demonstrate how to enable ArcGIS in PowerBI, its features and how to use it to display data. The ArcGIS Visual, created by Esri, displays data in a unique and immensely customisable way. The Visual allows the User to select the type of map, various ways to represent data points and additional features like distance mapping and reference layers to make the visual interactive and informative. In order to enable ArcGIS, the User must agree to Esri’s terms and conditions. Enabling the ArcGIS Visual: To do this in PowerBI Service, go to the ‘Settings’ menu. Select ‘ArcGIS Maps For PowerBI’ and select the checkbox next to ‘Use ArcGIS Maps for PowerBI’. Click Apply. Now you can go to the ‘Editing View’ and select the ArcGIS icon from the Visualisations Pane. To enable it in PowerBI Desktop, select ‘Options and Settings’ in the File menu. Select ArcGIS Maps for PowerBI in the Preview Features section. Now, select the ArcGIS icon in the Visualisations Pane to get started. Using the Visual: After loading the data into PowerBI, drag your data in the appropriate fields in the Fields pane. Now here is where the fun begins! Click on the ellipses and select the ‘Edit’ option to start customising your visual. A task pane appears at the top of your visual. The first option is ‘Basemap’. In this option, you can select the type of map you would like to use and that would best showcase your data. The next option is Location Type. Here, you can select how you want your location data represented. Points will show you data points and Boundaries will display data by state boundaries. Map Theme, the next option, will let you select different visual ways to display trends in your data. ‘Size’ displays points variating by size based on your data, while ‘Heat Map’ shows where the values are high, medium and low by color. Symbol Style allows you to select which symbol you want to use to represent the data and customise the symbol by style and size. Pins allow you to highlight locations in your map that you want to showcase other than what your data is displaying. Just type the location in the search bar and select the correct location to add a pin there. You can also change the color of the pins if required. The Drive Time option allows you to show which data points are within a given distance or driving time from a pin. This feature can also be customised by selecting color, transparency and outline preferences. Reference Layer is a feature that allows you to add data to the map based on common statistics like the country’s population, gender ratio and various other demographics like age and diversity. This allows the user to add more information to their map that could be of significance to the data being represented. One can also hover over states to see the reference data of that state. Conclusion: As you can see, the ArcGIS Visual is designed to make your data easy to understand and interactive while providing additional relevant data. Its customisability combined with its power-packed features makes this one visual that could really add immense value to any report or dashboard.
Share Story :
How to ensure we open Project Information form when the Lead is Qualified in D365 PSA
I tried many ways to figure out why the “Project Information” form is not opening in Opportunity when a lead is Qualified in D365 PSA. I tried manually opening the “Project Information” form on Opportunity, but, it turns back to default “Opportunity” form. I figured out lastly that the tweak was with one of the fields in Lead form. To open the Project information form on opportunity, the “Order Type” value should be “Work based” this ensures the lead is for Project Service. If we select “Service-Maintenance Based”, it opens “Field Service Information” form on opportunity. Lastly, “Item Based” open the default “Opportunity” Form.
Share Story :
Power BI Tiles Embedded in Dynamics 365 Dashboards
Introduction: In this article, we are going to learn how to embed Power BI Tiles in your Dynamics 365 / CRM Dashboards. Steps: Sign-in to Microsoft Dynamics 365 as a user with the system administrator security role Go to Settings > Administration > System Settings. On the Reporting tab in the Allow Power BI visualization embedding option, select Yes to enable or No to disable. Click OK. Create Dashboards in Power BI and publish it. Then Create or edit a Dashboard in CRM. And insert Power BI Tile in TAB. Select a Power BI dashboard and a tile. Complete the dashboard, Save, and close. You are all set!
Share Story :
Converting a Database from NAV 2016 to NAV 2017 in Microsoft Dynamics NAV
Introduction: To upgrade the database to NAV 2017, following main steps must be completed. Convert the database Upgrade the Application code Upgrade the Data This blog gives a steps wise procedure to covert the database from NAV 2016 to NAV 2017 Pre-requisites: Microsoft Dynamics NAV 2016 Microsoft Dynamics NAV 2017 Microsoft SQL Server Management Studio(SSMS) Steps Backup NAV 2016 Database Open SSMS and connect to the SQL server. Expand the Database to NAV 2016 Database i.e ‘Demo Database (9-0)’. Navigate to Task > Back up. Click on Add then Navigate the path where you want to store the back up(.bak) file by clicking on the Assit edit button. Specify the file name then click on OK. A pop up displays after the back up of NAV 2016 database is taken. Clear all Microsoft Dynamics NAV Server instance records from the dbo.ServerInstance table in the database on SQL Server.You can do this by using SQL Server Management Studio to open and clear the table. Upload 2017 Licence file in NAV 2016 Database ‘Demo Database (9-0)’ Navigate to File > Database > Alter. In the Integration tab, Enable Save licence file and select the licence file of NAV 2017 then click on OK. Alternatively, Select the Tools menu > Licence Information then Upload. Restart the NAV Server Instance in the Microsoft Dynamics NAV admin. Uninstall NAV 2016 and Install NAV 2017. Convert the NAV 2016 Database to NAV 2017. Open Microsoft Dynamics NAV 2017 Development Environment, select the NAV 2016 database i.e ‘Demo Database (9-0) and click on OK. Till will prompt to convert the database dialogue box. Click on OK. A confirmation dialogue box pops up. Click on OK. This will take few minutes. A message pops up once the database is converted. Connect the Server Instance to the converted database Open Microsoft Dynamics NAV Administration, Click on Add Instance. Specify a Server name and unique port numbers then click on OK. An instance is created, open the instance, click on edit, expand the Database tab. In the Database Name specify the converted database name then Restart the instance. In the below screenshot NAV90 is the server instance name for the converted database. Open the converted database in the NAV 2017 Development Environment. Navigate to the Tools menu > Options. Specify the Server Instance name, Server Port and the Management port. Click on OK. Make sure the user login has access to the Converted database. Open SSMS, expand Logins and select the user. Under the ‘Select a page’ tab, Select User Mapping, enable map for the converted database and master database and enable db_owner then click on OK Under master database, expand the Tables, select the Dbo.$ndo$srvproperty then properties. elect the Permissions then select the user and grant Select permission to the user. Restart the Server instance after applying the above permissions. Run the schema synchronization to initialize the database. Open the Microsoft Dynamics NAV 2017 Development Environment, navigate to Tools menu then click on Sync. Schema For All Tables > With Validation. This will pop up a dialogue box, click on Yes. After synchronizations, navigate to Tools menu > Build Server Application Objects. Building the application makes sure that the database is also synchronized in the SQL server and compiled. Building the application may lead to compilation errors which needs to be fixed. Follow the below link to fix .NET variable errors refer this link Build the Application again until the Build is successful. Conclusion: The database is successfully converted to NAV 2017. The next step is Upgrade the Application code for which you can refer this link
Share Story :
Procedure to display the Amount in Words in a report of Microsoft Dynamics NAV
Introduction: In this article, I will be explaining the procedure to display amount in words in a report of Microsoft Dynamics NAV. Pre-Requisite: Microsoft Dynamics NAV 2016 Procedure: Step 1: Declare the following variables in C/AL Globals: ‘RepCheck’ is a variable of DataType ‘Report’ and Subtype ‘Check’ which is Report 1401. ‘NoText’ is a variable of DataType ‘Text’ with Dimensions Value as 2 which is set by navigating to the properties of the ‘NoText’ variable. ‘AmountInWords’ is a variable of DataType ‘Text’ which will store the final result of the amount in words. Step 2: Now in my custom purchase order report, I want to display the Amount to Vendor in Words. So in the Purchase Header – OnAfterGetRecord() trigger, I have put the following code: I have declared a variable ‘AmountVendor’ of DataType ‘Decimal’ in which I will be storing the ‘Amount to Vendor’. I have rounded off the Amount to 2 decimal places. AmountVendor:= ROUND(“Purchase Header”.”Amount to Vendor”,0.01); Now add the following code to display the Amount in Words: RepCheck.InitTextVariable; RepCheck.FormatNoText(NoText,AmountVendor,”Purchase Header”.”Currency Code”); AmountInWords:=NoText[1]; So the complete code looks like below: Step 3: Now get the variable ‘AmountInWords’ under the DataSource ‘Purchase Header’ in the report and display it in the design layout of the report. After saving and running the report the Amount to Vendor will be displayed in Words as shown below: Conclusion: Thus using the above procedure and the Report 1401 i.e. ‘Check’ report, the amount in words can be easily displayed in any report of Microsoft Dynamics NAV 2016.
Share Story :
Embed D365 Field Service Views in Dashboard of D365 Online Portal
D365 Field Service is about something other than having the correct instruments for the activity regardless of where you are. It’s tied in with having the option to associate with your most significant resource, your clients. With Dynamics 365 and field administration the board arrangements from PowerObjects, you can make a client support story that traverses different channels, amplifies your workers’ effectiveness, and surpasses client desires. Accomplish total hierarchical arrangement with Sales, Marketing, Customer Service, and Field Service groups for client records. Deal with all gear parts for complete perceivability into guarantee and administration understandings; all out income and related expenses; and review history. Field Service Management platform providing enterprise companies with tools to streamline their business processes – from real-time mobility across every major device, to routing and workflow automation. Introduction: This blog explains how to embed D365 Field Service Views in Dashboard of D365 Online Portal. Steps of Implementation: Create a new Entity List in D365 Field Service. Set key on Entity list as highlighted below. Add View to Web Template as shown below. Note: You can refer blog how to configure Dashboards in D365 Online Portals by referring to link – https://www.cloudfronts.com/embedding-d365-field-service-charts-d365-online-portals/ Conclusion: Above description in blog helps users to embed D365 Field Service Views in Dashboard of D365 Online Portal.
Share Story :
Decompiling the code from the plugin dlls
Introduction: There can be a possibility that we lost our plugin code and dlls are already present in Dynamics CRM and we want to extract the code from Dynamic CRM. We don’t have a code backup and we are supposed to make changes in the code as we have some errors in plugin or we need to reconstruct the code. In such situation, we can follow the below steps to decompile the code. We can make use of XRM Tool Box and some tool to decompile dll. Steps: Steps to be followed are given below: Open XRM Tool Box–> Assembly Recovery Tool–> Select the plugin–> Click on Export to disk Dll will be downloaded in the local drive Download the code Decompile tool. Link is given below https://www.jetbrains.com/decompiler/ After download Open the Decompile Toolà Open the dll from local drive Your code will be decompiled as shown below Only issue is we must disable the previous plugin and register the plugin assembly and steps again. Now we can make changes in the code. Conclusion: Retrieving the codes from dynamics CRM dlls can be done by following the above easy steps.