From dd5690efad9d8a77baf4d03a13c498678cb2e683 Mon Sep 17 00:00:00 2001
From: Meira Josephy <144697924+mjosephym@users.noreply.github.com>
Date: Tue, 3 Dec 2024 10:52:15 +0200
Subject: [PATCH 1/4] edits
---
data-explorer/kusto/query/lookup-operator.md | 61 ++++++++++----------
1 file changed, 32 insertions(+), 29 deletions(-)
diff --git a/data-explorer/kusto/query/lookup-operator.md b/data-explorer/kusto/query/lookup-operator.md
index 22525950f8..f2320710a3 100644
--- a/data-explorer/kusto/query/lookup-operator.md
+++ b/data-explorer/kusto/query/lookup-operator.md
@@ -3,7 +3,7 @@ title: lookup operator
description: Learn how to use the lookup operator to extend columns of a fact table.
ms.reviewer: alexans
ms.topic: reference
-ms.date: 08/11/2024
+ms.date: 12/03/2024
---
# lookup operator
@@ -11,22 +11,18 @@ ms.date: 08/11/2024
Extends the columns of a fact table with values looked-up in a dimension table.
+For example, the following query results in a table that extends the `FactTable` (`$left`) with data from the `DimensionTable` (referenced by `$right`) by performing a lookup. The lookup matches each pair (`CommonColumn`, `Col1`) from `FactTable` with each pair (`CommonColumn`, `Col2`) in the `DimensionTable`. For the differences between fact and dimension tables, see [fact and dimension tables](../concepts/fact-and-dimension-tables.md).
+
```kusto
FactTable | lookup kind=leftouter (DimensionTable) on CommonColumn, $left.Col1 == $right.Col2
```
-Here, the result is a table that extends the `FactTable` (`$left`) with data from `DimensionTable` (referenced by `$right`)
- by performing a lookup of each pair (`CommonColumn`,`Col`) from the former table
-with each pair (`CommonColumn1`,`Col2`) in the latter table.
-For the differences between fact and dimension tables, see [fact and dimension tables](../concepts/fact-and-dimension-tables.md).
-
The `lookup` operator performs an operation similar to the [join operator](join-operator.md)
with the following differences:
* The result doesn't repeat columns from the `$right` table that are the basis
for the join operation.
-* Only two kinds of lookup are supported, `leftouter` and `inner`,
- with `leftouter` being the default.
+* Only two kinds of lookup are supported, `leftouter` and `inner`, with `leftouter` being the default.
* In terms of performance, the system by default assumes that the `$left` table
is the larger (facts) table, and the `$right` table is the smaller (dimensions)
table. This is exactly opposite to the assumption used by the `join` operator.
@@ -56,7 +52,7 @@ with the following differences:
|*LeftTable*| `string` | :heavy_check_mark:|The table or tabular expression that is the basis for the lookup. Denoted as `$left`.|
|*RightTable*| `string` | :heavy_check_mark:|The table or tabular expression that is used to "populate" new columns in the fact table. Denoted as `$right`.|
|*Attributes*| `string` | :heavy_check_mark:|A comma-delimited list of one or more rules that describe how rows from *LeftTable* are matched to rows from *RightTable*. Multiple rules are evaluated using the `and` logical operator. See [Rules](#rules).|
-|`kind`| `string` ||Determines how to treat rows in *LeftTable* that have no match in *RightTable*. By default, `leftouter` is used, which means all those rows will appear in the output with null values used for the missing values of *RightTable* columns added by the operator. If `inner` is used, such rows are omitted from the output. Other kinds of join aren't supported by the `lookup` operator.|
+|`kind`| `string` ||Determines how to treat rows in *LeftTable* that have no match in *RightTable*. By default, `leftouter` is used, which means all those rows appear in the output with null values used for the missing values of *RightTable* columns added by the operator. If `inner` is used, such rows are omitted from the output. Other kinds of join aren't supported by the `lookup` operator.|
### Rules
@@ -73,45 +69,52 @@ with the following differences:
A table with:
* A column for every column in each of the two tables, including the matching keys.
- The columns of the right side will be automatically renamed if there are name conflicts.
+ The columns of the right side are automatically renamed if there are name conflicts.
* A row for every match between the input tables. A match is a row selected from one table that has the same value for all the `on` fields as a row in the other table.
-* The Attributes (lookup keys) will appear only once in the output table.
+* The *Attributes* (lookup keys) appear only once in the output table.
* If `kind` is unspecified or `kind=leftouter`, then in addition to the inner matches, there's a row for every row on the left (and/or right), even if it has no match. In that case, the unmatched output cells contain nulls.
* If `kind=inner`, then there's a row in the output for every combination of matching rows from left and right.
## Examples
+The following example shows how to perform a left outer join between the `FactTable` and `DimTable`, based on matching values in the `Personal` and `Family` columns.
+
:::moniker range="azure-data-explorer"
> [!div class="nextstepaction"]
-> Run the query
+> Run the query
::: moniker-end
```kusto
let FactTable=datatable(Row:string,Personal:string,Family:string) [
- "1", "Bill", "Gates",
- "2", "Bill", "Clinton",
- "3", "Bill", "Clinton",
- "4", "Steve", "Ballmer",
- "5", "Tim", "Cook"
+ "1", "Rowan", "Murphy",
+ "2", "Ellis", "Turner",
+ "3", "Ellis", "Turner",
+ "4", "Maya", "Robinson",
+ "5", "Quinn", "Campbell"
];
let DimTable=datatable(Personal:string,Family:string,Alias:string) [
- "Bill", "Gates", "billg",
- "Bill", "Clinton", "billc",
- "Steve", "Ballmer", "steveb",
- "Tim", "Cook", "timc"
+ "Rowan", "Murphy", "rowanm",
+ "Ellis", "Turner", "ellist",
+ "Maya", "Robinson", "mayar",
+ "Quinn", "Campbell", "quinnc"
];
FactTable
| lookup kind=leftouter DimTable on Personal, Family
```
-Row | Personal | Family | Alias
---------|-----------|----------|--------
-1 | Bill | Gates | billg
-2 | Bill | Clinton | billc
-3 | Bill | Clinton | billc
-4 | Steve | Ballmer | steveb
-5 | Tim | Cook | timc
+**Output**
+
+| Row | Personal | Family | Alias |
+|--|--|--|--|
+| 1 | Rowan | Murphy | rowanm |
+| 2 | Ellis | Turner | ellist |
+| 3 | Ellis | Turner | ellist |
+| 4 | Maya | Robinson | mayar |
+| 5 | Quinn | Campbell | quinnc |
## Related content
-* [Broadcast join](broadcast-join.md).
\ No newline at end of file
+* [Broadcast join](broadcast-join.md)
+* [leftouter join](join-leftouter.md)
+* [inner join](join-inner.md)
+* [join operator](join-operator.md)
\ No newline at end of file
From 728e539053758d74dbb963ae751da59f663a8d2a Mon Sep 17 00:00:00 2001
From: Meira Josephy <144697924+mjosephym@users.noreply.github.com>
Date: Wed, 4 Dec 2024 12:33:52 +0200
Subject: [PATCH 2/4] mac shortcuts
---
.../web-ui-query-keyboard-shortcuts.md | 72 +++++++++----------
1 file changed, 36 insertions(+), 36 deletions(-)
diff --git a/data-explorer/web-ui-query-keyboard-shortcuts.md b/data-explorer/web-ui-query-keyboard-shortcuts.md
index e505e155c3..e25f637a85 100644
--- a/data-explorer/web-ui-query-keyboard-shortcuts.md
+++ b/data-explorer/web-ui-query-keyboard-shortcuts.md
@@ -3,56 +3,56 @@ title: Azure Data Explorer web UI query keyboard shortcuts
description: This article describes Azure Data Explorer query keyboard shortcuts (hot keys) in Azure Data Explorer web UI.
ms.reviewer: mibar
ms.topic: reference
-ms.date: 05/28/2023
+ms.date: 12/04/2024
---
# Azure Data Explorer web UI keyboard shortcuts
Keyboard shortcuts provide a quick way to navigate websites, and allow users to work more efficiently. Instead of using a pointing device, you use keys, or combinations of keys, to run tasks. This article lists Windows keyboard shortcuts that work in the Azure Data Explorer web UI query editor window and results grid.
-The letters that appear below represent letter keys on your keyboard. For example, to use G+N, hold down the G key and then press N. If the command is Ctrl+K Ctrl+X, keep pressing Ctrl, and simultaneously press K and then X.
+The following letters represent letter keys on your keyboard. For example, to use G+N, hold down the G key and then press N. If the command is Ctrl+K Ctrl+X, keep pressing Ctrl, and simultaneously press K and then X.
## Query editor
-| To do this action | Press |
-| --------------------------------------------- | ------------------------------------------------------------ |
-| Show command palette | F1 |
-| Copy query link to clipboard | Shift+Alt+L |
-| Copy query and link to clipboard | Shift+Alt+C |
-| Copy line(s) up | Shift+Alt+UpArrow |
-| Copy line(s) down | Shift+Alt+DownArrow |
-| Toggle line(s) comment | Ctrl+/ |
-| Find | Ctrl+F |
-| Fold | Ctrl+Shift+[ |
-| Fold all | Ctrl+K Ctrl+0 |
-| Format selection | Ctrl+K Ctrl+F |
-| Format all | Shift+Alt+F |
-| Go to line | Ctrl+G |
-| Go to Next Problem (Error, Warning, Info) | Alt+F8 |
-| Go to Previous Problem (Error, Warning, Info) | Shift+F8 |
-| Insert line above | Ctrl+Shift+Enter |
-| Insert Line Below | Ctrl+Enter |
-| Move line down | Alt+DownArrow |
-| Move line up | Alt+UpArrow |
-| Add new tab | Ctrl+J |
-| Show Editor Context Menu | Shift+F10 |
-| Switch to tab on the left | Ctrl+Alt+[ |
-| Switch to tab on the right | Ctrl+Alt+] |
-| Unfold | Ctrl+Shift+] |
-| Unfold all | Ctrl+K Ctrl+J |
-| Run query | Shift+Enter |
-| Recall execution result | F8 |
-| Reopen closed tab | Ctrl+Shift+Alt+T |
+| To do this action | Windows shortcuts | Mac shortcuts |
+|--|--|--|
+| Show command palette | F1 | F1 |
+| Copy query link to clipboard | Shift+Alt+L | Shift+Option+L |
+| Copy query and link to clipboard | Shift+Alt+C | Shift+Option+C |
+| Copy line(s) up | Shift+Alt+UpArrow | Shift+Option+UpArrow |
+| Copy line(s) down | Shift+Alt+DownArrow | Shift+Option+DownArrow |
+| Toggle line(s) comment | Ctrl+/ | ⌘+/ |
+| Find | Ctrl+F | ⌘+F |
+| Fold | Ctrl+Shift+[ | |
+| Fold all | Ctrl+K Ctrl+0 | ⌘+K ⌘+0 |
+| Format selection | Ctrl+K Ctrl+F | ⌘+K ⌘+F |
+| Format all | Shift+Alt+F | Shift+Option+F |
+| Go to line | Ctrl+G | |
+| Go to Next Problem (Error, Warning, Info) | Alt+F8 | Option+F8 |
+| Go to Previous Problem (Error, Warning, Info) | Shift+F8 | Option+Shift+F8 |
+| Insert line above | Ctrl+Shift+Enter | ⌘+Shift+Enter |
+| Insert Line Below | Ctrl+Enter | ⌘+Enter |
+| Move line down | Alt+DownArrow | Option+DownArrow |
+| Move line up | Alt+UpArrow | Option+UpArrow |
+| Add new tab | Ctrl+J | ⌘+J |
+| Show Editor Context Menu | Shift+F10 | Shift+F10 |
+| Switch to tab on the left | Ctrl+Alt+[ | ⌘+Option+[ |
+| Switch to tab on the right | Ctrl+Alt+] | ⌘+Option+] |
+| Unfold | Ctrl+Shift+] | |
+| Unfold all | Ctrl+K Ctrl+J | ⌘+K ⌘+J |
+| Run query | Shift+Enter | Shift+Enter |
+| Recall execution result | F8 | F8 |
+| Reopen closed tab | Ctrl+Shift+Alt+T | ⌘+Shift+Option+T |
## Results grid
-| To do this action | Press |
-| ----------------------------------------------------- | ------------------------------------------------- |
-| Insert data cell selections as filters into the query | Ctrl+Shift+Space |
-| [Column header] Toggle the sorting state | Enter |
-| [Column header] Open the menu for the focused header | Shift+Enter |
+| To do this action | Windows shortcuts | Mac shortcuts |
+|--|--|--|
+| Insert data cell selections as filters into the query | Ctrl+Shift+Space | ⌘+Shift+Space |
+| [Column header] Toggle the sorting state | Enter | Enter |
+| [Column header] Open the menu for the focused header | Shift+Enter | Shift+Enter |
## Related content
From f10ddb634b309c8c3155138479dfa8a423e05f9c Mon Sep 17 00:00:00 2001
From: Meira Josephy <144697924+mjosephym@users.noreply.github.com>
Date: Wed, 4 Dec 2024 15:44:50 +0200
Subject: [PATCH 3/4] edit
---
data-explorer/kusto/query/lookup-operator.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/data-explorer/kusto/query/lookup-operator.md b/data-explorer/kusto/query/lookup-operator.md
index f2320710a3..739b4edfd2 100644
--- a/data-explorer/kusto/query/lookup-operator.md
+++ b/data-explorer/kusto/query/lookup-operator.md
@@ -3,7 +3,7 @@ title: lookup operator
description: Learn how to use the lookup operator to extend columns of a fact table.
ms.reviewer: alexans
ms.topic: reference
-ms.date: 12/03/2024
+ms.date: 12/04/2024
---
# lookup operator
@@ -41,7 +41,7 @@ with the following differences:
## Syntax
-*LeftTable* `|` `lookup` [`kind` `=` (`leftouter`|`inner`)] `(`*RightTable*`)` `on` *Conditions*
+*LeftTable* `|` `lookup` [`kind` `=` (`leftouter`|`inner`)] `(`*RightTable*`)` `on` *Attributes*
[!INCLUDE [syntax-conventions-note](../includes/syntax-conventions-note.md)]
From 0f6b884fb8ad41dbb965fa95da8fc9b7ba334efd Mon Sep 17 00:00:00 2001
From: Meira Josephy <144697924+mjosephym@users.noreply.github.com>
Date: Wed, 4 Dec 2024 17:09:07 +0200
Subject: [PATCH 4/4] Update data-explorer/kusto/query/lookup-operator.md
---
data-explorer/kusto/query/lookup-operator.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/data-explorer/kusto/query/lookup-operator.md b/data-explorer/kusto/query/lookup-operator.md
index 739b4edfd2..6b5fca567c 100644
--- a/data-explorer/kusto/query/lookup-operator.md
+++ b/data-explorer/kusto/query/lookup-operator.md
@@ -11,7 +11,7 @@ ms.date: 12/04/2024
Extends the columns of a fact table with values looked-up in a dimension table.
-For example, the following query results in a table that extends the `FactTable` (`$left`) with data from the `DimensionTable` (referenced by `$right`) by performing a lookup. The lookup matches each pair (`CommonColumn`, `Col1`) from `FactTable` with each pair (`CommonColumn`, `Col2`) in the `DimensionTable`. For the differences between fact and dimension tables, see [fact and dimension tables](../concepts/fact-and-dimension-tables.md).
+For example, the following query results in a table that extends the `FactTable` (`$left`) with data from the `DimensionTable` (`$right`) by performing a lookup. The lookup matches each pair (`CommonColumn`, `Col1`) from `FactTable` with each pair (`CommonColumn`, `Col2`) in the `DimensionTable`. For the differences between fact and dimension tables, see [fact and dimension tables](../concepts/fact-and-dimension-tables.md).
```kusto
FactTable | lookup kind=leftouter (DimensionTable) on CommonColumn, $left.Col1 == $right.Col2