Reporting Function fields - Platform Analytics Academy - April 5th, 2023
[Music] thank you welcome to platform analytics Academy um good morning good evening good afternoon wherever you may be um thank you once again for always joining um this is uh as usual this is information that is always for you we try as best we can to bring fresh ideas and better understanding practical guidance to uh using uh platform analytics and other things within the platform so uh if this is information that you're curious about you are definitely in the right spot this information will be recorded so you don't necessarily have to take notes you can take them but just know that you'll have this information later on today or early tomorrow morning it will be out on our YouTube channel as well as out in the community and please feel free to ask uh questions in the Q a if you could put those in the Q a rather than the chat it would definitely uh help out there are other panelists on the call that are monitoring that and if they can answer the questions via type then we'll do that and also if a question comes in that is relevant to where we are in the presentation we uh we love stopping and going ahead and getting that answered um then and then also so any questions that you have that are unrelated to the content that we're covering today those are welcome as well please feel free to ask those and again if they can be answered someone on the panel will definitely uh do that and if they can't be done via type and they need to be done uh live then we'll get to those after we've answered all the questions that is related to the content so um save Harbor notice um I don't necessarily know that there's anything in this that requires this but we always like to make sure that we share it with you all so again uh please keep this in mind as you are listening to the content that is covered today and make sure that no buying decisions or whatnot are made based off of this presentation so um my name is Thomas Davis and I am a host and also presenter today and also have izoc that is going to do uh some presentation as well and I as usual always have um my co-workers Tara Dan and Adam I don't know that Adam is here yet but he may come in and I did notice that someone else uh came in RJ so I went ahead and promoted him he is on our team as well I don't have a picture for him but he is here and it's always great to have um Robert John here as well so I would I would think that he had there's some questions that he can answer as well but thank you to all the panelists that are here So today we're going to talk about function fields in reporting and show you some tips and tricks um if this is something that you're not familiar with then um it is a very powerful feature that we have added to reporting a couple releases ago and we always are uh definitely adding new things to that so um quickly what is a function field so uh inside of reporting a function field gives you the ability to take um other fields and uh put you know uh constants on them and the functions on them to derive a different um results and have that and be able to report on that so you know regular Fields uh store value in the database a function field displays the results of a database query so it's querying the table or whatnot bringing that value together and uh representing that in the report and there's also other ways that you can use those as well which you'll see later on in the uh demos that ezoc is going to do so function figure bills provide a simple to use and intuitive way for customers report admins to perform calculations based on platform data so things that may have had to be done not all of the things can be fixed with a function field but some of the things that maybe used to require creating a database view now you can do those directly on the Fly inside of the reporting so what I want to do real quickly is just kind of talk about the the function field operators that are supported I know that these this slide in the next few ones are quite wordy and and it's not really about reading those this is more about reference and just kind of getting you to understand what you can do especially if you're someone that's not familiar with um you know functions whether it be in Old School SQL or wherever else but just to kind of get you to understand some of the the or The Operators that are supported so I'm just going to quickly touch base on all of these here and again like I said I'm not going to read this verbatim because it's just too much to read in Wood board for all of you and then I would see the number of attendees start to trickle off and I don't want that so um real quickly so like I said the function fields are not stored in a database they're calculated when you you retrieve the data and currently you can figure up to 20 active function fields on a report or on per table and I'm sorry to use inside of a reporting using the report designer so um real quickly the operator so ad so what's I mean AD is very um very simplistic right is just taking two number Fields as inputs and adding them together and returns a result on a field value so for an example um here you can see that we're taking the child incident in the paired incident and we just want to add and see how many are there so uh let's say it returns six that would mean that maybe the incident has filed child incidents in one parent so simply it just adds those two together to give you an output of a number very simple uh concatenate which is uh something that if you're familiar with uh SQL or whatnot or other you know know um types of coding languages it just gives you the ability to bring two Fields together and represent those in one field so in this example we're just taking the incident number and the short description and we're going to Output those into the same exact uh field and you can see that we've done that and the all of these show again the Glide function that you can use to uh in order to make these type things different are there for you so the next one is date div so this is going to take two day time Fields as inputs and calculate the the difference between the two and uh and show what that is so in this example we just take the closed at and this is created on and it gives us a duration of those two times so here the example result would be 10 days 8 hours 23 minutes 11 seconds seconds so it's just taking those two and pump those out so um next we have day of week so if this is something where you want to start um or figure out where a result is based on a certain time of the day a week so here you can take two arguments a day field and the constant of either one so let's say that the week starts on a Sunday or if the week starts on a Monday what is the results of that based on that so in this example we're saying uh show me the the resolve date uh where it's one so that means that Sunday is the start of the week and if resolve at occurs on a Wednesday Returns the fourth Engineers one and three if the integers two so that basically means what day of the week did the resolve that occur so it just gives a number so here if if the date of the Wii starts at a one and it was resolved on um that Wednesday it's just letting you know it was the fourth day of the week so it's just a whole number so next um divide so this is simple just like the ad so it just takes two uh fields and basically does that that division math and in this case it's saying that um uh in this example you number two and you number one and basically if it returns five if you number two was a ten and you number two uh or you number one was a two then it's simple math two or ten divided by two equals five and it just shows that inside of a field so again very simplistic uh math there next we have length so this takes a string field as an input calculates the field length and characters and returns those to a field value so in this one we want to say what's the length of the short description and it returns 37 if the store description was this application is performing a test that basically is counting all of those characters including the spaces and uh telling you what that number of characters uh is again very simplistic math um if it's something that that someone is curious about here's the way that you can actually do that inside of a report so uh next is multiply again one of those very basic math features and it's basically just taking two numbers it's pulled out in this example uh you number one is eight and you number two is six and when you multiply those it would obviously return a value of 48. so again whatever the number is you want to have it needs to be a number field so it can actually do the math um if you did this on a Stringfield that had characters in it then it would it would obviously throw an error and wouldn't let you do that and actually uh when you're actually building out the function it would tell you that those that particular field wouldn't work so the reporting uh designer itself building out the function field is intuitive enough to know that you've selected something that uh wouldn't particularly work with that type of uh math and then subtract again I'm sorry I was just going to ask if you plan to cover report ranges in this session um okay part of it will be there yes okay yeah okay awesome thanks yeah thank you Visa thank you sir um next is subtract another one very basic math uh again in this case it's taking you number one is eight and your number two is six and it returns a two very simple so you have two different fields you just want to do that simple math that Glide function is there uh to do that so next is a substring so this takes the text field and two numbers as input Returns the first instance of a string that starts at the position of the first home number and is the length of the second so in this example it's saying short description um and it wants to get the field of where it starts on that count so with character seven is where it starts but then it only wants to go two characters so in that case it pulls out go from going because the G is the seventh character and then two characters from that um and even counting that particular seventh one it just pulls go out of that so maybe if you have a text field where you want to pull out from a certain point and see what that value is uh you can do that with a substring uh Colace so this takes any number of comma separated Fields as input and Returns the first non-empty values so in this case we're looking at the closed at the resolved at and the CIS updated on and it basically wants to see you know what is the first bill field that is not empty so in this case if the closed Act was empty then the function would return the value of the result resolved on if the reserve resolved on was empty then it would return the value of the CIS updated on so just a way to take some fields and look through all of those quickly and find the one that actually has a value uh in that and then the last one that we'll we'll talk about is the position so this takes two Fields uh or two fields and a whole number as an input and tells you what um the particular value is at a certain position of the value that is in that so an example here if the value was short description the field uh the computer is performing an upgrade but it's looking for an e it's basically counted and it said okay e um is where that particular value is in that position of the short description so um I don't know necessarily A use case offhand that would would need this but it's there and available in ezoc or or even Robert zone or Dan or Tara may even talk about something that they're familiar with where using the position is something that um is needed so those are the The Operators that are supported and I believe that there's another one that um ezoc is actually going to talk about in his presentation but really quickly I just kind of want to show a couple examples of of what it what something would look like so here you can see that we're using the date div and we just want to calculate resolve to open and you can see here the Glide function date div and we put those particular fields in there and then the results is the the list view that you hear and it's basically saying that particular one with the green box around it is saying nine days from one to the other but you can see here and you'll see it a little bit more in the demo is um I have the label I have what type of operator that I want to use and then here it'll actually let you pick that particular operator and then or it shows I'm sorry this is a return type of what we wanted to return as and then you can select the operator and then it actually lets you select those particular fields and here you can see that the syntax is correct for this function so if you remember earlier I was talking about where um if you were looking for if you were using an operator that uh was looking for two uh fields that had a numeric value in that and you selected a field that didn't have that in that in that syntax it would tell you that that that's not going to work so nice built-in feature there that it's it's looking at that um syntax to know whether or not it's right or wrong so this is a very basic one here that I've just shown an example of and then next we have so here I want to take the the short description and I just want to know what the length of that is and again I've gave it a label and I've told the kind of return value I want to hold number and I selected the fields in there and here you can say that this is it has 20. so 20 characters again including the spaces that are in that particular short description um maybe that's important uh for something uh but again it does give you the ability to actually do that and knowing that it's looking for characters this syntax uh works so that pretty much will work probably for anything and izak you can correct me on that when you start talking but if there's there's values inside of a field it's going to count those um and then the next one that we have is how do I bring two uh Fields together we talked about the concatenate and being able to do that and here you can see that I labeled it in and the value is going to be a text and the operator and the field so the operator I selected was concatenated concatenate and and Cat excuse me and the field I selected was number for incident number and short description and you can see here that I went ahead and threw in a slash here to separate those so that way when you're actually reading it you can see it so here you can see the results so now I have the number field and the short description field but I brought those both uh together so maybe rather than um having to display both of them individually you could just choose to display this so um with that those were some very basic and again just kind of talking about the different operators that are out there but the tips and tricks that we kind of want to show you is where izoc is going to come in so izoc is going to demo and show us and very uh other very powerful ways that you can use the function fields that you create inside of the reporting UI so with that ezoc unless we have a question Tara Dan do we need to answer we're good looks like ezoc's gonna answer them all live so izak if you want to go ahead and share and go ahead and do what you got to do yes I will thank you very much good morning good afternoon good evening everyone um I am Isaac okay I think you can sing the correct yeah perfect uh okay so as Thomas mentioned uh function fields are very powerful we created them I think two years ago I think it was Orlando third release we introduced them in the reporting uh but in the platform they existed well one release two releases before that and there is a small distinction we need to make so as I said admins can create function fields in from the dictionary which is not the most well beautiful or intuitive UI to create a function field and but because of the value that function Fields bring to customers we decided to bring it in the reporting edit so I'm going to go to a report uh so this is based on the incident uh table here under configure we have we added this button configure function field in order to be able to see this button there are two roles either you are an admin of the platform or you are a function field admin as we call it and this is the role you can give to the people you would like to be able to create function fields as Thomas mentioned earlier or function field admins we have a limitation in this UI to create up to 20 function Fields per table and 20 not for themselves because the fields that you create here they are being used widely from everyone in the company everyone can use it as they want to so hence we created that limitation because people can start creating hundreds of millions based on every single report that they have but most of the times when a function field is created it covers quite a lot of the use cases hence we have that limitation of course admins can always create as many function Fields as they want but if they reach the limit of 20 they will not be able to use this UI they'll have to do it from the dictionary and I will walk you through this uh two different ways of how you can do that uh now since I have the role I just click configure function field here on the left you will see a list of all the current uh function Fields created on this table and of course we have a search functionality if you have more than 20 which searches even in uh in uh in the script that you're using to Define in the definition of the function field sorry so as you can see I can just write the field and I it filters directly to all the fields that are relevant to what I wrote even on the definition or I can say for example resolve that and then I can see which function fields are using this specific field now I will try to create one so that we can go through the process a label which is pretty straightforward let's call it duration field Academy now the return type so these are all the different types that you can Define as a function field we try to give them more of a real life names instead of all the technical details like for example the date which is the Glide date in our platform or the daytime which is Glide daytime so we try to make them a bit easier and also to give an example of how the outcome would look here on the right so that you'll know what to expect as an outcome when you define something so I will created because you just pointed out the date and the date and time so can you do a calculation between those two or do they both have to be day or they both have to be date and time what kind of calculations I've been trying but I believe it will work because it will take us a day to the zero zero zero zero okay so it would just okay cool because the date doesn't contain time right so the duration has been considerated yeah it should work yes we can give it a try of course um so I was I created the duration and now the operations so this is what Thomas was mentioning this is the complete list of all the different uh operators we we support at the moment um well it says add concat they live with a bit of text and also examples so that how it can be defined and in our case we'll use date div because we want to calculate the duration and then as you can see instantly the moment you select the operation uh the the syntax is always being evaluated and on the right side we have all the fields that you can use the instant table and so for example I can pick up the results time here you might need to use your keyboard or your mouse just move on the second part of the of the formula that we are creating and this second field should be the open path for example and the moment you create them if the syntax is correct then you click save the function field is created and as it says the message on top if you want to reuse this field on this specific incident you will have to refresh your browser so I will do it and now I'm going to add this [Music] new function field that I just created in my list I can duration field okay duration field Academy okay and I will add it in the list now we will start seeing execute the report so this is the field that we just create created right the duration field in Academy so the function Fields can be used as any other type of thing so you can Group by with them we can search with them a bit of a node here if you try to search on a function field because it doesn't exist in the database and it is being calculated it is not in text so it will be really slow especially when you try to search through millions of Records so just be very careful on that side now to answer one of the first questions about performance so the reason uh I think I I caught up a bit I mentioned to it quickly earlier performance is not affected because the data are being retrieved from the database and the calculation is done on the database level so there is nothing in between that interferes so the calculation is almost instant and with uh in the test that we did with I think with 50 million records or something like that the performance was in milliseconds what it affected the performance in milliseconds so it was really insignificant uh of course if you try to create a two or three thousand for example uh Records yeah that can increase but uh that will increase a bit more the time but it shouldn't have any effect hence the limitations that we had uh another part of the limitations that we have is that for function filled admins so people that use this UI to create function Fields so we do not allow dot works so at the moment if I try to create to add a DOT book for example in let me recreate quickly at this result that of course here I didn't mention you can always if you love typing you can always type it no one is going to say no uh but if I want to for example dot work here to say I want to pick up from the assignment group dot says create it on as you can see the moment I put the dot uh you get a message that the books are not supported but if you are an admin you are allowed to create a DOT workspot from the dictionary entry the main reason is performance and this also comes back to the question that Flavio asked I mean in general function Fields should we create a problem but if you start adding multiple dot works here every dot hook that you add is like adding a join in the database and that can delay the process that's why we left this only up to the admins to uh to do to Define such fields at least for now because we're working on it to create something that will not have this effect and will be able to provide the functionality foreign users to use that works in the filter now um we created the film yes so so far in performance analytics especially when you create an indicator and you wanted to use the result time you always had to create a script and for that for example I'll bring you an example that we have here that will provide up the box it's the some duration of resolved incidents and as you can see here we are using a script and a script looks like this let me open the record so and what it does at the end of the day it just does the result that minus open type and it retains the result which is more or less similar to what function Fields do but here you'll have to write this script so that is one part the scripting part well some of us might like to write scripts but well it's not that easy and it requires quite a lot of technical knowledge but if you compare that script with just clicking here I think it would be much easier to configure a function field and then what you can do actually is to come to Performance analytics and create the indicator or update your indicators by using the new fields that you created so we called it earlier first because I just created the field duration field Academy and this is as simple as creating an indicator on any field that's pre-existed uh now this answered that question uh I remember there are two more things that I need to answer so I'll go back to the list and I'm going to filter here function fields and here I have a bar so I created earlier I report on my own function field but now I will change it to duration field Academy which we just generated I will click run as you can see here the report ranges are applicable in here and that will answer the question to Karen if I remember correctly so this way you are actually you are using the default ones because the field was just created but you can Define your own report ranges for the field and then this is the report ranges that you will see uh performance and now okay now we go to the question the million or one thing I didn't mention give me a second so I just saved the field and I will go back to our report and I will show you uh okay so this is the field that I just created but as you can imagine sometimes I can create something and later or change my mind and I would like to delete it for function field admins we do not give the option to delete the fill a field but we give them the option to deactivate it so the moment you create a field you deactivate it so all it does it just goes to the dictionary and sets the active to false the moment you click the activate and we do a check so because as I mentioned everyone in the platform can see the field that was just created and everyone can use it in any type of report so what we do is when this field is used in any type of report we give this error this warning where you can actually see which reports are using this specific field so that if you would really deactivate the field then those reports will not work correctly anymore so that's a way for that we provided so that people do not just deactivate any field now you can deactivate if you are not an admin only fields that you created so if Thomas or robertia nortada or Dan creates a field I will not be able to deactivate it if I'm not admined they will be able to deactivate their own fields and that's also another safeguard that we added and there is a second limitation that we had when we implemented this UI which was the database use and I think this might be related to a question that came earlier so initially when database use did not support function Fields but the platform I think it was last release if I'm not wrong they implemented the support of database views and function Fields so now you can view the values of the function fields in the database View and you can even do calculations so that was added and the now question and yes so this is only for admins what I'm going to show you because our UI does not understand now for now in quotes so now I'm going to thank you to uh well I created this report maybe I can use it let me take it let's create a new report on task table and we can use the field that I created earlier foreign task and now in the columns the second little don't remember how calmed my field it was duration now okay okay and now I'm going to save this report and now you're going to see how it is defined so uh now can be used and it Returns the current date and time okay uh and the the only three two parties because this was added after we created this UI you will not be able to create it from the reports but if you go to dictionary you can as you can see here for example you can add it and then it will work correctly but you will not be able to edit it from the UI that's something that is in our backlog to to fix and what it does actually as you can see here what I did is just to create to calculate the duration between now and this is created on so as you can see here for all the fields that I have all the records that I have on the task table they the time is calculated now if I click run again you will see the time changes so every time you click run because the calculation is done again the numbers that you see will change so keep that in mind because that's what now is there for right admins I have the possibility to deactivate any fields from anyone they are admins the only people that cannot deactivate is the function field admins which is a separate role and these are the people that are allowed to see the button here in the UI so that they can create their own function Fields these people with this ROM will not be able to create or deactivate fields from other function field admins or admins I hope this answers your question Sherry I'm going through the questions all right one thing that I didn't mention is that the function Fields they are working on the record level and they are working on how things are stored in the database okay so if you have a choice field we are storing the number in the database we don't store the text so if you try to use that part you will get only the number that is stored in the database so please be aware of it and the second thing that you need to be aware of is the dates the dates we store them in the database always in UTC right and then it is being converted to when the data is being retrieved to the user's time zone so be careful if you try to pick up in a function filter value from the database you might have this inconsistency of what you expect to see which is the user time zone versus uh what we store which is the UTC there are there are ways to bypass that by adding or multiplying numbers but I will not go into that now just be aware that when you reach numbers it's always in UTC okay um just for some um I think there was a couple that you have selected that you're going to answer live but uh you may have already done those you just need to clear those off um so we you kind of talked about uh dot walking and how it's not um available except for admin but but uh and Chris kind of talks uh he asked the question a little bit more specific to that so I'll read this and and maybe we can decipher what we can do here so um really specific field on a specific record the example is to calculate the license cost of a server using the cost field of the software asset Record Times number of CPU scores or cores per server CI so that that sounds like multiple tables and and maybe we can unmute Chris we can give a little bit more clarity unless izak you understand what he's asking there I understand what he's asking what I don't know is if these two fields are on different tables the only way to achieve it is to create a DB view that will link this to and then you can multiply the films if they are on the same table then you don't need a database view so you can do it directly as I just demonstrate it you can just come to configure function field and create a new field that will just be a number yeah and then you can say multiply and you select the two fields from the list and you will get your answer yeah sorry yeah I'm Chris Chris let me know just type back if that answers your question or not uh and then we'll go from there go ahead Tara no esak was just about to answer uh um oh the question disappeared where to go oh mirror I think it was Muriel's Mary Ellen yeah I can still see it yeah they have the same question the question is yeah yes go ahead if there is a way to have AIDS and duration now so only the days yes that is possible and you can do it in the next experience UI so when you create reports the next experience you can Define uh in the format even uh I think even in uh you can do it but I don't have the the correct terms you can Define the if you want to display the duration in hours or in days or anything you want to see them so you will be able to get it of course the calculation will always give you uh every single even the milliseconds if you want but you will be able to change the format of it foreign just like any other fields they are exist in the dictionary so yes I would say but I will put also a question mark if there is anything I don't know in theory all the API calls are that based on the fields we currently have so the moment you send your API request the value that was calculated that moment will be used um so yes they they are available of API calls I I am 99.99 sure but uh I live just one person because I didn't try to be honest when a function field is deactivated does that mean it is deleted as well no it is not deleted so what happens when I deactivate a function field it just comes to the dictionary record and it unchecks the active and it saves it which means that from that moment onward this field is not calculated it's not visible in any list or it's not even being retrieved from the database um well the reason why we didn't want to allow people to delete the CIS dictionary is something that this update will come into an update set as you know because every dictionary change comes into the update set and users that create reports do not know anything about update sets and how things are transferred from one instance to another one thing that I didn't mention earlier in order to understand which fields are function fields in the database except of course of having the function field check is we we named all of them with a u underscore reporting underscore and then the name of that you provided so that you know whatever starts with you underscore rpt is always a function field that was created from us since we're on that topic does um do the deactivated functions count against the 20 Max per table no no they do not no and then we should be able to get business duration as well it's asked by using the Glide function for it right just wanted to confirm um well that is a bit tricky now the problem is that there's a problem the function fields are created to retrieve the data from the database directly business duration requires a calendar next to it which we don't have that available when we try to retrieve with one single SQL statement from the database the data so business duration is going is not going to work with function Fields if you want business duration you'll need to calculate it on the Glide side on not with a function field I'm afraid and Mike hello Mike have there been any improvements regarding supporting function built-in currency fields or do earlier limits continue to apply now at the moment they still apply uh Mike would do have the limitations on the currency fields as they were yeah but this is something as I said we are trying to find out a way to move to a different model from the function Fields so the idea the ideal scenario was not to have to create dictionary entrance so that's something we are evaluating how we can achieve it without creating a dictionary entries but be accessible everywhere I think this was the last question that is there's none currently um he's up were you done with demos yes okay okay great awesome thank you uh so uh we do have about 18 minutes left so um if there's any questions uh that anyone has please uh feel free to to ask those uh what I'll do real quick is kind of uh I'm gonna ask a question sure all right you can ask a hard one uh well uh we're kind of going back and forth offline here about the Now function um and I must have looked away for a split second because I didn't hear you talk about it did you talk about the Now function Isaac yes the noun function is supported yes but uh because as I said the UI has not been updated yet to understand it so that people can use it from the report directly using the configure function field but admins can you go directly to this dictionary and use it yeah so to clarify it's not reported it's not supported in reporting function in the reporting UI but it is supported in okay that's what I want to clarify that's what I want to make sure so I can't use the now function inside of my inside of my function here in the report UI yeah if you create it just if I can share it with my screen maybe it will clear a bit of so as you can see I created this function field I created from the dictionary but now when I open it from the reporting UI because now is not understood it gives me an error that there is an error so I cannot update it from here but it works perfectly so that's something just that the API of now was added the support of now was added a bit towards the end of the release so we couldn't update the the UI to understand this so you're saying that it will work if I just add it here in the function in the in the report UI it just it'll just show like it'll just show that there's an error it will not allow you to save it you will have okay that's what I thought yeah so it has to be created at the table level yes on the dictionary itself yeah yeah okay that's right okay good that's good clarification thank you yeah so Mike um I know you had a question about that specifically in the chat so I hope that gives you a little bit more information because I thought it was available through the UI misunderstood that okay thank you now I see a question if it is possible to have a function field that will calculate the average age of the tickets as I mentioned uh function Fields work on the record level they don't work on uh the total number of records that you have in your filter no for those use cases yes yes yeah so yeah it's like record level calculations for the Aggregates that's something that you could actually use performance analytics to do your calculations with a formula okay I'll stop sharing again Thomas and what I want to do real quick is just kind of um yes I hate when it puts it there put over here just uh real quick in ezoc you have alluded to some of these I don't know if you talked to all of them but there are some uh some limitations so just real quickly I just want to read through these so um everybody understands so function fields are not currently supporting the database views he's up talks about that um in the reporting UI the platform does support function fields and database views but the reporting UI does not references of a function field in another function field is not possible so if you create one and then try to add it into uh another one it's it's not going to work there either uh function Fields cannot be encrypted uh they cannot be um indexed uh the function Fields cannot be converted to normal Fields they are function Fields that's the way that they'll read out and again like I said the number of function Fields per table is limited to 20 unless you're an admin then you can create those at the table level the dictionary and again uses of dot walk is not allowed a report admin due to Performance issues admins are able to use uh dot walks are there any other limitations list that you wanted to talk about nope these are all I try to catch up on all of them so this is the summary thank you very much okay okay real quick on that Now function is that going to be available in the next release yeah okay thanks RJ do you have any thoughts on the questions yeah I was going to say is Robert John still in the call here all right can you hear me yep yes yeah um yeah I heard the question and um but I do not know the answer so I got we we indeed need to check with the uh with the with the PMS on what's the status there okay Safe Harbor right yep okay yeah um okay um so I thought ezoc said database views do support function Fields so is there there's some confusion there no there's no confusion which is just the platform supportive that's the reporting UI does not right so in the reporting UI you cannot configure the function field on the database but then um as an admin using the dictionary yeah you can create a function field and to do a calculation between fields of different tables because that's what database views are all about foreign there okay so how much time do we have here about 11 minutes so um if there are any other questions about anything at this point or again the function Fields please ask um or we'll get done a little early today Dan Terry I usually have some really great scenarios in your pocket anything that you can think of that you want to add to this not right now no discussion thank you ESAT really appreciate it reporting like Holly's coming in with the question right now okay Holly Holly we got time speak now or forever hold your peace would you prefer to be unmuted either okay let's just well you're in here twice Holly so I don't know which one that you see if that one works go ahead Holly you can speak unless it's the other one let me try the other one okay Holly try you can tell that one was it there you go hey I have a really odd question and and hopefully somebody on here has had this issue um so we have HTML fields on forms right and if you set it to be a mandatory somebody can take their space bar and put like four or five spaces in it and override your mandatory and I don't know if this is new from the new Polaris um but it's been noticed recent okay so you're saying that there's a field on a form that is mandatory to fill out and it's an HTML typing something in it they could just put space bar and get past the mandatory part of it yeah it takes about four maybe five spaces and that might be good to raise a case on our high support to see if that might be a defect or not because it depends is it on one table or is it across different tables where we have HTML it's across the board yeah I understand your expectation would be at least what is written there to be HTML right at least but uh yeah I don't know the answer I think a question on a case on our support yeah because if you put one or two spaces it doesn't do it but if you get four or five then it's like done I mean in a way I'm almost impressed that someone took had the diligence to actually try that we have really smart users or sneaky users yeah if they can get around something they'll find oh yeah yeah I I think also that Josh Cooper put something in the chat I don't know if everybody's looking at it but um I think he's right so so typically the answer is then to retrain the person to fill out the form or it's got something in the form so it's technically meeting the mandatory condition but if it's service desk worker you'd want to retrain them if it's request then you could cancel it uh I guess that the question is is how often that it's happening is it is it the you know same users or I mean so because what I'm kind of curious about if you've had multiple users figure out that it's four or five space bars to get Beyond it or is it just like one or two to keep doing it so this is our incident request form for end users out in our main the 6 000 people that can get to it right and quite a few times they've some I don't I don't believe it's the same person but they help desk will complain they you know we got one without a description they they got around it and I don't know if one person figured out and they're telling everybody else yeah I mean I guess technically you could put like what Raymond is saying too they have sneaky workarounds as well it's putting a period and looks like there's just different ways to get around it to trick it right yeah that's that's kind of like doing implementations that was actually one of the things that I always talked about was that you can't like you end up in kind of like this Perpetual state of you know you can require it to be longer than a certain number of characters but you know eventually they'll type that in you can require it to match words in a dictionary but you know that doesn't stop them from just typing in whatever basically the only way you can really stop it is just like you know either start throwing away you know closing those incidents that aren't filled out correctly or you know or retraining those people some something that forces them it's it's uh the expression that we used to use was don't try to solve in script what you should solve in policy just because like I said it's a it's a never-ending cycle um I mean for for the HTTP field or yeah the HTML field you could require that URL to be oh sorry it's not even a URL it's just allows images and things like that I was gonna say you could require it to start with HTTP and if it doesn't then you know it's not a real URL but that's not necessarily what's in that field anyway yeah like I said it just becomes a never-ending cycle of like you know they can trick it they're not giving you real information it's like well if you didn't give me enough information to open the incident so we're just going to close it hope that helps Holly yeah it's I know it's not the answer you want well I just couldn't imagine how people were getting past it and then I started testing and I was like oh my gosh okay they're just hitting the space bar a bunch yep yeah since it's since it's a mandatory field all it's really checking for is that they put anything in there because it's you know space bar Works uh periods I would see a ton of you know just period period period you know but but yeah it's it's it's not it's it's a problem that comes up for a lot of customers thanks guys yeah Elena I answered to your question you were right about the date if we subtract them in one specific way so when you do your tests you need to put the all this uh well the result at first then I created as a second value so that you can get the results correctly so the one from Lena is that what you just answered are you getting ready to answer that yes yes but that's the one there were two parts so I wrote also to Atlanta but I also responded live so that everyone can hear it so the order that you use in subtract for example it's more or less the same as day diff because you just subtract the dates has to be in a certain way it's like saying five minus three or three minus five either you get different results depending on the order okay and Josh has that one so Dima um maybe you're asking to be unmuted here let me okay Daniel go ahead you should be able to talk yeah can you hear me yep uh so yeah I wanted to make a comment um Isaac said that in the new UI you're looking for a way how to create a function field without having it in a dictionary that is visible to everyone else um I actually find that there would be more trouble you know you have to worry about somebody deleting it or turning it off I think a function field should be per report uh this way it's specifically that report it's it's just on that report and calculates right there on the Fly there's really no need to tie to dictionary and you might have a different use case to that field then you don't have the limit of 20. um you know any reporting tool can do this and it has been doing it for years and currently this function field is a nice idea but it is so limited it has so little use uh like uh you know anyway so I'm just thinking in the new UI maybe overthinking it it's just my opinion just keep the function field on the report itself yes you're right that was one of our ideas as well but uh and this is what we want to get to to be able to have them per report but we don't want also to remove the functionality that we currently have that certain type of calculations are available for all users in the platform so I think we will we can say that we'll have both worlds uh available at some point yeah that would be nice yeah that would be nice to have one field that is commonly used and it could be reused everywhere then have it on the database view but I might have something really really weird calculation if you guys allow us to do weird calculations maybe function of a function you know where you get some substring of the string and you then you can do something with that number allow that I'm sorry that part you can do what you cannot do is reference because everything is calculated at the same time you cannot refer you can use two or three operators but you cannot use the function field from one to another you can recreate it actually in your script and then you'll get it right so I'm not sure if I'm clear so you can get the duration and add I don't know 24 hours to it and instead of using the duration that you already calculated so you can create a new field that will do the a calculation that you would like to um yeah anyway it's a feature that's been needed for a long time and there are still quite a few limitations and uh would be nice to see some improvements in that space we've used a little bit of it it comes in handy this now option is really really good we'll have to test it out but uh still there are quite a few limitations compared to any other reporting tools so and hopefully we'll see some more improvements as you will thank you for your feedback thank you okay so we are at the top of the hour and um real quick Lena I think that may be a follow-up question yeah okay so you're going to type that out yes it is so just try to use first the result date the maximum date and then as a second parameter the date that is smaller so that you can get the the duration that you expect because as you said there is no negative duration okay great thank you so uh just to be conscious of everybody's time if we didn't get to your um question please ask that in the community and tag any one of us and we'll we'll get to uh get that to that for you so again make sure you check out our community page this information will be out there later on uh this evening or early tomorrow morning um and it will be on the particular page for uh the academies um check out our Pro tips quick hitter videos three four five minute videos to kind of help you in your journey uh make sure that you use utilizing now uh learning uh again in this example I just serves analytics and many many things came back so use that the PA Advance on demand course RP Advanced is now on demand um so check that out uh this is our sister uh academies that are out there so of any of these topics uh interest you check those out as well uh you saw the video so knowledge is coming up and um a little over I think six weeks or under six weeks somewhere around that so a lot of us that are on the call will be there so we'd love to see any of you all and we do have some sessions as well some Labs um and with that thank you and thank you to everyone to join the panelists and all the ones that we promoted and didn't know that we were going to promote them Josh RJ thanks for uh helping answer questions and of course always Dan Tara and he's up thank you for the time we'll see you all in two weeks thank you
https://www.youtube.com/watch?v=dppCE-UYqRc