azurekql

How to get log based yaxis scaling working with a columnchart in azure kql?


I have a query

CommonSecurityLog
| where DeviceVendor == 'Foo'
| where DeviceProduct startswith 'Thing'
| extend ReceivedMegaBytes = (ReceivedBytes / 1024.0 / 1024.0)
| extend SentMegaBytes = (SentBytes / 1024.0 / 1024.0)
| summarize
    ['ReceivedMegaBytes'] = sum(ReceivedMegaBytes)
 by
    ['Time Block'] = bin(MyFooTime, 10m)
| render columnchart  with ( title='traffic', kind=stacked, yaxis=log)

however, the rendering doesnt seem to change the columnchart yaxis to logarithmic scaling instead of linear?

is there something missing here?


Solution

  • The logarithmic scaling doesn't work in Log Analytics, only in Azure Data explorer.

    Here are some AI generated data that shows proper logarithmic scaling in ADX, but not in Sentinel/LA - which I throw into both after fiddling with your query with my CommonSecurityLog data - the task left unaccomplished.

    let SalesData = datatable(Timestamp: datetime, ProductCategory: string, SalesAmount: real)
    [
        datetime(2025-10-01), "Electronics", 1500,
        datetime(2025-10-01), "Clothing", 700,
        datetime(2025-10-01), "Furniture", 300,
        datetime(2025-10-02), "Electronics", 2000,
        datetime(2025-10-02), "Clothing", 500,
        datetime(2025-10-02), "Furniture", 450,
        datetime(2025-10-03), "Electronics", 1700,
        datetime(2025-10-03), "Clothing", 900,
        datetime(2025-10-03), "Furniture", 300,
        datetime(2025-10-04), "Electronics", 2200,
        datetime(2025-10-04), "Clothing", 650,
        datetime(2025-10-04), "Furniture", 400,
        datetime(2025-10-05), "Electronics", 1800,
        datetime(2025-10-05), "Clothing", 800,
        datetime(2025-10-05), "Furniture", 350
    ];
    SalesData
    | summarize TotalSales = sum(SalesAmount) by bin(Timestamp, 1d), ProductCategory
    | order by Timestamp asc
    | render columnchart with (title="test", kind=stacked)