Category Archives: Uncategorized

“getting your data” message after a PowerApps new form submission

I was recently building an app from scratch (start from blank not a template) that leverages a couple of SharePoint lists both of which the app writes items to at different times.

When I encountered the message “Getting you data …”​ which is not strictly speaking an error but was definitely an issue.

I had followed the usual process for building a new entry function in PowerApps.
I added the data connection to the relevant lists, added a new Entry Form to a new blank page, connected the Entry Form to the connection and added a Submit control to the bottom of the page. From the OnSelect event on a control on the home page of the app I create an instance of form in New mode and navigate to it. So far so good, everything is working as expected, field validation stops submission of the form but when I submit a valid form I am presented with a blank (no fields showing) form and the message “Getting you data …”. It remains in this state until I navigate off the page or close the app and interestingly the information I had entered into the form has been successfully submitted to the SharePoint list.

This baffled me for some time. I have created apps from templates in the past that worked as I expected this one to work (i.e. after the form is successfully submitted the user is returned to the home page) but in this case I was building the forms by hand, no template involved. I thought maybe I have missed some configuration on the control to submit the form, no, it wasn’t that. I tried adding some logic to the control around the submit so that if the form was valid the submit was run and then the user was navigated back to the home page. Whilst this worked for a valid form if the form had any invalid fields it wouldn’t hit the submit function and hence the user wasn’t shown the invalid field and associated error messages. I tried making sure that the Item property of the Entry Form control was set as some suggestions included this as a technique to fix the problem.  In my case I’m not in a Gallery control or using one that I could reference so all I had available was to set it to EntryForm.LastSubmit. This succeeded in removing the “getting your data” message but left the completed form on the screen rather than send the user back to the app’s home page. Exactly what you would expect I guess.

PowerApp was doing exactly what I had configured it to do…

I finally worked out what was needed to complete the submission process in the way I was expecting. PowerApps wasn’t encountering an error as such as in my case I wasn’t letting the Entry Form control know what to do once it had been submitted successfully. In this case without the Item property set it was left ‘Getting your data’ but with no information about where to get it from. Once I gave it EntryForm.LastSubmit as the place to go for item data the form again did exactly what it should…after it was submitted it displayed the data from the last submitted record. What I actually needed to do was to tell the Entry Form control what to do after the successful submission of an item, that is configure the OnSuccess property of the Entry Form control. In this case I simply added a Navigate function to send the user back to the home page of the app and the app now worked as I expected. I actually don’t even need the Item property to be set in this case as the app only allows for entry of records not editing or displaying.

Advertisements

Leave a comment

Filed under Office 365, PowerApps, PowerApps, SharePoint Online, Uncategorized

Fiscal year/quarter calculations

I have been doing some work in Microsoft PowerApps recently and found that as part of one of the application requirements it was necessary to calculate for the user the current fiscal year (e.g. FY19) as well as the current fiscal quarter (e.g. Q1, Q2, Q3 or Q4). This information was then used to pre-populate the relevant fields in the data entry form, disabled so they can’t be changed.

Here are the expressions I use in the Default field for the relevant text boxes.

Fiscal Year
If(Month(Today())>6,"FY"&Right(Text(Year(Today())+1),2),"FY"&Right(Text(Year(Today())),2))
Fiscal Quarter
"Q" + RoundUp((If(Month(Today()) >= 7 , Month(Today()) - 6,Month(Today()) + 6 )/3),0)

Not long after this was implemented the requirement was change so that the app should be setting these values based on what they would be for the following month. For example normally June this would be FY18 and Q4 but with this change they should instead by FY19 and Q1. This means September will still be FY19 but Q2 instead of Q1.

Here are the revised expressions I use in the Default field for the relevant text boxes.

Fiscal Year a Month in Advance
If(Month(Today())>=6,"FY"&Right(Text(Year(Today())+1),2),"FY"&Right(Text(Year(Today())),2))
Fiscal Quarter a Month in Advance
"Q" & RoundUp((If(Month(Today())+1 >= 7  , Month(Today()) - 5,Month(Today()) + 7 )/3),0)
Fiscal Year a Fiscal Quarter in Advance
If(Month(Today())>=4,"FY"&Right(Text(Year(Today())+1),2),"FY"&Right(Text(Year(Today())),2))
Fiscal Quarter a Fiscal Quarter in Advance
"Q" & RoundUp ((If( Month(Today())+3 >= 7  , Month(Today()) - 3,Month(Today()) + 9 )/3),0)

Leave a comment

Filed under PowerApps, SharePoint Online, Uncategorized

Report Performance – Dataset filters vs query parameters?

http://www.sqlchick.com/entries/2012/1/8/relating-parameters-filters-in-sql-server-reporting-services.html

The two types of filters in SSRS are:

  • Dataset Filter.  This is the most common:  filtering within the source query.  When you implement a filter within the dataset, less data is sent over the network from the source database server to the Report Server – usually a good thing.
  • Report Filter.  This includes filtering after the source query has come back – on a data region (like the Tablix), or a data grouping.  When you implement a filter within the report, when the report is re-executed again with different parameter choices, the Report Server uses cached data rather than returning to the database server.  This is a viable option if you intentionally want to return all possible data from the database server in the initial query.  Keep in mind this could be far less performant if the volume of data is high & the report won’t be re-executed numerous times.

Generally speaking, using a Dataset Filter is the most efficient method.

http://technet.microsoft.com/en-us/library/bb395166(v=sql.90).aspx  …

Query Design

A report is processed in the following order: query execution, report processing, and report rendering. To reduce overall processing time, some of the first things you need to decide are which data to retrieve from the data source, and which calculations to include in the report. Reporting Services supports a wide range of data sources, including plain file systems, advanced database servers, and powerful data warehousing systems. The functionality of data sources and the structure of the report determine which operations should be done in the query, as opposed to which operations should be done inside of the report. Although the Reporting Services processing engine is capable of doing complex calculations such as grouping, sorting, filtering, data aggregation, and expression evaluations, it is usually the database system that is best optimized to process some or all of these data operations. With that said, always keep the following in mind:

  • Optimize report queries.Query execution is the first step of the reporting process. Having a good understanding of the performance characteristics of your database system is the first step to good query design. For example, you can use SQL Profiler to track the performance of your queries if you use SQL Server as the database server.
  • Retrieve the minimum amount of data needed in your report.Add conditions to your query to eliminate unnecessary data in the dataset results.If the initial view of the report shows only aggregated data, consider using drill-through to display details. Drill-through reports are not executed until the user clicks the drill-through link, whereas show/hide reports or subreports are processed during the initial report processing, even if they are hidden.

2 Comments

Filed under Uncategorized

Time to update certifications

SharePoint 2013 has been out a year now and next week I’m off to attend a 5 day training course on Developing Microsoft SharePoint Server 2013 Core Solutions.

Given 2013 has been out a year and I’m getting a rare chance to attend some training I think it is also time to step up and bite the bullet regarding my SharePoint certifications so I’m currently planning on sitting the Core Solutions (70-488) certification exam a few weeks after the training and then follow that up with the Advanced solutions (70-489) exams after that. If I can successfully pass both of these then I will only need to do the Programming HTML5 (70-480) exam and the ASP.NET MVC 4 Web Applications (70-486) exams and I would have my Microsoft Certified Solutions Developer: SharePoint Applications certification.

So the planned path is:

  1. Developing Microsoft SharePoint Server 2013 Core Solutions (70-488)
  2. Developing Microsoft SharePoint Server 2013 Advanced Solutions  (70-489)
  3. Programming in HTML5 with JavaScript and CSS3  (70-480)
  4. Developing ASP.NET MVC 4 Web Applications (70-486)

Not necessarily the order Microsoft suggests you do these certifications but I think if I am going to do any I want to do the SharePoint based ones first.

Leave a comment

Filed under Uncategorized

Second Shot at passing your Certification Exams on offer again!

You may not be aware of it but Microsoft are again offereing their ‘second shot free’ deal for Microsoft certification exams. Here’s how it works:

  1. Order a Second Shot Voucher at: http://www.microsoft.com/learning/en-us/second-shot.aspx
  2. Schedule you initial certifcation exam using the voucher at: http://www.register.prometric.com/
  3. Take your exam
  4. If you don’t pass the exam at first, simply register for free to retake the exam using the same voucher number.

The Second Shot deal is available for the regular-priced individual Microsoft technical exams with a prefix of 070 or 071, and for the Microsoft Technology Associate (MTA) certification exams administered through Prometric.

The Second Shot offer is available until May 31, 2014.

Leave a comment

November 1, 2013 · 10:47 am

Error: The report server installation is not initialized

Encountered an interesting problem today whilst configuring SQL Server Reporting Services (SSRS) integration on the web front end in a new SharePoint 2010 farm. I’m using SharePoint Server 2010 Enterprise Edition with Service Pack 1 and the October CU applied. SQL Server 2008 R2 is the DB version. Using the Reporting Services Configuration Manager I’d configured Reporting Services on the front end server to point to the Reporting Services DB on the back-end database server and created the relevant virtual directories on the front end server. For the time being the farm account is being used for the Reporting Services integration.

Next I’ve gone to Central Admin –> General Application Settings and selected Reporting Services Integration  and successfully completed the configuration as you can see from the picture below.

The next step is usually to return to the General Application Settings page and select Set server defaults under Reporting Services but as soon as I did this I received the following error…

System.Web.Services.Protocols.SoapException: The report server installation is not initialized. 
---> Microsoft.ReportingServices.Library.ReportServerNotActivatedException: The report server installation is not initialized.    
    at Microsoft.ReportingServices.WebServer.ReportingService2005Impl.GetSystemProperties(Property[] Properties, Property[]& Values)
    at Microsoft.ReportingServices.WebServer.ReportingServiceSPImpl.GetSystemProperties(Property[] Properties, Property[]& Values)
    at Microsoft.ReportingServices.WebServer.ReportingService2010Impl.GetSystemProperties(Property[] Properties, Property[]& Values)
    at Microsoft.ReportingServices.WebServer.ReportingService2010.GetSystemProperties(Property[] Properties, Property[]& Values)

Looking into the problem didn’t return much useful information from the web but eventually I found a post that had a similar error only they were using SSRS with Team Foundation Server. Given I’d found nothing else of any use I gave it a go. The tip was to return to Reporting Services Configuration Manager  and click on Encryption Keys in the left menu and then delete the encrypted content. I found when I first went to the Encyption Keys view that the Backup and Change buttons were both greyed out, only Retore and Delete were enabled. It sounded like a radical step but it worked. After deleting the encrypted content I found the Encyption Keys view now looked like this…

 

and when I returned to the General Application Settings page and ran Set server defaults it now worked as expected and allowed me to maintain the default settings for Reporting Services.

 

9 Comments

Filed under Uncategorized

Problem rendering infoPath forms for External Lists

I was configuring a set of external content types and associated external lists the other day and encountered the following error message “The form cannot be rendered. This may be due to a misconfiguration of the Microsoft SharePoint Server State Service. For more information, contact your server administrator” when I create the lists to have associated InfoPath based forms (the ASPX based forms were still created).

The form cannot be rendered. This may be due to a misconfiguration of the Microsoft SharePoint Server State Service. For more information, contact your server administrator.

It turns out that because we chose to perform the configuration of services manually the config wizard wasn’t run and as a result the State Service wasn’t configured. To fix this problem we need to configure the state service either by running the config wizard through Central Admin or using the following process from within the SharePoint Powershell command window…

  1. Login to the server using the SharePoint Admin account
  2. On the Taskbar, click Start, point to Administrative Tools, and then open the Windows PowerShell Modules as administrator.
  3. In Windows PowerShell, create a service application by typing $serviceApp = New-SPStateServiceApplication -Name “State Service”
  4. Create a State Service database and associate it with a service application, by typing New-SPStateServiceDatabase -Name ”StateServiceDatabase” -ServiceApplication $serviceApp.
  5. Create a State Service Application Proxy and associate it with the service application by typing New-SPStateServiceApplicationProxy -Name ”State Service” -ServiceApplication $serviceApp -DefaultProxyGroup.

Once these instructions are run, you should have a new State Service Service Application visible under the Service Applications list. You might also need to verify that your web Applications iare associated with the new State Service Service Application before things will start working properly.

Leave a comment

Filed under Microsoft Office Sharepoint Server 2007, SharePoint 2010, Uncategorized