My Report keeps coming up blank even though t...

My Report keeps coming up blank even though there are records in the underlying table.

Here is the template I am using…

<<Start:Select(Monthly Report[Bio ID],TRUE)>> Facility: <<[Facility]>> Staff Name: <<[Staff Name]>> Date of Birth: <<[Date of Birth]>> Sex: <<[Sex]>> Prof ID: <<[Prof ID]>> NRC: <<[NRC]>> Phone 1: <<[Phone 1]>> Phone 2: <<[Phone 2]>> Service Start Date: <<[Service Start Date]>> Post Start Date: <<[Post Start Date]>> Designation: <<[Designation]>> Posting Type: <<[Posting Type]>> Status: <<[Status]>> Notes: <<[Notes]>> <>

“Monthly Report” is a slicer and “Bio ID” is the key of the underlying table.

Is there something wrong with the template? Might the issue be with the security filter on the underlying table?

0 35 1,235
35 REPLIES 35

Your template seems to be okay. Perhaps the security filter is filtering the data.

When I removed the security filter, the data shows up in the report.

So now I have to figure out how to override the security filter to allow publishing of the report!

Any thoughts?

My idea of that “last 31 days” was because I saw your name “Monthly report”.

If the app is showing the data correctly, the workflow should show the same data. If it doesn’t, your workflow or slice etc. is filtering the data in wrongly way.

Ah.

Well, they must submit an HR report every month with a complete list of all active staff, showing any changes.

The data shows correctly in the Table View.

And the Workflow report is based on the same table… no additional filter or slicer.

Are you using Start & End expression in your template or do you have another filter there?

No other filter in the template.

Just the Start/End expression that you can see in my initial post above (<<Start:Select(Monthly Report[Bio ID],TRUE)>>).

Ok. I will check the app after few hours. Please give the account ID, app name and workflow.

I think I may have figured it out. First, this was not a WorkFlow, but rather a Report. Second, I have been testing it by running it using the “Run” button in the app editing window.

And this might not take into account the UserSettings.

So I tried making a WorkFlow report using the same template and fired it on all changes… and the report worked fine.

It showed only the data filter by the security filter.

So now I will text the Report version by firing it DAILY with a time set from a few minutes from now to see if it is triggered from within the app with user settings set if the report works properly.

Thanks for your HINTS as going in the right direction.

I will let you know if the Report version of the template works when fired automatically or not.

Additional Question:

Is there a way to trigger a Workflow email report using an Action button?

Yes you can do that

Do you have a link to a reference which explains?

I don’t want the workflow email to be triggered by any data change, only by the action button.

So what do I set as the “update event” in the workflow. And what do I set as the “Effect> Do This” in the Action.

What is your sec filter?

It would be handy if the Email/Attachment templates were visible in the sample apps!

With the action button you need one column. Best would be the Datetime because it’s easy to update with NOW().

@Aleksi_Alkio

Ah!

It took me a while to figure out what you were hinting in your last post (…need one column).

So let me check if I get it now.

You are suggesting that I create a new DateTime column I update using an Action and that the Workflow will check this column and whenever it changes will send the email alert.

Is that correct?

If so, what Condition should be used in the Workflow so that only changes to the new DateTime column trigger the Workflow and NOT changes to any other columns?

@Aleksi_Alkio

Ah!

It took me a while to figure out what you were hinting in your last post (…need one column).

So let me check if I get it now.

You are suggesting that I create a new DateTime column I update using an Action and that the Workflow will check this column and whenever it changes will send the email alert.

Is that correct?

If so, what Condition should be used in the Workflow so that only changes to the new DateTime column trigger the Workflow and NOT changes to any other columns?

Create an action button which will write NOW() into that column. Then you can check the codition with AND(ISNOTBLANK([Column]),[_THISROW_BEFORE].[Column]<>[_THISROW_AFTER].[Column])

Super!

Thanks for the help.

It seems that the expressions [_THISROW_BEFORE] and [_THISROW_AFTER] are intended for use in template variables, but do not seem to work in Action Condition expressions.

Is that correct?

Or is there a way trick to getting them working?

I see in another post (https://plus.google.com/114351284024459899049/posts/TFNtfmu6F5U) that you have successfully used this expression.

So any idea why it won’t validate in as correct in this instance? Small issue with [_THISROW_AFTER] When you have a formula [_THISROW_BEFORE]… plus.google.com

OK, I found in another post of yours that this expression will work in Workflows, but not in actions.

plus.google.com - ello Guys, How to create a condition to trigger the action when the column d…

So I can, via this formula, control when the Workflow email will be triggered, but I cannot similarly control when the action button will be visible.

Basically, I don’t want the action button to appear EXCEPT when a record has been updated or added.

Any thoughts on what kind of condition would work there? ello Guys, How to create a condition to trigger the action when the column d… plus.google.com

Updated or added? Then it should show it all the time?

Here is the filter:

OR([Facility] = USERSETTINGS(Logon Name),LOOKUP(USERSETTINGS(Logon Name),Users,Logon Name,Admin)=TRUE)

The UserSettings(Logon Name) is saved to the main table in the “Facility” column. So each Facility will only see their own records. But in the user table, there is an “Admin” column, and if it is marked “TRUE” then that user, after logging on, can see ALL the rows.

It works fine in the app.

But, alas, blocks all rows from the report template.

Even if a user is logged on, i.e., the user has selected a Logon Name in the UserSettings.

So it seems that the report template cannot take the UserSettings built-in table into account.

Possible?

Well, if it is visible all the time and the user clicks the button when NO change has been made the row, NO email will be sent because the condition (After <> Before) will not be met.

So it would be best to have the button only appear if there is a change to a record (for Update).

If a row is added… well, I guess I could have another action button with a different condition if needed.

You could use a ChangeCounter column where you would know if the record is updated. If the number is more than one, show the action button.

Good idea, but that would work for the first change, but not for subsequent changes.

Other ideas?

Why it won’t work?

I believe I understand now what you are looking for. You need one simple text column without any app formula or initial value. When you save the record for the 1st time, the Event action is not triggered if you check if the record is new. Every time when you update the record (and if it’s not a new one), the action will write CONCATENATE(“Show”) and the Workflow action button will be shown. When you click that workflow action button, it will write CONCATENATE("") and the workflow is triggered.

Do you mean that you would like to bring data to your workflow over the security filter?

Yes.

Exaclty

Either 1) taking the security filter into account (so only the data that is allows through the security filter is brought into the workflow) or 2) completely bypassing the security filter (all data is sent to the workflow, regardless of the UserSettings)

You need to find a way how you can show the data for your monthly report. If you have a security filter like that, it will filter the data as well because you don’t have that data in your device. Maybe with another usersettings?

Maybe move the security filter code to a slicer row filter instead?

If the meaning of the security filter is to reduce the data size, then you could make a combination. Bring only last 31 days with the sec filter and then filter the user with the slice.

The security filter was aimed primarily to limit access to records for only the facility that is logged on.

Limiting data size is also a concern as the number of facilities grows.

The records are for staff, so there is no meaning to “last 31 days”, since all rows for all staff need to remain accessible.

So going back to your previous comment about the data not being on the device…

If a user selects the facility, this is saved to UserSettings, and then only the relevant rows are loaded, why don’t those rows loaded to the device show up in the workflow report?

Top Labels in this Space