Category Archives: Power BI
Power BI – Row Level Security
Microsoft Power Bi enables you to find and visualize data, share your findings and collaborate in the modern ways in the form of reports and dashboards. In short, it is a collection of online services and features to enhance your business. Power bi support allows you to migrate huge data from various sites into power bi desktop using the integration process. You can easily edit the data or you can also plan to edit it later after you have imported it on your desktop. Power bi helps you to overcome all your business problems with ease making you stay up-to-date with all necessary and relevant information that is of utmost value for you. The team of experts involved have a huge experience in working with all kinds of businesses across the world. Introduction: Row-level security (RLS) with Power BI can be used to restrict data access for given users. Filters restrict data access at the row level, and you can define filters within roles. Steps: To create on a Power BI Solution, you will start by going to the Modellingribbon and then select Manage Roles. This will launch the Manage roles window where you will select Createto add a new role. After you give the role a new name you can begin assigning DAX filter expressions to it. Click the ellipsis next to the table you would like to apply the filter to and then select Add filter. If you select Hide all rows,then all rows for this table will be hidden (as the name implies) but if you choose a field you can apply a filter to specific values in the table. Once you are happy with your selection, hit Save. To test the security model, go back to the Modellingribbon and select View As Roles. Here you can select the role you want to test and then click OK. This will filter the result to only show your selected roles filters. To stop impersonating this role you can click Stop Viewingto return to seeing the results without this filter applied. The next step is to assign users to the roles, which must be done from the Power BI Service That means you must deploy your model to the Power BI Service first. To do that go to the Homeribbon and select Publish. Once you’ve published to the service login to Power.com and click on the ellipsis next to the dataset you just deployed. In this menu you will select Security. Next, select the role you created and enter the email addresses of the users you would like to have the role assigned to. Click Add after you’ve entered all the users. Once you click Saveon the bottom your security is ready to go! To test it out click the ellipsis next to the role name and select Test as role. This will allow you to now view reports while impersonating this newly created role.
Share Story :
Power BI September 2018 Update: Drillthrough To Another Report Page
The September update of Power BI features an important functionality: the option to drillthough to another page in that report. For example, if a user wants to see detailed data of a product ‘Product 2’, then they can right-click on Product 2 in the main report, select ‘Drillthrough’ and the relevant sub-report to have it automatically filter the sub-report for Product 2. To do this, open your sub-report page and add any filters you require to be applied when the main report drills through to this report. For example, ‘Product’ and select ‘Used as category’. Go to the main report and select (right-click) on the Product you want to use to drillthrough, click on ‘Drillthrough’ and select the name of your sub-report. This will re-direct you to the sub-report, now filtered by the selected product. Additionally, to go back to the main report, one can simply click the back ( <- ) button on the sub-report. This feature enhances the users’ understanding of the data as well as greatly improves user experience.
Share Story :
Work Hours in CRM
In this article, we will learn how we can leverage the work hours in Reporting. The calendar entity stores data for customer service calendars and holiday schedules in addition to business. Each calendar is set for a specific time zone. A calendar describes the availability of a service or a resource. Calendars are related to calendarrule records, which include details about the duration, start and end times, and recurring patterns of events included in the calendar. There are two types of calendar rules in Microsoft Dynamics 365: Root: A calendar rule that contains an inner calendar or that has nested (leaf) rules. You can specify an inner calendar for a root calendar rule by using the InnerCalendarId attribute. The attribute value of CalendarRule.InnerCalendarId of a root rule is the same as the attribute value of CalendarRule.CalendarId of its leaf rules. Leaf: A calendar rule that doesn’t contain an inner calendar, and therefore, is the end of the “branch.” Referred from Blog: https://msdn.microsoft.com/en-us/library/gg328538.aspx To obtain Work Hours of a resource, you can use the following fetchxml code: <fetch version=”1.0″ output-format=”xml-platform” mapping=”logical” > <entity name=”bookableresource”> <!– You can use systemuser to retrieve same data –> <link-entity name=”calendar” from=”calendarid” to=”calendarid” alias=”c” > <link-entity name=”calendarrule” from=”calendarid” to=”calendarid” alias=”cr” > <attribute name=”starttime” /> <attribute name=”effectiveintervalend” /> <filter type=”or” > <!– These filters are applied to get calendar of this year only –> <condition attribute=”starttime” operator=”this-year” /> <condition attribute=”effectiveintervalend” operator=”this-year” /> <condition attribute=”effectiveintervalend” operator=”ge” value=”12/30/9999″ /> <!– 12/30/9999 is the max end date i.e infinite time –> </filter> <link-entity name=”calendar” from=”calendarid” to=”innercalendarid” alias=”inc” > <link-entity name=”calendarrule” from=”calendarid” to=”calendarid” alias=”incr” > <attribute name=”duration” /> <filter> <condition attribute=”duration” operator=”lt” value=”1440″ /> <!– 1440 minutes equals 24 hours which is redundant. As the calendar includes Business Closures and holidays we want to avoid such calendar records –> </filter> </link-entity> </link-entity> </link-entity> </link-entity> </fetch>
Share Story :
SSRS Report Preview not working for D365 CRM V9 (Solution)
Issue: If you are trying to preview a FetchXML report in SSRS and you are a facing an issue due to a Sign-In Failure, then the reason for that most probable is due to the reason that you are trying to connect to CRM v9. When we try to connect to a v9 environment using report authoring extensions, the connection fails without any proper error and loops back to organization selection screen or login screen. If you would try to preview the same report in a v8.x environment then you would be able to preview it successfully. Reason: The main reason for this issue is that v9 only uses Transport Layer Security(TLS) 1.2 and TLS 1.0 & 1.1 connections whereas the previous CRM versions still support all TLS connections. Solution: The first solution would be to update your Business Intelligence Development Studio(BIDS) to the latest version. Please use the link below: https://www.microsoft.com/en-us/download/details.aspx?id=56973 The second solution is to make a few changes in your regedit For systems running on .NET Framework 3.5 on x64-based systems: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727 Create a DWORD key Name: SchUseStrongCrypto Value: 1 For systems running on .NET Framework 4.5 or later on x64-based systems: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\ v4.0.30319 Create a DWORD key Name: SchUseStrongCrypto Value: 1 Restart your PC Note: Please take a backup of your regedit before editing it. Regedit used incorrectly can cause serious problems in your operating system. For x32-based systems do not add the \Wow6432Node in the HKEY paths mentioned. Your Report should preview fine now!
Share Story :
Conditional Formatting By Values in Power BI: August Update
In the August 2018 update of Power BI, we can now apply conditional formatting based on field value. This allows us to use a measure or column that contains a color name, a hex name/code and apply that color to the background of the cells and the font in the cells of that column. For example, if I want to use color to signify the product name, we can create a calculated column to assign color names to each product as shown below: Then add that calculated column (‘Color’) to your table, and go to the Conditional Formatting dialog for ‘Color’. Select ‘Background Color’. Select ‘Field Value’ in the ‘Format by’ drop-down menu. Since I only have one color name per row, I will select First ‘Column Name’, Summarization ‘First’ and click OK. The background color of the cells in the calculated column will now be according to the color name in the cell. If you don’t want to see the color names, repeat the steps but select ‘Font Color’ as shown below. The entire cell will now be filled. If you want to use hex names/codes instead of color names, you can create a calculated measure/column using them as shown below. Now follow the same steps as above to apply conditional formatting to the table using hex codes/names. This can help highlight sets of data easily based on their values and without the need to set rules.
Share Story :
Row Numbering Issue for Grouped Data in SSRS
Issue: In SSRS if we are using an aggregate function in a group at the Tablix level, then you may realize that the simple row numbering function does not give a current sequential ranking. Using the function RowNumber(Nothing) gives something like this. Using RowNumber(“GroupName”) would also give an incorrect row numbering and look something like this. This is because RowNumber does not actually give the row count. Rather it counts the incidences of the data in the group and returns that value. Solution: We can use the “RunningValue” function in SSRS. The format for the expression would be. =RunningValue(<Grouped field>,CountDistinct,”<DataSet>”) Eg: =RunningValue(Fields!Name.Value,CountDistinct,”Accounts”) This would return something like this. This should fix your issue!
Share Story :
CRM Option set in Power BI
Introduction: In this article, we will learn how to dynamically use Dynamics 365 CRM option set/ CRM picklist in Power BI. As you may be aware that CRM picklist stores Integer value in the backend and not the actual display name. So, whenever you query an entity with picklist fields in Power BI you will get picklist Integer value and not the display names. Pre-requisite: The option set/picklist should be a global. You can check the IsGlobal property for the picklist field in the Metadata Browser. In Metadata Browser, when you expand Get Options for OptionSet there is a (+) button. Click on that button and option set properties will appear. Steps to get Option Set Values: Login in to Power BI Click Get data Select Odata Feed as the connector Enter the OData URL for querying the Global option sets and click Ok. URL Format: https://orgname.api.crm.dynamics.com/api/data/v8.2/GlobalOptionSetDefinitions(OptionSetMetadataId) Example: https://contoso.api.crm.dynamics.com/api/data/v8.2/GlobalOptionSetDefinitions(ae2a3b9d-395a-4dbd-9abc-c32aeb10888b)Note: OptionSetMetadataId is highlighted in the Pre-requisite screen capture Once the query is loaded, the Edit Query window will pop up. Click on Advance Editor and modify the code as below (Add null and MoreColumns parameter) and then click Done: let Source = OData.Feed(“https://fasttrackleasingllc.api.crm.dynamics.com/api/data/v8.2/GlobalOptionSetDefinitions(ae2a3b9d-395a-4dbd-9abc-c32aeb10888b)”, null, [MoreColumns = true]) in Source After loading, an additional row will be added to the table named More Columns. Click on the Record field beside More Columns. A new view of the table will be loaded as shown in the below screenshot. Right Click on List and Select ‘Into Table’ Once the table is loaded, expand the Value column by clicking on ‘Expand to New Rows’ Expand the Value Column and select ‘Value’ and ‘Label’ Columns. Click Ok. Expand the Value.Label Column and select ‘UserLocalizedLabel’ Column. Click OK. Expand the Value Column and select ‘Value’ and ‘Label’ Columns. Click Ok. Finally, we get the Option set Code (Value.Value) and Option Set Value (Value.Label.UserLocalizedLabel.Label) from CRM. Conclusion: As the above method creates a separate table for option set, you have to add relationship (1-*) between the newly created Option Set table and the Main table.
Share Story :
Scribe Insight AX as a Web Service Find Block issue
Introduction: If we need to look up for any value from AX then we do it by using a Find Block in Scribe Insight Eg: BasicHttpBinding_ItemService_find Every Find block has 2 components and they are, Query Criteria – Used for specifying the Table Name, Field Name and the Fields Value for finding the record Return Value – Used to fetch the needed value back If for any reason either of the component is missing, then you cannot lookup in AX and search the required value back. Consider the following Scenario where we have a SalesOrderService Find block with only the Query Criteria component but without the Return Value component. Following are the steps to resolve the issue. Steps: Go to your AX Web Service Connection and click on Edit Click on change connection Proceed further by clicking OK and then click on your connection and click on Edit Select the Configuration Tab on top Select the Find Block under Method that is not showing the required Return Value. Here that would be the BasicHttpBinding_SalesOrderService_find Method. Make sure that the value of QueryCriteria_CriteriaElement and ReturnValue_SalesTable both are 1. Note: If you want to look up with additional parameters then increase the QueryCriteria value. Validate your Web Service Connection and restart your DTS Your issue should be resolved and the Return Values should be visible Conclusion Now you should successfully be able to look up and find a value from any of the Return Values in the Sales Order successfully.
Share Story :
Using Variable Connector In TIBCO Cloud Integration
Introduction: The Variable Connector, created as part of the Scribe Labs initiative, adds a much-needed feature to TIBCO Cloud Integration i.e. to store and retrieve variables in a Scribe Map. However, keep in mind, these variables cannot be shared between maps or solutions. Steps For Installation: To begin using the connector, install it from the Scribe Marketplace. Go to Marketplace. Search for ‘Variables’. Select Scribe Labs – Variables and click ‘Install’. The Connector will install for your Organisation in a few minutes. Steps To Create A Variable Connection: From the ‘More’ dropdown menu, click on ‘Connections’. Click on the plus sign (+) on the right of the page to add a new connection. Select your Connector Type, input the name of the variable connection and select the Agent. Click OK. Steps to use in a Map: Add the variable connection to your map. To store a value in the variable, select the Upsert block. In the General Tab, select the data type of the variable you want to store from the Entity dropdown menu. In the Fields Tab, input the name of the variable in the ‘name’ field and the data you want to store in the variable in the ‘val’ field. Click OK. To retrieve a variable, use the Lookup Block from the Variable Connection. Select the data type of the variable in the Entity tab. In the Lookup Criteria tab, lookup the name of the variable you had set. Select the ‘val’ field in the Field List tab. Click OK. You can now use the data stored in the ‘val’ field of the variable in your map. Conclusion: I hope this helps understand the usage of the Variable Connector in TIBCO Cloud Integration. This feature is very useful when one needs the functionality of a variable while using TIBCO Cloud Integration.
Share Story :
Calendar Rule Entity not supported in Power BI
In Power BI, Dynamics 365 is connected using its Web API i.e [organization URI]/api/data/v9.0 Dynamics 365 Web API does not support GET Request for calendarrule entity; because of which Power BI cannot retrieve calendar rule entity details. You can verify by browsing to the URL: [organization URI]/api/data/v9.0/calendarrules Please refer to the screen capture below for the error details in browser. Also, you will not be able to load the calendar rule entity in Power BI. Below screen capture displays an error received in Power BI.