Update: Microsoft will be moving away from UserVoice sites on a product-by-product basis throughout the 2021 calendar year. We will leverage 1st party solutions for customer feedback. Learn more here.

Azure Data Explorer

  1. Reduce barriers to entry by providing a cheaper tier

    I wanted to use ADE, but it costs $2.6K per month at minimum. This makes it impossible for many to try out this service. Please consider a cheaper tier or make ADE cheaper altogether.

    4 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  2. Add AAD Account Switcher to Web Explorer

    Add the ability to switch AAD accounts via an account switcher, similar to what is available at portal.azure.com. This is the most frequent request for LinkedIn customers.

    4 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  3. Can we calculate 'Data Scanned' from .show queries

    Kusto Explorer shows a 'Data Scanned' estimate which I've found to be a very good measure of IO cost.

    How can we calculate this from the output of .show queries, to identify the top IO consumers on our cluster ?

    If we use the current values of 'extents scanned' its not really representative of I/O cost. Just a simple 'Table | count' shows a massive number of extents scanned, but the 'Data Scanned' output given by the Kusto desktop explorer seems more representative of the actual I/O cost.
    xpost from : https://stackoverflow.com/questions/59416175/how-to-calculate-data-scanned-from-show-queries

    4 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  4. Ignore (cold) cached data

    When perf testing a query, it would be useful to wipe out any cold data that has been temporarily cached on the local disk so that I can get apples-to-apples comparisons between subsequent runs. I can imagine it either being something where I just set a flag to ignore any of the cold cached data or a command that would completely wipe out any of that type of cached data. Note that I would not expect any of this to affect the standard hot cache data which always lives on the disk.

    4 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  5. Include function call stack trace in query error messages

    Picture this scenario: you are calling a Kusto function but get a syntax error. But where is the syntax error coming from exactly? The error message doesn't say. You inspect the code for the function only to find references to other functions inside, and the way to know which one of those is the culprit is to run them one by one. And then each of those functions might be calling other functions too!
    Wouldn't it be nice if the error message told you the exact function where the error is happening from?

    4 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  6. Restore Database feature needed in Kusto

    Ability to backup / restore Kusto Database is needed to expedite recovery in case number of objects in database or database is inadvertently dropped . Kusto currently allows undoing a table drop only and lacks the feature to undo (based on the available documentation) functions or database drop undo. In absence of such recovery options . Recovery is extremely slow and painful.

    3 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  7. Make interpolation possible from by bin() directive

    Currently to interpolate missing data for a distribution into bins, we need to first convert a table to series, then interpolate and finally convert it back to table (using mv-expand). The whole process can be long just to fill the missing data using functions like seriesfilllinear() or seriesfillforward(). Could it be possible to use interpolation method at parameter to the bin() function to avoid the 2 conversions ?

    3 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  8. Add KQL function to get first index (in an array) of any value from a set of values

    Currently, if I wish to find the first index (in an array) of any value from a set of values, arrayindexof must be used multiple times in a rather cumbersome way, as described in this SO question (and the accepted answer): https://stackoverflow.com/q/66134628/197591

    It would be highly useful to have an additional function that handles this use case on its own. Something like arrayindexof_any.

    3 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  9. RBAC, current principal details and row level security

    Please add the Roles of user to the output of currentprincipaldetails()
    in order to allow usage of these Roles in Row Level Security Policy.

    3 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    2 comments  ·  Flag idea as inappropriate…  ·  Admin →
  10. Kusto function iswhitespace() for string type

    Currently, there is no such Kusto function, and we are reduced to expensive operations such as replace whitespace with string.Empty and then check for string.Empty.

    3 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  11. Support weighted average aggregation function

    I'd like to be able to do something like the following:

    Table
    | summarize wavg(column, weightcolumn) by othercolumn

    Where "wavg" computes a weighted average of the first column using the 2nd column as weights.

    3 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  12. Enable users to debug more easily

    I got error below. I would like to directly view the data got error to identify what was wrong. So I would request for users to access files on the storage path of 'IngestionSourcePath' in the error message.

    There are a lot of data to ingest but only few data had error. So it would be better for users to check only data having issues, not all input data. It is definitely more efficient.


    'OperationId': xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx,
    'Database': xxxxx,
    'Table': xxxxxx,
    'FailedOn': 2020-08-21T07:39:11.4032288Z,
    'IngestionSourcePath': https://xxxxxxdtakexxxxxpfadx01.blob.core.windows.net/20200821-readyforaggregation/xxxxxxxxxxx.multijson.gz,
    'Details': BadRequestInvalidBlob: Unexpected token in JSON stream: StartArray (Line: 2, Column: 1, Path: ),

    3 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  13. IPv6 Support

    The Azure Networking team has recently released IPv6 support for Virtual Networks: https://azure.microsoft.com/en-us/updates/ipv6-for-azure-virtual-network-is-now-generally-available-2/

    It would be great if there were support + guidance on how to deploy ADX in an IPv6 virtual network. This may help customers who are already using or migrating to IPv6 in their own networks. Especially when there is already contention in an organization's IPv4 network space.

    3 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  14. Provide ADX consumption based plans

    Create a "managed" ADX version where you can book a shared instance where you pay based on query time and storage instead of running server + storage. This would be a perfect match for small project or even for putting home automation data into a great database

    3 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  15. Provide a function to get Month name of current Date. To get this we have to write so much logic rather giving tbe format like 'MMM'

    Please provide the option to get the month name or current date, to get this we need to lot logic in Kusto.
    For example to get the following 07 Jul 2020 . There is no format name available in kusto.
    It will be useful when we are working dates.

    3 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  16. IP KQL Functions

    Would be great to have additional KQL functions for working with IP address.

    1. Check if a string is a valid IPv4 address
    2. Check if a string is a valid IPv6 address
    3. Convert IP Address and Subnet to a CIDR String (see example for IPV4 below, would be great to have something that works for both IPv4 & v6)

    .create-or-alter function with (docstring = "Takes an IPv4 address and IPV4 CIDR block as input, returns CIDR notation string") ipv4cidrstring(ip:string,cidrblock:int) {
    let long
    ip = parseipv4mask(ip, cidrblock);
    let ip
    0 = binaryand(binaryshiftright(longip,…

    3 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  17. Column retention policy

    Feature Suggestion:
    Add support for retention policy in a column level.

    Why?
    As part of our work on keeping privacy and GDPR compliances we are making sure that we are storing only data that we are allow to and only to a specific period.
    I faced a weird situation where I got a an approval to keep all my table’s data for two years period but I had to exclude ONE column as the allow retention period for this column is only 3 months.

    All today solutions are not good enough (remove the column, set the entire table retention for…

    3 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  18. Cancelling in-flight queued ingestions

    There can be cases in which i would like to discard messages posted for ingestion, after figuring out that something went wrong, or is no longer relevant.

    this is especially relevant when the size of the queue is really large.

    at the moment, the "best solution" is to drop or rename the target table, and patiently wait for all ingestions to fail (which could take a long while)

    3 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  19. Merge Tables

    When ingestion historic data it might be that formats changed over time. When all is ingested into the same table it is difficult to delete rows in case of an error. It would be great to be able to check data first and merge it manually or after a specified time into a different table.

    3 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    2 comments  ·  Flag idea as inappropriate…  ·  Admin →
  20. Provide max/min value in a new Windows function

    The max value till the current row.
    row_max ( Term [, Restart] )

    datatable(A:int)[4,5,6,1,3,7,4,8]
    | serialize
    | extend B = rowmax(A)
    | extend C = row
    min(A)

    The result of B is: 4,5,6,6,6,7,7,8
    The result of C is: 4,4,4,1,1,1,1,1

    It is useful for the ip v4 range comparison. Sorted the ip prefixes by the first address and get the max value of its last address for an IP prefix. It will significantly reduce the complexity of the prefix comparison to detect overlap IP prefixes.

    3 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  • Don't see your idea?

Azure Data Explorer

Categories

Feedback and Knowledge Base