Courseiva
easyMultiple ChoiceObjective-mapped

SC-200 Practice Question: A SOC analyst wants to create a scheduled…

A SOC analyst wants to create a scheduled analytics rule in Microsoft Sentinel that runs every 5 minutes and alerts when a single IP address fails to authenticate more than 10 times in that time window using the Microsoft Entra ID SigninLogs table. Which KQL function should be used to group the results into 5-minute intervals?

⚠ Common exam trap

Microsoft often tests the distinction between the `summarize` operator and the `bin()` function, trapping candidates who think `summarize` alone can bucket time, when in fact `bin()` must be used as the grouping expression inside `summarize` to create fixed time intervals.

Answer choices

Why each option matters

Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.

Correct answer & explanation

bin()

The `bin()` function is the correct choice because it is specifically designed to group time-series data into fixed-size buckets (e.g., 5-minute intervals) for aggregation. In this scenario, you need to align each authentication event to its corresponding 5-minute window so that you can count failures per IP address per window. Without `bin()`, the `summarize` operator would not automatically create these fixed intervals; it would group by the raw timestamp values, which would not produce the required 5-minute buckets.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • bin()

    Why this is correct

    The bin() function in KQL is a scalar function that rounds a datetime value down to the nearest multiple of the specified interval, such as 5 minutes (e.g., bin(TimeGenerated, 5m)). This creates uniform time buckets that allow a scheduled analytics rule to aggregate events into fixed windows, making it essential for time-series analysis, rate detection, and anomaly identification. Without bin(), time values remain continuous and ungrouped, so patterns across discrete intervals would be impossible to discern. In practice, you pair bin() with summarize, as in `summarize count() by bin(TimeGenerated, 5m)`, to produce the time-bucketed aggregates the rule needs.

  • summarize

    Why it's wrong here

    summarize is a KQL aggregation operator that groups rows by one or more key columns, but it does not automatically create time intervals. To achieve time-based grouping, you must explicitly include a computed column like bin(TimeGenerated, 5m) in the group-by clause; otherwise, summarize will treat every distinct timestamp as its own bucket, yielding an overwhelming number of groups that are useless for interval-based analytics. For example, `summarize count() by TimeGenerated` returns a separate count for each exact second, not a 5-minute aggregate. Thus, summarize is a necessary companion to bin(), but it cannot perform the interval bucketing on its own.

  • count

    Why it's wrong here

    count is an aggregate function used inside a summarize block to count rows, typically written as `summarize count() by ...`. It calculates the number of events in each group but has no ability to define what those groups are, nor does it perform any time-based transformation. In a scheduled analytics rule, count is useful for measuring event volume per bucket, but it must be combined with a group key such as bin(TimeGenerated, 5m) to provide the interval structure. Using count alone, without a proper grouping field, will simply return a total count of all matching events, which does not satisfy the need for time-interval grouping.

  • where

    Why it's wrong here

    where is a KQL filtering operator that narrows a result set to rows meeting a specified condition, such as `where EventID == 4625`. It is used to select only relevant events before aggregation, but it has no grouping capability and cannot create time intervals. In a scheduled analytics rule, a where clause might filter for a specific security event type, but you would still need bin() to partition those filtered events into time buckets for further analysis. Confusing where with bin() would mean you merely restrict the dataset, never producing the time-series structure required for interval-based detections.

About these practice questions

This SC-200 question is part of Courseiva's 209-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

JA

Written by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

This SC-200 practice question is part of Courseiva's free Microsoft certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the SC-200 exam.