I have this zabbix trigger. The expression is
{reporting:aggr.processend.req.count.count(1440m,60)}=0
I want to clarify if it will throw a error , if the count is not 60 over 1440minutes
count(1440m,60)}=0 means "alert if the number of times, the item was equal to 60 in the last 1440m, is zero"
you need count(1d,60,ne)}>0 if you want "alert if the number of times, the item was different from 60 in the last day, is not zero"
Related
I am trying to calculate the difference in days between 2 data sets and then if the value is between 1 and 2 days then it should show compliant if the value is a negative number or greater than 2 days I want it to show non-compliant. I am not sure what I have wrong, it runs however they all show compliant
Background on the calculation needed.
IMM Discharge compliance - Hospitals must
deliver a copy of the signed notice to each beneficiary not more than two (2) days before the day of discharge. Follow-up notice is not required if delivery of the initial IM falls within two (2)
calendar days of discharge.
FYI - the first IFF statement is because some do not have dates so that was to account for those
=IIF(
IsNothing(Lookup(Fields!Account_Number.Value,Fields!Account_Number.Value,Fields!Intervention_Date_Of_Service.Value, "Interventions")),
"No Intervention",
IIF(
DateDiff("d",Fields!Actual_Discharge_Date.Value,Lookup(Fields!Account_Number.Value,Fields!Account_Number.Value,Fields!Intervention_Date_Of_Service.Value, "Interventions")) <=2,
"Compliant",
"Non-compliant")
)
I have tried multiple variations =1 or 2, etc if I use just the =2 they all show non-compliant
You have two conditions for non-compliance - the difference being negative or greater than 2 days so you have to check both conditions. Try something like this:
=IIF(IsNothing(Lookup(Fields!Account_Number.Value, Fields!Account_Number.Value, Fields!Intervention_Date_Of_Service.Value, "Interventions")),
"No Intervention",
IIF(DateDiff(DateInterval.Day, Fields!Actual_Discharge_Date.Value, Lookup(Fields!Account_Number.Value, Fields!Account_Number.Value, Fields!Intervention_Date_Of_Service.Value, "Interventions")) < 1,
"Non-compliant",
IIF(DateDiff(DateInterval.Day, Fields!Actual_Discharge_Date.Value, Lookup(Fields!Account_Number.Value, Fields!Account_Number.Value, Fields!Intervention_Date_Of_Service.Value, "Interventions")) > 2,
"Non-compliant",
"Compliant"
)
)
)
I'm working on WebI 4.2 Support Pack 4 Compilation : 14.2.4.2410. I have an array with the number of days to make an action. For example 967 times an action was make in 0 day.
I only want to display lines with 0,1,2,3,7 (one week),14 (two week),21,30 (one month),90 (three month) and more than 90 days cause it will be more relevant for my report. I tried to make a Running Sum on my number of days to get my total of action and then a percentage but it failed.
My formula only takes values of the displayed days skipping others. I use this formula to get my interesting days :
=[number_day] Where([number_day]In(0;1;2;3;7;14;21;30;90))
I don't understand why I have an empty frame after '90', i tried to insert the max value of "Number of day" after but that failed too.
Finally how can I get =0+1+2+3+4+5+6+7 in front of '7' instead of =0+1+2+3+7 here is the formula i used : =RunningSum([total_action])
I do not quite understand why you want to do this in the manner you have stated. Or maybe I am just not understanding it correctly.
It seems to me you need to create a variable to group your day numbers. Something like this...
DayNumberGroup=If([number_day] InList(0; 1; 2; 3; 7); "One Week";
If([number_day] InList(14); "Two Week";
If([number_day] InList(21; 30); "One Month";
If([number_day] InList(90); "Three Month";
"Three Month+"))))
Then your running sum variable should look like this...
DayRunningSum=RunningSum([Action Sum]; ([DayNumberGroup]))
Having DayNumberGroup as the second parameter for the RunningSum() function causes the sum to restart on a change in the value of DayNumberGroup.
I am not sure why you are excluding the values of 5, 6, 8, etc., but in order for them to not be lumped into "Three Month+" you are going to have to add a filter to your table to exclude them.
Hope this gets you on the right track.
I have to compare two values changing in both directions (rising and falling) within an hour (items amount, for example). What formula may I use to calculate if the amount drops or rises on more than 20%? Does Zabbix calculated value support if conditions to support positive and negative change or it's possible to bypass it?
I'm trying to write something like this:
{api20prod:mysql.get_active_offers.count(0)}/{api20prod:mysql.get_active_offers.count(,,,1h)}*100 > 20
but what if mysql.get_active_offers.count(0) more than mysql.get_active_offers.count(,,,1h) ?
You cannot use a "Simple Change" preprocessor because:
If the current value is smaller than the previous value, Zabbix
discards that difference (stores nothing) and waits for another value.
If you set the item with a 1h check interval (or with scheduled intervals at a specific minute of every hour), you can do the trick with the last() function.
Let's say that at 12:00 your item equals 25 and at 13:00 it equals 38:
At 13:00 invoking last() without parameters will return 38
At 13:00 invoking last(#2) will return 25
You can calculate the hourly readings delta % with:
100 * ({api20prod:mysql.get_active_offers.last()} - {api20prod:mysql.get_active_offers.last(#2)}) / {api20prod:mysql.get_active_offers.last(#2)}
This syntax should work either in a trigger or in a calculated item, choose the one that suits you better: I suggest a calculated item.
Of course, your trigger will have a double condition: you need to match "> 20" OR "< -20"
If you don't want to change the item's check interval you can use the avg() function, see the documentation.
I have multiple items that are traps that return an integer such as below.
app.tidal.Health.HighPriority.MessagesInQueue
app.tidal.Health.CommDefault.MessagesInQueue
app.tidal.Health.Default.MessagesInQueue
I want to create a trigger if two or more of these has returned a value of greater than 0 in the last 3 checks to send a severity High message.
I'm having a hard time trying to devise my trigger this is what I currently have:
{Template_App_Tidal_Masters:app.tidal.Health.CommDefault.MessagesInQueue.min(#3)}>0 and
{Template_App_Tidal_Masters:app.tidal.Health.Default.MessagesInQueue.min(#3)}>0 and
{Template_App_Tidal_Masters:app.tidal.Health.HighPriority.MessagesInQueue.min(#3)}>0
But obviously it won't work as it's an and statement so all 3 would have to be greater than 0 the last 3 checks. Formatted the trigger on 3 lines to make it clearer.
This should work:
({Template_App_Tidal_Masters:app.tidal.Health.CommDefault.MessagesInQueue.min(#3)}>0) +
({Template_App_Tidal_Masters:app.tidal.Health.Default.MessagesInQueue.min(#3)}>0) +
({Template_App_Tidal_Masters:app.tidal.Health.HighPriority.MessagesInQueue.min(#3)}>0) > 1
Each part first evaluates an individual item to be larger than 0. If that is true, that part of the expression evaluates to 1, if false - to 0. In the end we sum up the results of these evaluations (not the original item values) and check whether two or more items had values larger than zero.
I have a table named "Resolved Request", in which I have two specific columns: Date Assigned and Date Resolved. I have a third column named Time Spent Resolving, which should be the amount of time between Date Assigned and Date Resolved, in days hours and minutes. I am using MS Access 2013 but the file I am modifying has to be compatible with MS Access 2007.
I know how to calculate the difference between two dates (Date1-Date2 as calculated column), however I cannot get the format I want. I need for example to have Time Spent Resolving show up as "34 days, 2 hours and 5 minutes". How would I retrieve the amount of time between two dates in that kind of format within MS Access?
Also as an added bonus question, the "Date Assigned" field is a duplicate of a field I have in another table named "In Progress Request". Would I be able to calculate the difference between "Date Resolved" in "Resolved Request" and "Date Assigned" in "In Progress Request"? If not, could I somehow link both Date Assigned fields in both tables to update each other automatically?
Here is the formula that you need to display the format that you require (34 days, 2 hours and 5 minutes). I don't think you should have this formula for a calculated column as it's a waste of space in your table.
Replace txtInsertDateTime and txtAuditDateTime in the formula with the columns that you have.
=CStr((DateDiff("n",[txtInsertDateTime],[txtAuditDateTime])\60)\24) & " days," & CStr((DateDiff("n",[txtInsertDateTime],[txtAuditDateTime])/60) Mod 24) & " hours and " & CStr(DateDiff("n",[txtInsertDateTime],[txtAuditDateTime]) Mod 60) & " minutes"
Not sure about your bonus question, so cannot answer.