How to get deleted exceptions from recurring series from the Rest API - outlook-restapi

When you create occurring event in Office365 Outlook and delete a single occurrence the change is never reflected in the data consumed from the REST API.
I get the exceptions (modified only) when I populate the occurences of the Series Master:
https://outlook.office.com/api/v2.0/me/calendars/XXcalendaridXX/instances?startDateTime=2017-05-20&endDateTime=2099-12-31&$filter=Type%20eq%20'Exception'
This will give me all exceptions that got modified (e.g. time changes). However, it does not return the occurings that got deleted. Is there a way to get modified AND deleted exceptions?
I need this information in order to create a proper "EXDATE" string when I export the Series Master to iCalendar format.
Thank you

The only way I've found is to compare occurrences provided by endpoint (list 1) with occurrences calculated based on recurrence rule of a given recurring event (list 2).
If there are occurrences from list 1 that does not present in list 2, then that occurrence was deleted.

Related

When one field doesn't equal another field then show a completely different field

First time asking a question and have learned a lot from this forum. I work in a weird industry and we are using NetSuite. I am having a hard time coming up with a criteria or formula for what I am trying to do. On any sales order we have the Business Source who could be the listing agent or the selling agent for a property. The business source is not always the listing agent or always the selling agent. So I am trying to do a search where (excuse the bad coding example):
If business source is the listing agent, then show the selling agent
If business source is the selling agent, then show the listing agent
From a sales perspective, we want to reach out to the other agent, even if they didn't direct the order our way, and thank them for working with us.
I hope I was somewhat clear...and thanks in advance!
Add a line in the Results tab and select Formula (text) under the Field column. In the Formula column add:
CASE WHEN {custbody_business_source} = {custbody_listing_agent} THEN {custbody_selling_agent} ELSE {custbody_listing_agent} END
You will need to replace the fields in braces {} with the correct IDs for the fields you're using. I have assumed that these fields all pull from the same list of records (contacts or customers) for the information they contain. It probably won't work, for example, if one is a select (List/Record) field and the others are Free Text. This simply compares the Business Source field with (arbitrarily) the Listing Agent and returns the Selling Agent if there's a match, otherwise it returns the Listing Agent. Note that this means the Listing Agent will be returned in any other circumstances also; for example if one of the compared fields is empty.
You could match the Business Source against both the agent fields explicitly and return some other value when neither match by extending the CASE statement a little:
CASE WHEN {custbody_business_source} = {custbody_listing_agent} THEN {custbody_selling_agent} WHEN {custbody_business_source} = {custbody_selling_agent} THEN {custbody_listing_agent} ELSE {somethingelse} END
or by using a DECODE instead:
DECODE({custbody_business_source}, {custbody_listing_agent}, {custbody_selling_agent}, {custbody_selling_agent}, {custbody_listing_agent}, {somethingelse})
DECODE has the following signature:
DECODE({expr}, search, result, [search, result]..., [default])
It compares expr with each search value one by one. If it finds a match it returns the corresponding result. If no match is found, the default is returned, or null if default is not specified.

Automatically update the file path of Vlookup to the newest workbook added to a folder

Hello each month we receive a series of monthly returns from different accounts which go into a designated folder based on the account name. Each return has the new month's returns appended to all the previous monthly returns. I am running a vlookup function on my workbook based on the specific return I am looking for. Is it possible to change the source on the vlookup function so it takes the data from the most recently added file in the folder, that way it will contain all the most recent return data with all the previous returns?
Thanks
There are many ways to do that. The first step should be to connect to the designated folder. You should see then something like this:
Option 1: If the file contains the month
If your file contains the month you can use it to extract this information. Following the example above you could:
extract the first 7 charactes and parse it to a date.
sort the date in descending order, so the latest file will be on top
use keep rows to get rid of the rest of files
with the last file remaining, expand the content
Option 2: Use file properties
When you connect to a folder you can see the field "Date created". Use this the same way as explained in option 1.
Option 3: Remove duplicates
If for whatever reason the two options above are not possible, depending on your data you can:
join all files which will lead to duplicates
filter duplicates
This third option might not work if you could have two registers which look the same (all columns in the row have the same value) can appear in your dataset.

Excel/GSheets count unique versus reoccuring values in dynamic list

So I have a large data set of webinar conference attendees - about 30k+ rows. I need to write a function (either in Excel or Google Sheets) to determine if each participant is a first time or returning attendee. The data set is sorted chronologically by event from oldest to most recent. Let's use the simplified version below to better illustrate the business case here.
Check out the simple sample set here.
I considered using named ranges for each of the webinar sets and searching to see if the user exists in that range but given the scale and various webinar attendee sizes that would be tough. I also thought about index-matching the various attendees but because the number of attendees per event is so variable (anywhere from 5 to 500) that too would be frivolous. I feel like I might be missing a relatively simple solution here - please assist! Thanks!
Have a try on below formula. It will work both on excel and google sheet.
=IF(COUNTIF($B$2:$B2,B2)>1,"Returning","New")
If you need to show N/A for first web inner then use below formula.
=IF(A2="A","N/A",IF(COUNTIF($B$2:$B2,B2)>1,"Returning","New"))

Multi LookUp - Check for unique values

I´m trying to set up unique values in my PowerApp-Form. The data is stored in a Sharepoint list. I have a column called watches, items in this column have a unique number, which have to be unique. People can pick multiple of those watches in a LookUp-field. But before submitting the form, I need to check if those picked values already exist in my list and at least display an error message.
I have setup a regular text field and added following rule to it:
If(LookUp(MyList.Watches;DataCardValue4.SelectedItems.Value in Watches;"OK")<>"OK";"No Error";"Watch already exist")
DataCardValue4 is my LookUp field, where people can pick those watches. With this rule I want to check if a item already is in my column watches and let my text field display the error. Somehow the rule doesn´t work.
Can you tell me how I compare multiple lookup choices to my table/column entries?
The first parameter to the LookUp function should be the table (SharePoint list) rather than the column. So the first parameter should be 'MyList' rather than 'MyList.Watches'. Also, I'm not sure that the formula provided (second parameter to LookUp) will work. In your formula, you will be looking for multiple items (DataCardValue4.SelectedItems.Value) within multiple items (Watches). Perhaps you can update your app to have users only pick one watch value before submitting?
One last thing to note. I'm not sure how big you expect your SharePoint list to get, but I would highly recommend keeping your LookUp formula within the bounds to support delegation. More specifically, SharePoint has different formula requirements than other connectors. For example, you can use '=' in your formula, but not 'in'.
Your new rule might look something like below. Please note that it could have syntax errors and might not even be delegable in it's current form since I am providing the rule with no checking. Also, I switched from using LookUp to using Filter instead just because I'm more familiar with Filter. However, both functions are very similar.
If(CountRows(Filter(MyList; DataCardValue4.Selected.Value = Watches)) > 0; "Watch already exist"; "No Error")

Expression Engine - How do I randomly display one of the last seven entries?

I would like to randomly display one of the last seven entries from a particular channel. I tried using offset="" but that happens to be exactly the opposite of what I need. I also considered using a date option: only show entries after a certain date, but that would only last for a while before it had to be modified.
Any serious suggestions will be seriously considered.
Thanks.
There's really no great way to do this natively with expressionengine.
Check out the AB entry ids addon. here's a specific example that should be what you're looking for: http://www.addonbakery.com/docs/ab-entry-ids.html
Just add orderby="random" to the nested channel entries tag pair and limit the entry ids query to 7.
http://devot-ee.com/add-ons/ab-entry-ids

Resources