Overview

gamma

gamma is useful in statistical calculations such as computing combinatorial coefficients, probability distributions, and Bayesian models. In observability, you might use it in custom anomaly scoring or when implementing statistical tests directly in APL.

Usage#

Syntax#

gamma(x)

Parameters#

Name Type Required Description
x real Yes The input value. Must not be zero or a negative integer.

Returns#

  • The gamma function of x.
  • Returns null when x is zero or a negative integer.
  • For large inputs, the result may overflow to infinity.

Example#

Use gamma to compute the gamma function value for a request duration in seconds.

Query

['sample-http-logs']
| where req_duration_ms > 0
| extend duration_s = req_duration_ms / 1000.0
| where duration_s < 5
| extend gamma_val = gamma(duration_s)
| where isfinite(gamma_val)
| project _time, id, req_duration_ms, gamma_val

Run in Playground

Output

_time id req_duration_ms gamma_val
2024-11-14 10:00:00 user-1 1000.0 1.0000
2024-11-14 10:01:00 user-2 2000.0 1.0000
2024-11-14 10:02:00 user-3 3000.0 2.0000
  • loggamma: Returns the natural log of the absolute gamma function value. Use it to avoid numeric overflow when working with large inputs.
  • log: Returns the natural logarithm. Use it when you want to work in log space rather than applying gamma directly.
  • exp: Returns e^x. Use it to exponentiate log-space results from loggamma back to the original scale.
  • pow: Raises a value to a power. Use it for simpler power calculations that don't require the general gamma function.
  • isfinite: Returns whether a value is finite. Use it to filter out overflow results from gamma on large inputs.

Other query languages#

Splunk SPL users

Splunk SPL doesn't include a built-in gamma() function. You need to implement the gamma function using external lookup tables or the Machine Learning Toolkit.

Splunk example

| eval gamma_val = null()

APL equivalent

['sample-http-logs']
| extend gamma_val = gamma(x)
ANSI SQL users

Standard SQL does not define a GAMMA() function. You typically implement it in application code or through database-specific extensions.

SQL example

-- No standard SQL equivalent; use application code
SELECT NULL AS gamma_val FROM logs

APL equivalent

['sample-http-logs']
| extend gamma_val = gamma(x)

Updated

Was this page helpful?