This commit is contained in:
Matt Lowe 2021-12-13 17:20:36 -05:00
Родитель a3c8b89389
Коммит 0df44b5624
6 изменённых файлов: 602 добавлений и 0 удалений

Двоичные данные
Tools/IntrotoKQL/Datasets/Mordor.json Normal file

Двоичный файл не отображается.

Двоичные данные
Tools/IntrotoKQL/Datasets/Weather.json Normal file

Двоичный файл не отображается.

Просмотреть файл

Просмотреть файл

@ -0,0 +1,43 @@
### Summary
Welcome to the Intro to KQL workbook. This workbook has been developed to assist new and existing users learn and grow in the Kusto Query Language (KQL). The goal of this workbook is to introduce the most commonly used KQL operators that are relevant to Microsoft Sentinel. By the end of the workbook, your knowledge will be at a 200 level. </br>
This workbook will be a living resource in that it will continue to be improved over time based on feedback, requests, and newly introduced scenarios. The version of this workbook is currently <b>V1.1.</b>
</p>
### Structure
This workbook is comprised of multiple tabs. Each tab contains several key items:
- Operator: choose an operator to study.
- Exercise: choose an exercise to practice.
- Data type: corresponds to the data table that is being used in the exercise.
- Answer: decide if you would like to to see the answer.
- Summary: details about the operator that has been selected.
- Example: samples of how a real query would look like with the selected operator.
- When to use: advice around when the selected operator is used with Microsoft Sentinel.
#### Exercise Space
The exericse area is made up of 6 main items:
- Question: selected exercise to perform.
- Answer space: location where you will enter your answer.
- Expected answer: the expected answer that you are attempting to achieve.
- Your answer: the results from the query you have written.
- Answer Checker: lists if the answer you have entered is correct or not.
### Workflow
1. Select a tab to navigate.
2. Choose an operator to practice.
3. Select an exercise to attempt.
4. Enter your answer and confirm if it is correct. If not, reference documentation and content until correct.
5. Move on to another operator or attempt other exercises for that operator.
### Helpful Links
**KQL Public Documentation:** https://docs.microsoft.com/azure/data-explorer/kusto/query/
**Pluralsight KQL Course:** https://www.pluralsight.com/courses/kusto-query-language-kql-from-scratch
**KQL CheatSheet:** https://techcommunity.microsoft.com/t5/azure-data-explorer-blog/azure-data-explorer-kql-cheat-sheets/ba-p/1057404
**Log Analytics Demo Environment:** https://aka.ms/lademo
**Microsoft Sentinel Compiled Level 400 Training:** https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/become-a-microsoft-sentinel-ninja-the-complete-level-400/ba-p/1246310

Просмотреть файл

@ -0,0 +1,559 @@
[
{
"markdown": "WyFbR290byBEb2N1bWVudGF0aW9uXShodHRwczovL3NoaWVsZHMuaW8vYmFkZ2UvLUdvdG9fRG9jdW1lbnRhdGlvbi1pbmZvcm1hdGlvbmFsKV0oaHR0cHM6Ly9kb2NzLm1pY3Jvc29mdC5jb20vZW4tdXMvYXp1cmUvZGF0YS1leHBsb3Jlci9rdXN0by9xdWVyeS90YWtlb3BlcmF0b3IpDQoNCmh0dHBzOi8vZG9jcy5taWNyb3NvZnQuY29tL2VuLXVzL2F6dXJlL2RhdGEtZXhwbG9yZXIva3VzdG8vcXVlcnkvdGFrZW9wZXJhdG9yDQoNCioqKipTdW1tYXJ5OioqKioNCg0KVGhlIHRha2Ugb3BlcmF0b3IgcmV0dXJucyB0aGUgbnVtYmVyIG9mIHNwZWNpZmllZCByb3dzLiBUaGUgcmVzdWx0cyBhcmUgdGFrZW4gYXQgcmFuZG9tIHVubGVzcyB0aGUgcm93cyBoYXZlIGJlZW4gc29ydGVkIHByaW9yIHRvIHRoZSB0YWtlIG9wZXJhdG9yIGJlaW5nIGNhbGxlZC4NCg0KKioqKkV4YW1wbGU6KioqKg0KDQpTZWN1cml0eUFsZXJ0IHwgdGFrZSA1IDxicj4NClNpZ25pbkxvZ3MgfCB0YWtlIDEwDQoNCioqKipXaGVuIHRvIHVzZToqKioqDQoNClRha2UgaXMgZ3JlYXQgdG8gdXNlIHdoZW4gZ3JhYmJpbmcgc2FtcGxlIHNpemUgcmVzdWx0cyBmcm9tIHF1ZXJpZXMuIEJ5IGxvd2VyaW5nIHRoZSByZXR1cm4gb2Ygcm93cyBmcm9tIGEgcXVlcnksIHF1ZXJpZXMgcGVyZm9ybSBxdWlja2VyIHdoZW4gbmVlZGluZyBhIGxvZyByZWZlcmVuY2UuDQo=",
"tab": "Overview",
"section": "Take",
"exercises": {
"value": [
{
"name": "TakeEx1",
"question": "Return 1 row from the Weather table in the default order",
"dataset": "Weather",
"answer": "V2VhdGhlciB8IGxpbWl0IDE="
},
{
"name": "TakeEx2",
"question": "Return 6 rows from the Weather table in the default order",
"dataset": "Weather",
"answer": "V2VhdGhlciB8IHRha2UgNg=="
},
{
"name": "TakeEx3",
"question": "Return 10 rows from the Weather table in the default order",
"dataset": "Weather",
"answer": "V2VhdGhlciB8IHRha2UgMTA="
}
],
"Count": 3
}
},
{
"markdown": "WyFbRG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly9zaGllbGRzLmlvL2JhZGdlLy1Eb2N1bWVudGF0aW9uLWluZm9ybWF0aW9uYWwpXSggaHR0cHM6Ly9kb2NzLm1pY3Jvc29mdC5jb20vZW4tdXMvYXp1cmUvZGF0YS1leHBsb3Jlci9rdXN0by9xdWVyeS93aGVyZW9wZXJhdG9yKQ0KDQpodHRwczovL2RvY3MubWljcm9zb2Z0LmNvbS9lbi11cy9henVyZS9kYXRhLWV4cGxvcmVyL2t1c3RvL3F1ZXJ5L3doZXJlb3BlcmF0b3INCg0KKipTdW1tYXJ5OioqDQo8cD4NClRoZSB3aGVyZSBvcGVyYXRvciBpcyB0aGUgbW9zdCBjb21tb25seSB1c2VkIG9wZXJhdG9yIHdpdGhpbiBLUUwuIFRoZSB3aGVyZSBvcGVyYXRvciBpcyB1c2VkIHdpdGhpbiBhbG1vc3QgZXZlcnkgS3VzdG8gcXVlcnkuIFRoZSB3aGVyZSBvcGVyYXRvciBpcyB1c2VkIGZvciBmaWx0ZXJpbmcgcmVzdWx0cyBiYXNlZCBvbiBzcGVjaWZpZWQgY3JpdGVyaWEuIFRoaXMgb3BlcmF0b3IgY2FuIGJlIHVzZWQgd2l0aCBtYW55IG90aGVyIG9wZXJhdG9ycywgc3VjaCBhcyBlcXVhbGl0eSBvcGVyYXRvcnMsIHN0cmluZyBvcGVyYXRvcnMsIHRpbWUgYmFzZWQgb3BlcmF0b3JzLCBhbmQgbW9yZS4NCjwvcD4NCg0KKipFeGFtcGxlOioqDQo8cD4NClNlY3VyaXR5QWxlcnQgfCBzdW1tYXJpemUgY291bnQoKSBieSBQcm92aWRlck5hbWUgfCB3aGVyZSBjb3VudF8gPCAxMDAgPC9icj4NClNlY3VyaXR5RXZlbnQgfCB3aGVyZSBDb21wdXRlciBjb250YWlucyAnZGVza3RvcCcgPC9icj4NClNpZ25pbkxvZ3MgfCB3aGVyZSBUaW1lR2VuZXJhdGVkIDwgYWdvKDFoKSA8YnIvPg0KPC9wPg0KDQoqKldoZW4gdG8gdXNlOioqDQo8cD4NCldoZXJlIHNob3VsZCBiZSB1c2VkIHdoZW4gbG9va2luZyB0byBhcHBseSBmaWx0ZXJpbmcgY3JpdGVyaWEuIFdoZXJlIGlzIHRoZSBzaW1wbGVzdCBmb3JtIGZvciBmaWx0ZXJpbmcgYW5kIGFzIG1lbnRpb25lZCBjYW4gYmUgZ3JvdXBlZCB3aXRoIG90aGVyIG9wZXJhdG9ycyB0byBmdXJ0aGVyIGltcHJvdmUgdGhlIGxvZyByZXN1bHRzLg0KPC9wPg0K",
"tab": "Overview",
"section": "Where",
"exercises": {
"value": [
{
"name": "WhereEx1",
"question": "Return all rows where the \u0027location\u0027 is houston",
"dataset": "Weather",
"answer": "V2VhdGhlcgp8IHdoZXJlIExvY2F0aW9uID09ICJIb3VzdG9uIg=="
},
{
"name": "WhereEx2",
"question": "From the Weather table, return all lows and highs above 71",
"dataset": "Weather",
"answer": "V2VhdGhlciB8wqB3aGVyZcKgTG93wqA+wqA3McKgYW5kwqBIaWdowqA+wqA3MQ=="
},
{
"name": "WhereEx3",
"question": "Return the newest row from Philadelphia in the Weather table",
"dataset": "Weather",
"answer": "V2VhdGhlcgp8IHdoZXJlIExvY2F0aW9uID09ICJQaGlsYWRlbHBoaWEiCnwgdGFrZSAx"
},
{
"name": "WhereEx4",
"question": "Return the oldest row from Seattle in the Weather table",
"dataset": "Weather",
"answer": "V2VhdGhlcgp8IHdoZXJlIExvY2F0aW9uID09ICJTZWF0dGxlIgp8IHNvcnQgYnkgVGltZUdlbmVyYXRlZCBhc2MKfCB0YWtlIDE="
}
],
"Count": 2
}
},
{
"markdown": "IVtEb2N1bWVudGF0aW9uXShodHRwczovL3NoaWVsZHMuaW8vYmFkZ2UvLURvY3VtZW50YXRpb24taW5mb3JtYXRpb25hbCkNCjxwPg0KaHR0cHM6Ly9kb2NzLm1pY3Jvc29mdC5jb20vZW4tdXMvYXp1cmUvZGF0YS1leHBsb3Jlci9rdXN0by9xdWVyeS9zdW1tYXJpemVvcGVyYXRvcg0KPC9wPg0KDQogKipTdW1tYXJ5OioqDQo8cD4NClRoZSBzdW1tYXJpemUgb3BlcmF0b3IgaXMgdXNlZCB0byBhZ2dyZWdhdGUgdGhlIGNvbnRlbnQgb2YgYSB0YWJsZSBiYXNlZCBvbiB0aGUgbGlzdGVkIGNvbHVtbiBvciBjb2x1bW5zLiBUaGlzIGlzIG1vc3QgdXNlZnVsIHdoZW4gbG9va2luZyB0byBjdXQgZG93biBvbiB0aGUgcmVzdWx0cyBzaG93biB3aGlsZSBzdW1tYXJpemluZyB0aGUgY29sdW1ucyBvZiBpbnRlcmVzdC4gU3VtbWFyaXplIGNhbiBiZSB1c2VkIGJ5IGl0c2VsZiBvciB3aXRoIG90aGVyIGFnZ3JlZ2F0ZXJzIHN1Y2ggYXMgY291bnQoKSwgYXJnX21heCgpLCBhcmdfbWluKCksIG9yIGF2ZygpLiBVc2luZyBtdWx0aXBsZSBjb2x1bW5zIGFsbG93cyBmb3Igc3Ryb25nZXIgY29tYmluYXRpb25zIHdpdGhpbiB0aGUgcmVzdWx0cy4NCjwvcD4NCg0KICoqRXhhbXBsZToqKg0KPHA+DQpTZWN1cml0eUFsZXJ0IHwgc3VtbWFyaXplIGNvdW50KCkgYnkgUHJvdmlkZXJOYW1lIHwgd2hlcmUgY291bnRfIDwgMTAwIDwvYnI+DQpTZWN1cml0eUV2ZW50IHwgc3VtbWFyaXplIGJ5IENvbXB1dGVyLCBFdmVudElEIDwvYnI+DQpTaWduaW5Mb2dzIHwgd2hlcmUgVGltZUdlbmVyYXRlZCA8IGFnbygxaCkgfCBzdW1tYXJpemUgYnkgQWNjb3VudCA8YnIvPg0KPC9wPg0KDQogKipXaGVuIHRvIHVzZToqKg0KPHA+DQpTdW1tYXJpemUgc2hvdWxkIGJlIHVzZWQgd2hlbiBhZ2dyZWdhdGluZyBkYXRhIHdpdGhpbiBsb2dzIGJhc2VkIG9uIHJlbGF0aW9uIG9yIGludGVyZXN0LiBGb3IgZXhhbXBsZSwgc3VtbWFyaXppbmcgd2hpY2ggZXZlbnRzIGFyZSByZXBvcnRpbmcgZm9yIGRldmljZS4gU3VtbWFyaXplIGNhbiBhbHNvIGJlIHVzZWQgZm9yIHRpbWUtc2VyaWVzIGFuYWx5c2lzIGJ5IGdlbmVyYXRpbmcgdGhlIGNvdW50IG9mIGV2ZW50cyBieSB0b3BpYyBvdmVyIGEgc3BlY2lmaWVkIHRpbWUgcmFuZ2UuDQo8L3A+DQo=",
"tab": "Overview",
"section": "Summarize",
"exercises": {
"value": [
{
"name": "SummarizeEx1",
"question": "Return the count of each temperature has shown up for Seattle",
"dataset": "Weather",
"answer": "V2VhdGhlcgp8IHdoZXJlIExvY2F0aW9uID09ICdTZWF0dGxlJwp8IHN1bW1hcml6ZSBjb3VudCgpIGJ5IExvdywgSGlnaA=="
},
{
"name": "SummarizeEx2",
"question": "Return the number of times that New York was over 85 degrees",
"dataset": "Weather",
"answer": "V2VhdGhlcgp8IHdoZXJlIExvY2F0aW9uID09ICdOZXcgWW9yayBDaXR5Jwp8IHdoZXJlIEhpZ2ggPiA4NQp8IHN1bW1hcml6ZSBjb3VudCgp"
},
{
"name": "SummarizeEx3",
"question": "Return the number of distinct High temperatures found in the Weather table \u003cbr\u003e\u003cbr\u003e You will need to use `dcount()`. ```T | summarize dcount(V) by G | count```",
"dataset": "Weather",
"answer": "V2VhdGhlcgp8IHN1bW1hcml6ZSBkY291bnQoSGlnaCk="
},
{
"name": "SummarizeEx4",
"question": "Return the number of rows with rainfall in the Weather table and the total rainfall accumulation",
"dataset": "Weather",
"answer": "V2VhdGhlcgp8IHN1bW1hcml6ZSBkY291bnQoUmFpbiksIHN1bShSYWluKQ=="
},
{
"name": "SummarizeEx5",
"question": "Return a summary of Locations from the Weather table in descending order of Location",
"dataset": "Weather",
"answer": "V2VhdGhlcgp8IHN1bW1hcml6ZSBieSBMb2NhdGlvbgp8IHNvcnQgYnkgTG9jYXRpb24gZGVzYw=="
},
{
"name": "SummarizeEx6",
"question": "Return a summary of the total number of rows with rainfall",
"dataset": "Weather",
"answer": "V2VhdGhlcgp8IHdoZXJlIFJhaW4gPiAwCnwgc3VtbWFyaXplIGNvdW50KCk="
}
],
"Count": 5
}
},
{
"markdown": "IVtEb2N1bWVudGF0aW9uXShodHRwczovL3NoaWVsZHMuaW8vYmFkZ2UvLURvY3VtZW50YXRpb24taW5mb3JtYXRpb25hbCkNCjxwPg0KaHR0cHM6Ly9kb2NzLm1pY3Jvc29mdC5jb20vZW4tdXMvYXp1cmUvZGF0YS1leHBsb3Jlci9rdXN0by9xdWVyeS9wcm9qZWN0b3BlcmF0b3INCjwvcD4NCg0KICoqU3VtbWFyeToqKg0KPHA+DQpUaGUgcHJvamVjdCBvcGVyYXRvciByZXR1cm5zIG9ubHkgdGhlIGNvbHVtbnMgc3BlY2lmaWVkIGluIHRoZSBxdWVyeS4gVGhpcyBvcGVyYXRvciBpcyB1c2VmdWwgd2hlbiBsb29raW5nIHRvIHRyaW0gcmVzdWx0cyB0byBvbmx5IHJldHVybiB0aGUgY29sdW1ucyBhbmQgY29udGVudCBvZiB2YWx1ZSBvciBpbnRlcmVzdC4gUHJvamVjdCBjYW4gYWxzbyByZW5hbWUgY29sdW1ucyB3aGVuIHJldHVybmluZyB0aGVtLg0KPC9wPg0KDQogKipFeGFtcGxlOioqDQo8cD4NClNlY3VyaXR5QWxlcnQgfCBwcm9qZWN0IFRpbWVHZW5lcmF0ZWQsIEFsZXJ0TmFtZSwgUHJvdmlkZXJOYW1lLCBFbnRpdGllcyA8L2JyPg0KU2VjdXJpdHlFdmVudCB8IHdoZXJlIEV2ZW50SUQgPT0gNDYyNCB8IHByb2plY3QgQ29tcHV0ZXIsIFVzZXIsIEFjdGlvblBlcmZvcm1lZD1Qcm9jZXNzIDwvYnI+DQpTaWduaW5Mb2dzIHwgd2hlcmUgVGltZUdlbmVyYXRlZCA8IGFnbygxaCkgfCBwcm9qZWN0IEFjY291bnQsIFRpbWVHZW5lcmF0ZWQsIFJlc3VsdCA8YnIvPg0KPC9wPg0KDQogKipXaGVuIHRvIHVzZToqKg0KPHA+DQpQcm9qZWN0IHNob3VsZCBiZSB1c2VkIHdoZW4gbG9va2luIHRvIGVsaW1pbmF0ZSB1bm5lZWRlZCBjb2x1bW5zIGZyb20gcmVzdWx0cy4gVGhpcyB3aWxsIG1ha2UgdGhlIHJlc3VsdHMgbW9yZSBwZXJzb25hbGl6ZWQgYnV0IGFsc28gd2lsbCBpbmNyZWFzZSBxdWVyeSBwZXJmb3JtYW5jZS4gV2hlbiByZW5hbWluZyBjb2x1bW5zLCB0aGlzIGlzIHVzZWZ1bCB3aGVuIGxvb2tpbmcgdG8gcmVuYW1lIGNvbHVtbnMgd2hlbiBub3JtYWxpemluZyBkYXRhIG9yIHBlcmZvcm1pbmcgam9pbnMgYXMgdGhlIGNvbHVtbnMgY2FuIHRoZW4gc2hhcmUgYSBjb21tb24gY29sdW1uIHRpdGxlIGlmIHRoYXQgaXMgbm90IGFscmVhZHkgdGhlIGNhc2UuDQo8L3A+DQo=",
"tab": "Overview",
"section": "Project",
"exercises": {
"value": [
{
"name": "ProjectEx1",
"question": "Return High temperatures of all records from the Weather table",
"dataset": "Weather",
"answer": "V2VhdGhlcgp8IHByb2plY3QgSGlnaA=="
},
{
"name": "ProjectEx2",
"question": "Return High and Low temperatures of all records from the Weather table",
"dataset": "Weather",
"answer": "V2VhdGhlcgp8IHByb2plY3QgSGlnaCwgTG93"
},
{
"name": "ProjectEx3",
"question": "Rename the Low column to LowestTemperature and return the results",
"dataset": "Weather",
"answer": "V2VhdGhlcgp8IHByb2plY3QgTG93ZXN0VGVtcGVyYXR1cmUgPSBMb3c="
}
],
"Count": 2
}
},
{
"markdown": "IVtEb2N1bWVudGF0aW9uXShodHRwczovL3NoaWVsZHMuaW8vYmFkZ2UvLURvY3VtZW50YXRpb24taW5mb3JtYXRpb25hbCkNCjxwPg0KaHR0cHM6Ly9kb2NzLm1pY3Jvc29mdC5jb20vZW4tdXMvYXp1cmUvZGF0YS1leHBsb3Jlci9rdXN0by9xdWVyeS9wcm9qZWN0YXdheW9wZXJhdG9yDQo8L3A+DQoNCiAqKlN1bW1hcnk6KioNCjxwPg0KVGhlIHByb2plY3QtYXdheSBvcGVyYXRvciBkb2VzIGEgc2ltaWxhciBmdW5jdGlvbiBhcyBwcm9qZWN0LiBQcm9qZWN0LWF3YXkgcmVtb3ZlcyB0aGUgdW53YW50ZWQgY29sdW1ucyBmcm9tIHRoZSBmdWxsIGxpc3Qgb2YgY29sdW1ucyBpbiB0aGUgcmVzdWx0cy4NCjwvcD4NCg0KICoqRXhhbXBsZToqKg0KPHA+DQpTZWN1cml0eUFsZXJ0IHwgcHJvamVjdC1hd2F5IFByb2Nlc3NpbmdFbmRUaW1lLCBUeXBlIDwvYnI+DQpTZWN1cml0eUV2ZW50IHwgd2hlcmUgRXZlbnRJRCA9PSA0NjI0IHwgcHJvamVjdC1hd2F5IFNvdXJjZUNvbXB1dGVySUQsIE1HLCBNYW5kYXRvcnlMYWJlbCA8L2JyPg0KU2lnbmluTG9ncyB8IHdoZXJlIFRpbWVHZW5lcmF0ZWQgPCBhZ28oMWgpIHwgcHJvamVjdC1hd2F5IExldmVsLCBQcm9jZXNzaW5nVGltZUluTWlsbGlzZWNvbmRzIDxici8+DQo8L3A+DQoNCiAqKldoZW4gdG8gdXNlOioqDQo8cD4NClByb2plY3QtYXdheSBpcyBiZXN0IHVzZWQgd2hlbiBtb3N0IGNvbHVtbnMgc2hvdWxkIHJlbWFpbiBleGNlcHQgZm9yIGEgc2VsZWN0IGZldy4gSXQgaXMgZWFzaWVyIHRvIHVzZSBwcm9qZWN0LWF3YXkgdG8gcmVtb3ZlIHRoZSBmZXcgY29sdW1ucyByYXRoZXIgdGhhbiB1c2luZyBwcm9qZWN0IHRvIHJlY3JlYXRlIHRoZSBsaXN0IG9mIGNvbHVtbnMgdG8gcHJlc2VudCBpbiB0aGUgcmVzdWx0cy4NCjwvcD4NCg==",
"tab": "Overview",
"section": "ProjectAway",
"exercises": {
"value": [
{
"name": "ProjectAwayEx1",
"question": "Return all records excluding the High column from the Weather table",
"dataset": "Weather",
"answer": "V2VhdGhlcgp8IHByb2plY3QtYXdheSBIaWdo"
},
{
"name": "ProjectAwayEx2",
"question": "Return all records excluding the High and Rain columns from the Weather table",
"dataset": "Weather",
"answer": "V2VhdGhlcgp8IHByb2plY3QtYXdheSBIaWdoLCBSYWlu"
}
],
"Count": 2
}
},
{
"markdown": "IVtEb2N1bWVudGF0aW9uXShodHRwczovL3NoaWVsZHMuaW8vYmFkZ2UvLURvY3VtZW50YXRpb24taW5mb3JtYXRpb25hbCkNCjxwPg0KaHR0cHM6Ly9kb2NzLm1pY3Jvc29mdC5jb20vZW4tdXMvYXp1cmUvZGF0YS1leHBsb3Jlci9rdXN0by9xdWVyeS9kYXRhdHlwZXMtc3RyaW5nLW9wZXJhdG9ycw0KPC9wPg0KDQogKipTdW1tYXJ5OioqDQo8cD4NClRoZSBjb250YWlucyBvcGVyYXRvciB0YWtlcyBhIHN0cmluZyBhbmQgZmlsdGVycyB0aGUgbG9ncyBiYXNlZCBvbiB0aGUgc3RyaW5nLiBDb250YWlucyBpcyBub3QgY2FzZSBzZW5zaXRpdmUuDQo8L3A+DQoNCiAqKkV4YW1wbGU6KioNCjxwPg0KU2VjdXJpdHlBbGVydCB8IHdoZXJlIFByb3ZpZGVyTmFtZSBjb250YWlucyAnbTM2NSBkZWZlbmRlcicgPC9icj4NClNlY3VyaXR5RXZlbnQgfCB3aGVyZSBFdmVudElEID09IDQ2MjQgfCB3aGVyZSBDb21wdXRlciBjb250YWlucyAnZGMwMScgPC9icj4NClNpZ25pbkxvZ3MgfCB3aGVyZSBUaW1lR2VuZXJhdGVkIDwgYWdvKDFoKSB8IHdoZXJlIEFjY291bnQgY29udGFpbnMgJ2FkbWluJyA8YnIvPg0KPC9wPg0KDQogKipXaGVuIHRvIHVzZToqKg0KPHA+DQpDb250YWlucyBjYW4gYmUgdXNlZCBpbiBwbGFjZSBvZiB0aGUgdXN1YWwgJz09JyBzdHJpbmcgY29tcGFyaXNvbiBmaWx0ZXIgd2hpbGUgcHJvdmlkaW5nIHJlbGF4ZWQgY2FzZSBzZW5zaXRpdml0eS4gVGhpcyBjYW4gYmUgdXNlZnVsIHdoZW4gcGVyZm9ybWluZyBzZWFyY2hlcyBhbmQgZmlsdGVyaW5nIG9mIGxvZ3Mgb24gYW4gaXRlbSB3aGVyZSBjYXBpdGFsaXphdGlvbiBpcyB1bmtub3duLg0KPC9wPg0K",
"tab": "Overview",
"section": "Contains",
"exercises": {
"value": [
{
"name": "ContainsEx1",
"question": "Return records from the Weather table with Location values that have the letter \"s\" in them",
"dataset": "Weather",
"answer": "V2VhdGhlcgp8IHdoZXJlIExvY2F0aW9uIGNvbnRhaW5zICdzJw=="
}
],
"Count": 1
}
},
{
"markdown": "IVtEb2N1bWVudGF0aW9uXShodHRwczovL3NoaWVsZHMuaW8vYmFkZ2UvLURvY3VtZW50YXRpb24taW5mb3JtYXRpb25hbCkNCjxwPg0KaHR0cHM6Ly9kb2NzLm1pY3Jvc29mdC5jb20vZW4tdXMvYXp1cmUvZGF0YS1leHBsb3Jlci9rdXN0by9xdWVyeS9kYXRhdHlwZXMtc3RyaW5nLW9wZXJhdG9ycw0KPC9wPg0KDQogKipTdW1tYXJ5OioqDQo8cD4NClNpbWlsYXIgdG8gdGhlIGNvbnRhaW5zIG9wZXJhdG9yLCB0aGUgaGFzIG9wZXJhdG9yIHRha2VzIGEgc3RyaW5nIGFuZCBmaWx0ZXJzIHRoZSBsb2dzIGJhc2VkIG9uIHRoZSBzdHJpbmcuIENvbnRhaW5zIGlzIG5vdCBjYXNlIHNlbnNpdGl2ZS4NCjwvcD4NCg0KICoqRXhhbXBsZToqKg0KPHA+DQpTZWN1cml0eUFsZXJ0IHwgd2hlcmUgUHJvdmlkZXJOYW1lIGhhcyAnbTM2NSBkZWZlbmRlcicgPC9icj4NClNlY3VyaXR5RXZlbnQgfCB3aGVyZSBFdmVudElEID09IDQ2MjQgfCB3aGVyZSBDb21wdXRlciBoYXMgJ2RjMDEnIDwvYnI+DQpTaWduaW5Mb2dzIHwgd2hlcmUgVGltZUdlbmVyYXRlZCA8IGFnbygxaCkgfCB3aGVyZSBBY2NvdW50IGhhcyAnYWRtaW4nIDxici8+DQo8L3A+DQoNCiAqKldoZW4gdG8gdXNlOioqDQo8cD4NCkhhcyBwZXJmb3JtcyB0aGUgc2FtZSBmdW5jdGlvbmFsaXR5IGFzIENvbnRhaW5zIGJ1dCBwcm92aWRlcyBiZXR0ZXIgcGVyZm9ybWFuY2Ugd2hlbiBydW5uaW5nIHRoZSBxdWVyeS4NCjwvcD4NCg==",
"tab": "Overview",
"section": "Has",
"exercises": {
"value": [
{
"name": "HasEx2",
"question": "Return all records from the Mordor table that have the word \"cleared\" in the Message column",
"dataset": "Mordor",
"answer": "TW9yZG9yIHwgd2hlcmUgTWVzc2FnZSBoYXMgJ2NsZWFyZWQn"
}
],
"Count": 1
}
},
{
"markdown": "IVtEb2N1bWVudGF0aW9uXShodHRwczovL3NoaWVsZHMuaW8vYmFkZ2UvLURvY3VtZW50YXRpb24taW5mb3JtYXRpb25hbCkNCjxwPg0KaHR0cHM6Ly9kb2NzLm1pY3Jvc29mdC5jb20vZW4tdXMvYXp1cmUvZGF0YS1leHBsb3Jlci9rdXN0by9xdWVyeS9hZ29mdW5jdGlvbg0KPC9wPg0KDQogKipTdW1tYXJ5OioqDQo8cD4NClRoZSBhZ28gb3BlcmF0b3IgdGFrZXMgdGhlIGN1cnJlbnQgdGltZSBhbmQgc3VidHJhY3RzIHRoZSBzcGVjaWZpZWQgYW1vdW50IG9mIHRpbWUgZnJvbSBpdC4gVGhlIHRpbWUgc3VidHJhY3RlZCBjYW4gYmUgZG9uZSBpbiBzZWNvbmRzIChzKSwgbWludXRlcyAobSksIGhvdXJzIChoKSwgYW5kIGRheXMgKGQpLg0KDQphZ28gc2hvdWxkIGJlIHVzZWQgYWZ0ZXIgdXNpbmcgZXF1YWxpdHkgb3BlcmF0b3JzIHN1Y2ggYXMgPiwgPCwgPj0sIDw9Lg0KPC9wPg0KDQogKipFeGFtcGxlOioqDQo8cD4NClNlY3VyaXR5QWxlcnQgfCB3aGVyZSBUaW1lR2VuZXJhdGVkID49IGFnbygyZCkgfCB3aGVyZSBQcm92aWRlck5hbWUgaGFzICdtMzY1IGRlZmVuZGVyJyA8L2JyPg0KU2VjdXJpdHlFdmVudCB8IHdoZXJlIFRpbWVHZW5lcmF0ZWQgPCBhZ28gKDFoKXwgd2hlcmUgRXZlbnRJRCA9PSA0NjI0IHwgd2hlcmUgQ29tcHV0ZXIgaGFzICdkYzAxJyA8L2JyPg0KU2lnbmluTG9ncyB8IHdoZXJlIFRpbWVHZW5lcmF0ZWQgPD0gYWdvKDMwbSkgfCB3aGVyZSBBY2NvdW50IGhhcyAnYWRtaW4nIDxici8+DQo8L3A+DQoNCiAqKldoZW4gdG8gdXNlOioqDQo8cD4NCmFnbyBzaG91bGQgYWx3YXlzIGJlIHVzZWQgd2hlbiBsb29raW5nIHRvIGZpbHRlciBkYXRhIHRvIGJlIHdpdGhpbiBhIGNlcnRhaW4gdGltZSB3aW5kb3cuID49IG9yIDw9IHNob3VsZCBiZSB1c2VkIHdoZW4gbG9va2luZyB0byByZXR1cm4gZGF0YSBvdXRzaWRlIG9mIG9yIHdpdGhpbiB0aGUgdGltZSByYW5nZS4NCjwvcD4NCg==",
"tab": "Scalar",
"section": "Ago",
"exercises": {
"value": [
{
"name": "AgoEx1",
"question": "Return all \u0027userlogins\u0027 table records from the last 7 days",
"dataset": "userlogins",
"answer": "dXNlcmxvZ2lucwp8IHdoZXJlIFRpbWVHZW5lcmF0ZWQgPiBhZ28oN2Qp"
},
{
"name": "AgoEx2",
"question": "Return all \u0027userlogins\u0027 table records from more than 30 days ago",
"dataset": "userlogins",
"answer": "dXNlcmxvZ2lucwp8IHdoZXJlIFRpbWVHZW5lcmF0ZWQgPiBhZ28oMzBkKQ=="
}
],
"Count": 2
}
},
{
"markdown": "IVtEb2N1bWVudGF0aW9uXShodHRwczovL3NoaWVsZHMuaW8vYmFkZ2UvLURvY3VtZW50YXRpb24taW5mb3JtYXRpb25hbCkNCjxwPg0KaHR0cHM6Ly9kb2NzLm1pY3Jvc29mdC5jb20vZW4tdXMvYXp1cmUvZGF0YS1leHBsb3Jlci9rdXN0by9xdWVyeS9iZXR3ZWVub3BlcmF0b3INCjwvcD4NCg0KICoqU3VtbWFyeToqKg0KPHA+DQpUaGUgYmV0d2VlbiBvcGVyYXRvciBtYXRjaGVzIHRoZSBpbnB1dCB0aGF0IGlzIGluc2lkZSB0aGUgaW5jbHVzaXZlIHJhbmdlLiBUaGlzIGNhbiBiZSBiZXR3ZWVuIGludGVnZXJzIG9yIGRhdGV0aW1lIGl0ZW1zLg0KPC9wPg0KDQogKipFeGFtcGxlOioqDQo8cD4NClNlY3VyaXR5QWxlcnQgfCB3aGVyZSBUaW1lR2VuZXJhdGVkIGJldHdlZW4gKG5vdyAuLiBhZ28oOGQpKSB8IHdoZXJlIFByb3ZpZGVyTmFtZSBoYXMgJ20zNjUgZGVmZW5kZXInIDwvYnI+DQpTZWN1cml0eUV2ZW50IHwgd2hlcmUgVGltZUdlbmVyYXRlZCA8IGFnbyAoMWgpfCB3aGVyZSBFdmVudElEIGJldHdlZW4gKDQwMDAgLi4gNTAwMCkgfCB3aGVyZSBDb21wdXRlciBoYXMgJ2RjMDEnIDwvYnI+DQpTaWduaW5Mb2dzIHwgd2hlcmUgVGltZUdlbmVyYXRlZCBiZXR3ZWVuIChkYXRldGltZSgyMDIxLTAxLTAxIDAwOjAwOjAwKSAuLiBkYXRldGltZSgyMDIxLTAyLTAxIDAwOjAwOjAwKSkgfCB3aGVyZSBBY2NvdW50IGhhcyAnYWRtaW4nIDxici8+DQo8L3A+DQoNCiAqKldoZW4gdG8gdXNlOioqDQo8cD4NCmJldHdlZW4gaXMgYSBzdHJvbmcgb3BlcmF0b3Igd2hlbiBsb29raW5nIGZvciBkYXRhIHdpdGhpbiBhIHRpbWUgcmFuZ2Ugb3IgbnVtZXJpY2FsIHJhbmdlLiBGb3IgdGltZSByYW5nZXMsIGl0IGNhbiByZXR1cm4gZGF0YSBnZW5lcmF0ZWQgYmV0d2VlbiB0d28gb3IgbW9yZSBtb250aHMgd2l0aG91dCBoYXZpbmcgdG8gY29tcGFyZSB0aGUgdGltZSB0byB0aGUgY3VycmVudCB0aW1lLiBGb3IgbnVtYmVyIHJhbmdlcywgdGhpcyBjYW4gYmUgdXNlZCBpbiBwbGFjZSBvZiBhIDwgPiBjb21wYXJpc29uIGZvciByYW5nZXMuDQo8L3A+DQo=",
"tab": "Scalar",
"section": "Between",
"exercises": {
"value": [
{
"name": "BetweenEx1",
"question": "Return rows from the Weather table with a Low between 20 and 22",
"dataset": "Weather",
"answer": "V2VhdGhlcgp8IHdoZXJlIExvdyBiZXR3ZWVuICgyMCAuLiAyMik="
},
{
"name": "BetweenEx2",
"question": "Return rows from the Weather table with Rain between 0.8 and 1",
"dataset": "Weather",
"answer": "V2VhdGhlcgp8IHdoZXJlIFJhaW4gYmV0d2VlbiAoMC44IC4uIDEp"
},
{
"name": "BetweenEx3",
"question": "Return all rows where the time is between 2015-06-25 and 2015-06-30",
"dataset": "Weather",
"answer": "V2VhdGhlcgp8IHdoZXJlIFRpbWVHZW5lcmF0ZWQgYmV0d2VlbihkYXRldGltZSgiMjAxNS0wNi0yNSIpIC4uIGRhdGV0aW1lKCIyMDE1LTA2LTI5Iikp"
}
],
"Count": 3
}
},
{
"markdown": "IVtEb2N1bWVudGF0aW9uXShodHRwczovL3NoaWVsZHMuaW8vYmFkZ2UvLURvY3VtZW50YXRpb24taW5mb3JtYXRpb25hbCkNCjxwPg0KaHR0cHM6Ly9kb2NzLm1pY3Jvc29mdC5jb20vZW4tdXMvYXp1cmUvZGF0YS1leHBsb3Jlci9rdXN0by9xdWVyeS9jYXNlZnVuY3Rpb24NCjwvcD4NCg0KICoqU3VtbWFyeToqKg0KPHA+DQpUaGUgY2FzZSBvcGVyYXRvciBldmFsdWF0ZXMgYSBsaXN0IG9mIGl0ZW1zIGFuZCByZXR1cm5zIHRoZSBmaXJzdCByZXN1bHQgd2hlbiB0aGUgaXRlbSBpcyBzYXRpc2ZpZWQuIElmIG5vbmUgb2YgdGhlIGl0ZW1zIGFyZSB0cnVlLCB0aGUgcmVzdWx0IG9mIHRoZSBsYXN0IGl0ZW0gaXMgcmV0dXJuZWQuIENhc2UgY2FuIGJlIHNlZW4gYXMgYSBsaXN0IG9mIGlmL2Vsc2Ugc3RhdGVtZW50cyB0aGF0IHJ1bnMgYSBjaGVjayBvbiBlYWNoIGl0ZW0gdG8gc2VlIGlmIHRoZXkgYXJlIHRydWUuIElmIG5vdCwgcmV0dXJuIHRoZSBkZWZhdWx0IGVsc2UgdmFsdWUuDQo8L3A+DQoNCiAqKkV4YW1wbGU6KioNCjxwPg0KVGFibGUgfCBleHRlbmQgVmFyaWFibGUgPSBjYXNlKCBTaXplIDw9IDMsICJTbWFsbCIsIFNpemUgPD0gMTAsICJNZWRpdW0iLCAiTGFyZ2UiKSA8L2JyPg0KU2VjdXJpdHlFdmVudCB8IGV4dGVuZCBDYXRlZ29yeSA9IGNhc2UoRXZlbnRJRCBiZXR3ZWVuICg0NjIwIC4uIDQ2MzApLCAiQXV0aGVudGljYXRpb24iLCBFdmVudElEIGJldHdlZW4gKDQ3MjAgLi4gNDczMCksICJBY2NvdW50IGJhc2VkIiwgIlVuY2xhc3NpZmllZCIpIHwgcHJvamVjdCBFdmVudElELCBDYXRlZ29yeSAgPC9icj4NCjwvcD4NCg0KICoqV2hlbiB0byB1c2U6KioNCjxwPg0KQ2FzZSBzaG91bGQgYmUgdXNlZCB3aGVuIGxvb2tpbmcgdG8gdGFnIG9yIGNsYXNzaWZ5IGRhdGEgYmFzZWQgb24gZmlsdGVycy4gVGhlIHJldHVybiB2YWx1ZSBmb3IgZWFjaCBjYXNlIGNhbiBiZSBhIHN0YXRpYyBzdHJpbmcgb3IgYSBkeWFubWljIHZhbHVlIGZyb20gYSBjb2x1bW4vdmFyaWFibGUuIFRoaXMgY2FuIGJlIHVzZWQgdG8gZmlsdGVyIG91dCBvbmx5IHJlbHZhbnQgY29sdW1ucyB3aGVuIGxvb2tpbmcgdG8gcGVyZm9ybSBjYXNlIG1hdGNoaW5nLg0KPC9wPg0K",
"tab": "Scalar",
"section": "Case",
"exercises": {
"value": [
{
"name": "CaseEx1",
"question": "Extend a Feeling column that lists \"hot\" for High over 80, \"warm\" for High over 65, and \"cool\" for other Highs",
"dataset": "Weather",
"answer": "V2VhdGhlcgp8IGV4dGVuZCBGZWVsaW5nID0gY2FzZSAoSGlnaCA+IDgwLCAiaG90IiwgSGlnaCA+IDY1LCAid2FybSIsICJjb29sIik="
}
],
"Count": 1
}
},
{
"markdown": "IVtEb2N1bWVudGF0aW9uXShodHRwczovL3NoaWVsZHMuaW8vYmFkZ2UvLURvY3VtZW50YXRpb24taW5mb3JtYXRpb25hbCkNCjxwPg0KaHR0cHM6Ly9kb2NzLm1pY3Jvc29mdC5jb20vZW4tdXMvYXp1cmUvZGF0YS1leHBsb3Jlci9rdXN0by9xdWVyeS9zY2FsYXItZGF0YS10eXBlcy9kYXRldGltZQ0KPC9wPg0KDQogKipTdW1tYXJ5OioqDQo8cD4NClRoZSBkYXRldGltZSBvcGVyYXRvciByZXByZXNlbnRzIGFuIGluc3RhbnQgaW4gdGltZSwgdHlwaWNhbGx5IGV4cHJlc3NlZCBhcyBhIGRhdGUgYW5kIHRpbWUgb2YgZGF5LiBWYWx1ZXMgcmFuZ2UgaW4gMDA6MDA6MDAgKG1pZG5pZ2h0KSB0aHJvdWdoIDExOjU5OjU5IFBNLg0KPC9wPg0KDQogKipFeGFtcGxlOioqDQo8cD4NClNlY3VyaXR5RXZlbnQgfCB3aGVyZSBUaW1lR2VuZXJhdGVkIGJldHdlZW4gKGRhdGV0aW1lKDIwMjEtMDEtMDEgMDE6NDU6MDApLi5kYXRldGltZSgyMDIxLTAxLTMxIDExOjAwOjAwKSkgIDwvYnI+DQo8L3A+DQoNCiAqKldoZW4gdG8gdXNlOioqDQo8cD4NCkRhdGV0aW1lIHNob3VsZCBiZSB1c2VkIHdoZW4gdXNpbmcgdGhlIGJldHdlZW4gb3BlcmF0b3Igb3Igd2hlbiBjcmVhdGluZyBhIGRhdGF0YWJsZS4gRGF0ZXRpbWUgd2lsbCBoZWxwIHRoZSBxdWVyeSByZW5kZXIgYSBkYXRlIHRoYXQgaXMgYSBzdHJpbmcgYW5kIHNwZWNpZnkgaWYgYSBjb2x1bW4gaXMgYSBkYXRlLg0KPC9wPg0K",
"tab": "Scalar",
"section": "Datetime",
"exercises": {
"value": [
{
"name": "DatetimeEx1",
"question": "Print the time difference between midnight UTC January 22nd 2014 and 3pm UTC on October 1st 2000",
"dataset": "Weather"
}
],
"Count": 1
}
},
{
"markdown": "IVtEb2N1bWVudGF0aW9uXShodHRwczovL3NoaWVsZHMuaW8vYmFkZ2UvLURvY3VtZW50YXRpb24taW5mb3JtYXRpb25hbCkNCjxwPg0KaHR0cHM6Ly9kb2NzLm1pY3Jvc29mdC5jb20vZW4tdXMvYXp1cmUvZGF0YS1leHBsb3Jlci9rdXN0by9xdWVyeS9pZmZmdW5jdGlvbg0KPC9wPg0KDQogKipTdW1tYXJ5OioqDQo8cD4NClRoZSBpZmYgb3BlcmF0b3IgZXZhbHVhdGVzIHRoZSBmaXJzdCBhcmd1bWVudCBhbmQgcmV0dXJucyB0aGUgdmFsdWUgb2YgZWl0aGVyIHRoZSBzZWNvbmQgb3IgbGFzdCBhcmd1bWVudCBkZXBlbmRpbmcgb24gd2hpY2ggaXRlbSBpcyB0cnVlLiBJZiB0cnVlLCB0aGUgc2Vjb25kIG9wdGlvbiBpcyByZXR1cm5lZC4gSWYgZmFsc2UsIHRoZSB0aGlyZCBvcHRpb24gaXMgcmV0dXJuZWQuIElmZiBtdXN0IGJlIHVzZWQgd2l0aCB0aGUgZXh0ZW5kIG9wZXJhdG9yIHRvIGNyZWF0ZSBhIHZhcmlhYmxlIHRoYXQgd2lsbCB0YWtlIG9uIHRoZSB2YWx1ZSByZXR1cm5lZCBmcm9tIHRoZSBpZmYgc3RhdGVtZW50Lg0KPC9wPg0KDQogKipFeGFtcGxlOioqDQo8cD4NClNlY3VyaXR5SW5jaWRlbnQgfCBleHRlbmQgaWZmKGlzZW1wdHkoT3duZXIpID09IHRydWUsICJUaGlzIGluY2lkZW50IGlzIG5vdCBvd25lZC4iLCBPd25lcikgIDwvYnI+DQoNClNpZ25pbkxvZ3MgfCBleHRlbmQgQnJvd3NlckNoZWNrID0gaWZmKERldmljZURldGFpbC5icm93c2VyICFoYXMgJ0VkZ2UnLCAiVXNlciBpcyBicmVha2luZyBwb2xpY3kgYnkgdXNpbmcgdW5zdXBwb3J0ZWQgd2ViIGJyb3dzZXJzLiIsICJCcm93c2VyIGNvbXBsaWFudCBmb3IgdGhpcyBhdXRoZW50aWNhdGlvbi4iKSAgPC9icj4NCjwvcD4NCg0KICoqV2hlbiB0byB1c2U6KioNCjxwPg0KaWZmIGlzIGJlc3QgdXNlZCB3aGVuIGxvb2tpbmcgdG8gc2V0IGJvb2xlYW4gY2hlY2tzIG9yIHJ1biBjaGVja3MgdGhhdCB3aWxsIGxldmVyYWdlIHJlc3VsdHMgZGVzaXJlZCBpZiB0cnVlIG9yIGlmIGZhbHNlLiBJZmYgaXMgYSBncmVhdCByZXBsYWNlbWVudCBmb3IgY2FzZSB3aGVuIGxvb2tpbmcgdG8gcGVyZm9ybSBzaG9ydCBjaGVja3MgcmF0aGVyIHRoYW4gc2V2ZXJhbC4NCjwvcD4NCg==",
"tab": "Scalar",
"section": "Iff",
"exercises": {
"value": [
{
"name": "IffEx1",
"question": "Extend a new column that will check if its raining or not based on the Rain value is greater than 0.",
"dataset": "Weather",
"answer": "V2VhdGhlcgp8IGV4dGVuZCBpc3JhaW5pbmcgPSBpZmYoUmFpbiA+IDAsICJyYWluaW5nIiwgIm5vdCByYWluaW5nIik="
}
],
"Count": 1
}
},
{
"markdown": "IVtEb2N1bWVudGF0aW9uXShodHRwczovL3NoaWVsZHMuaW8vYmFkZ2UvLURvY3VtZW50YXRpb24taW5mb3JtYXRpb25hbCkNCjxwPg0KaHR0cHM6Ly9kb2NzLm1pY3Jvc29mdC5jb20vZW4tdXMvYXp1cmUvZGF0YS1leHBsb3Jlci9rdXN0by9xdWVyeS9zb3J0b3BlcmF0b3INCg0KPC9wPg0KDQogKipTdW1tYXJ5OioqDQo8cD4NClRoZSBzb3J0IG9wZXJhdG9yIHNvcnRzIHRoZSByb3dzIG9mIHRoZSBpbnB1dCB0YWJsZSBpbiBvcmRlciBieSBvbmUgb3IgbW9yZSBjb2x1bW5zLiBBc2MgKWFzY2VuZGluZykgYW5kIGRlc2MgKGRlc2NlbmRpbmcpIGFyZSB1c2VkIHRvIGRpY3RhdGUgd2hpY2ggc29ydGluZyBtZXRob2QgaXMgdXNlZC4NCjwvcD4NCg0KICoqRXhhbXBsZToqKg0KPHA+DQpTZWN1cml0eUV2ZW50IHwgcHJvamVjdCBUaW1lR2VuZXJhdGVkLCBDb21wdXRlciwgVXNlciB8IHNvcnQgYnkgQ29tcHV0ZXIgYXNjICA8L2JyPg0KDQpTaWduaW5Mb2dzIHwgcHJvamVjdCBUaW1lR2VuZXJhdGVkLCBBY2NvdW50IHwgc29ydCBieSBUaW1lR2VuZXJhdGVkIGFzYyA8L2JyPg0KPC9wPg0KDQogKipXaGVuIHRvIHVzZToqKg0KPHA+DQpzb3J0IGlzIGJlc3QgdXNlZCB3aGVuIGxvb2tpbmcgdG8gc3VyZmFjZSBjZXJ0YWluIHJlc3VsdHMgZmlyc3QgaW4gdGhlIGxpc3QuIFNvcnQgY2FuIGFwcGx5IHRvIGFueSByZXR1cm5lZCBjb2x1bW4gaW4gb3JkZXIgdG8gb3JnYW5pemUgdGhlIHJlc3VsdHMuIA0KPC9wPg0K",
"tab": "Scalar",
"section": "Sort",
"exercises": {
"value": [
{
"name": "SortEx1",
"question": "Sort Weather results by amount of Rain from most to least",
"dataset": "Weather",
"answer": "V2VhdGhlcgp8IHNvcnQgYnkgUmFpbiBkZXNj"
}
],
"Count": 1
}
},
{
"markdown": "RG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9kb2NzLm1pY3Jvc29mdC5jb20vZW4tdXMvYXp1cmUvZGF0YS1leHBsb3Jlci9rdXN0by9xdWVyeS9wYXJzZWpzb25mdW5jdGlvblx1MDAzY2JyL1x1MDAzZVx1MDAzY2JyL1x1MDAzZQ0KDQpUaGUgdG9keW5hbWljKCkgb3BlcmF0b3IgaW50ZXJwcmV0cyBhIHN0cmluZyBhcyBhIEpTT04gdmFsdWUgYW5kIHJldHVybnMgdGhlIHZhbHVlIGFzIGR5bmFtaWMuIFdvcmtzIHNpbWlsaWxhcmx5IGFzIHRoZSBwYXJzZV9qc29uIG9wZXJhdG9yLg0KDQpFeGFtcGxlOg0KZXh0ZW5kIFZhcmlhYmxlID0gcGFyc2VfanNvbihuZXN0ZWRKc29uSXRlbSksIGV4dGVuZCBWYXJpYWJsZSA9IHRvZHluYW1pYyhuZXN0ZWRKc29uSXRlbSlcdTAwM2Nici9cdTAwM2U=",
"tab": "Scalar",
"section": "ToDynamic",
"exercises": {
"value": [
{
"name": "ToDynamicEx1",
"question": "Convert WinEvents from the table \u0027Events\u0027 to dynamic. Extend a new column called EventID and reference the EventID from WinEvents. Then return rows that have an EventID of 1102. Ensure your Output looks like the output in the \u0027expected result\u0027.",
"dataset": "Events",
"answer": "RXZlbnRzCnwgZXh0ZW5kIFdpbkV2ZW50cyA9IHRvZHluYW1pYyhXaW5FdmVudHMpCnwgZXh0ZW5kIEV2ZW50SUQgPSBXaW5FdmVudHMuRXZlbnRJRAp8IHdoZXJlIEV2ZW50SUQgPT0gIjExMDIi"
}
],
"Count": 1
}
},
{
"markdown": "IVtEb2N1bWVudGF0aW9uXShodHRwczovL3NoaWVsZHMuaW8vYmFkZ2UvLURvY3VtZW50YXRpb24taW5mb3JtYXRpb25hbCkNCjxwPg0KaHR0cHM6Ly9kb2NzLm1pY3Jvc29mdC5jb20vZW4tdXMvYXp1cmUvZGF0YS1leHBsb3Jlci9rdXN0by9xdWVyeS9hcmctbWF4LWFnZ2Z1bmN0aW9uDQoNCjwvcD4NCg0KICoqU3VtbWFyeToqKg0KPHA+DQpUaGUgYXJnX21heCBvcGVyYXRvciBmaW5kcyBhIHJvdyBpbiBhIGdyb3VwIHRoYXQgbWF4aW1pemVzIGEgc3BlY2lmaWVkIGV4cHJlc2lzb24gYW5kIHJldHVybnMgdGhlIHZhbHVlIG9mIHRoZSBleHByZXNzaW9uIHRvIHJldHVybi48L2JyPg0KPC9wPg0KRXhhbXBsZTogc3VtbWFyaXplIFsoTmFtZUV4cHJUb01heGltaXplICwgTmFtZUV4cHJUb1JldHVybiBbLCAuLi5dICk9XSBhcmdfbWF4IChFeHByVG9NYXhpbWl6ZSwgfCBFeHByVG9SZXR1cm4gWywgLi4uXSkNCg0KRXhwclRvTWF4aW1pemU6IEV4cHJlc3Npb24gdGhhdCB3aWxsIGJlIHVzZWQgZm9yIGFnZ3JlZ2F0aW9uIGNhbGN1bGF0aW9uLjwvYnI+DQpFeHByVG9SZXR1cm46IEV4cHJlc3Npb24gdGhhdCB3aWxsIGJlIHVzZWQgZm9yIHJldHVybmluZyB0aGUgdmFsdWUgd2hlbiBFeHByVG9NYXhpbWl6ZSBpcyBtYXhpbXVtLiBFeHByZXNzaW9uIHRvIHJldHVybiBtYXkgYmUgYSB3aWxkY2FyZCAoKSB0byByZXR1cm4gYWxsIGNvbHVtbnMgb2YgdGhlIGlucHV0IHRhYmxlLiA8L2JyPg0KPC9wPg0KDQogKipFeGFtcGxlOioqDQo8cD4NClNlY3VyaXR5RXZlbnQgfCBzdW1tYXJpemUgYXJnX21heChDb21wdXRlciwgRXZlbnRJRCkgIDwvYnI+DQoNClNpZ25pbkxvZ3MgfCBzdW1tYXJpemUgYXJnX21heChUaW1lR2VuZXJhdGVkLCBVc2VyRGlzcGxheU5hbWUpIDwvYnI+DQo8L3A+DQoNCiAqKldoZW4gdG8gdXNlOioqDQo8cD4NCmFyZ19tYXggaXMgYmVzdCB1c2VkIHdoZW4gbG9va2luZyB0byByZXR1cm4gdGhlIGhpZ2hlc3Qgb3IgbW9zdCByZWNlbnQgbG9nIGZvciBhIHNwZWNpZmllZCBpdGVtLiBUaGUgbW9zdCBjb21tb24gdXNlIGZvciB0aGlzIG9wZXJhdG9yIGlzIHRvIGZpbmQgdGhlIG1vc3QgcmVjZW50IGxvZyBpbmdlc3RlZCBmcm9tIGEgc291cmNlLiBUaGlzIGNhbiBiZSB1c2VmdWwgd2hlbiBydW5uaW5nIGNvbm5lY3RvciBoZWFsdGggY2hlY2tzLCByZXNvcnVjZSByZXBvcnRpbmcgaGVhbHRoIGNoZWNrcywgYW5kIGZpbmRpbmcgbW9zdCByZWNlbnQgYWN0aXZpdHkgb24gZW50aXRpZXMgb3IgZXZlbnRzLg0KPC9wPg0K",
"tab": "Advanced",
"section": "Arg_max",
"exercises": {
"value": [
{
"name": "Arg_maxEx1",
"question": "Return the records from each Location with the most Rain for that Location sorted from most Rain to least",
"dataset": "Weather",
"answer": "V2VhdGhlcgp8IHN1bW1hcml6ZSBhcmdfbWF4KFJhaW4sICopIGJ5IExvY2F0aW9uCnwgc29ydCBieSBSYWluIGRlc2M="
},
{
"name": "Arg_maxEx2",
"question": "Return the amount of Rain and TimeGenerated from each Location with the most Rain for that Location sorted from most Rain to least",
"dataset": "Weather",
"answer": "V2VhdGhlcgp8IHN1bW1hcml6ZSBhcmdfbWF4KFJhaW4sIFJhaW4sIFRpbWVHZW5lcmF0ZWQpIGJ5IExvY2F0aW9uCnwgc29ydCBieSBSYWluIGRlc2M="
}
],
"Count": 2
}
},
{
"markdown": "IVtEb2N1bWVudGF0aW9uXShodHRwczovL3NoaWVsZHMuaW8vYmFkZ2UvLURvY3VtZW50YXRpb24taW5mb3JtYXRpb25hbCkNCjxwPg0KaHR0cHM6Ly9kb2NzLm1pY3Jvc29mdC5jb20vZW4tdXMvYXp1cmUvZGF0YS1leHBsb3Jlci9rdXN0by9xdWVyeS9hcmctbWluLWFnZ2Z1bmN0aW9uDQoNCjwvcD4NCg0KICoqU3VtbWFyeToqKg0KPHA+DQpUaGUgYXJnX21pbiBvcGVyYXRvciBmaW5kcyBhIHJvdyBpbiBhIGdyb3VwIHRoYXQgbWluaW1pemVzIGEgc3BlY2lmaWVkIGV4cHJlc2lzb24gYW5kIHJldHVybnMgdGhlIHZhbHVlIG9mIHRoZSBleHByZXNzaW9uIHRvIHJldHVybi4gPC9icj4NCkV4YW1wbGU6IHN1bW1hcml6ZSBbKE5hbWVFeHByVG9NaW5pbWl6ZSAsIE5hbWVFeHByVG9SZXR1cm4gWywgLi4uXSApPV0gYXJnX21pbiAoRXhwclRvTWluaW1pemUsIHwgRXhwclRvUmV0dXJuIFssIC4uLl0pDQo8L3A+DQpFeHByVG9NaW5pbWl6ZTogRXhwcmVzc2lvbiB0aGF0IHdpbGwgYmUgdXNlZCBmb3IgYWdncmVnYXRpb24gY2FsY3VsYXRpb24uIDwvYnI+DQpFeHByVG9SZXR1cm46IEV4cHJlc3Npb24gdGhhdCB3aWxsIGJlIHVzZWQgZm9yIHJldHVybmluZyB0aGUgdmFsdWUgd2hlbiBFeHByVG9NaW5pbWl6ZSBpcyBtaW5pbXVtLiBFeHByZXNzaW9uIHRvIHJldHVybiBtYXkgYmUgYSB3aWxkY2FyZCAoKSB0byByZXR1cm4gYWxsIGNvbHVtbnMgb2YgdGhlIGlucHV0IHRhYmxlLiANCjwvcD4NCg0KICoqRXhhbXBsZToqKg0KPHA+DQpTZWN1cml0eUV2ZW50IHwgc3VtbWFyaXplIGFyZ19taW4oQ29tcHV0ZXIsIEV2ZW50SUQpICA8L2JyPg0KDQpTaWduaW5Mb2dzIHwgc3VtbWFyaXplIGFyZ19taW4oVGltZUdlbmVyYXRlZCwgVXNlckRpc3BsYXlOYW1lKSA8L2JyPg0KPC9wPg0KDQogKipXaGVuIHRvIHVzZToqKg0KPHA+DQphcmdfbWluIGlzIGJlc3QgdXNlZCB3aGVuIGxvb2tpbmcgdG8gcmV0dXJuIHRoZSBoaWdoZXN0IG9yIG1vc3QgcmVjZW50IGxvZyBmb3IgYSBzcGVjaWZpZWQgaXRlbS4gVGhlIG1vc3QgY29tbW9uIHVzZSBmb3IgdGhpcyBvcGVyYXRvciBpcyB0byBmaW5kIHRoZSBtb3N0IHJlY2VudCBsb2cgaW5nZXN0ZWQgZnJvbSBhIHNvdXJjZS4gVGhpcyBjYW4gYmUgdXNlZnVsIHdoZW4gcnVubmluZyBjb25uZWN0b3IgaGVhbHRoIGNoZWNrcywgcmVzb3J1Y2UgcmVwb3J0aW5nIGhlYWx0aCBjaGVja3MsIGFuZCBmaW5kaW5nIG1vc3QgcmVjZW50IGFjdGl2aXR5IG9uIGVudGl0aWVzIG9yIGV2ZW50cy4NCjwvcD4NCg==",
"tab": "Advanced",
"section": "Arg_min",
"exercises": {
"value": [
{
"name": "ArgMinEx1",
"question": "Return the records from each Location with the lowest High temperature for that Location ordered by High from lowest to highest",
"dataset": "Weather",
"answer": "V2VhdGhlcgp8IHN1bW1hcml6ZSBhcmdfbWluKEhpZ2gsICopIGJ5IExvY2F0aW9uCnwgc29ydCBieSBIaWdoIGFzYw=="
},
{
"name": "ArgMinEx2",
"question": "Return the High and Low temperatures from each Location with the lowest High temperature for that Location ordered by High from lowest to highest",
"dataset": "Weather",
"answer": "V2VhdGhlcgp8IHN1bW1hcml6ZSBhcmdfbWluKEhpZ2gsIExvdykgYnkgTG9jYXRpb24KfCBzb3J0IGJ5IEhpZ2ggYXNj"
}
],
"Count": 2
}
},
{
"markdown": "IVtEb2N1bWVudGF0aW9uXShodHRwczovL3NoaWVsZHMuaW8vYmFkZ2UvLURvY3VtZW50YXRpb24taW5mb3JtYXRpb25hbCkNCjxwPg0KaHR0cHM6Ly9kb2NzLm1pY3Jvc29mdC5jb20vZW4tdXMvYXp1cmUvZGF0YS1leHBsb3Jlci9rdXN0by9xdWVyeS9kY291bnQtYWdnZnVuY3Rpb24NCg0KPC9wPg0KDQogKipTdW1tYXJ5OioqDQo8cD4NClRoZSBkY291bnQgb3BlcmF0b3IgcmV0dXJucyBhbiBlc3RpbWF0ZSBmb3IgdGhlIG51bWJlciBvZiBkaXN0aW5jdCB2YWx1ZXMgdGhhdCBhcmUgdGFrZW4gYnkgYSBzY2FsYXIgZXhwcmVzc2lvbiBpbiBhIHN1bW1hcnkgZ3JvdXAuDQo8L3A+DQoNCiAqKkV4YW1wbGU6KioNCjxwPg0KU2VjdXJpdHlFdmVudCB8IHN1bW1hcml6ZSBkY291bnQoRXZlbnRJRCkgYnkgQ29tcHV0ZXIgIDwvYnI+DQoNClNpZ25pbkxvZ3MgfCBzdW1tYXJpemUgZGNvdW50KHRvc3RyaW5nKFN0YXR1cykpIGJ5IFVzZXJEaXNwbGF5TmFtZSkgPC9icj4NCjwvcD4NCg0KICoqV2hlbiB0byB1c2U6KioNCjxwPg0KZGNvdW50IGlzIGJlc3QgdXNlZCB3aGVuIGxvb2tpbmcgdG8gc3VtbWFyaXplIG9yIGVzdGltYXRlIGhvdyBtYW55IHVuaXF1ZSB2YWx1ZXMgZXhpc3QgZm9yIHNwZWNpZmllZCBpdGVtcy4gVGhpcyBjYW4gYmUgdXNlZnVsIGZvciBydW5uaW5nIGNvbXBhcmlzb25zIHRvIGJhc2VsaW5lcyBvciBrbm93biB2YWx1ZXMgaW4gb3JkZXIgdG8gZGV0ZXJtaW5lIGRldmlhdGlvbnMuIEFuIGV4YW1wbGUgd291bGQgYmUgcnVubmluZyBhIGNvdW50IG9mIHVuaXF1ZSB2YWx1ZXMgZm9yIHVzZXIgbG9naW4gbWV0aG9kcyB0byBzZWUgaWYgYW55IGFjY291bnRzIGFyZSBhdXRoZW50aWNhdGluZyBmcm9tIG1vcmUgdGhhbiBvbmUgc3RhdGUgb3IgY291bnRyeS4gSWYgeWVzLCB0aGlzIG1heSBzaG93IHRoYXQgc29tZXRoaW5nIGFub21hbG91cyBpcyBoYXMgdGFrZW4gcGxhY2UuDQo8L3A+DQo=",
"tab": "Advanced",
"section": "Dcount",
"exercises": {
"value": [
{
"name": "DcountEx1",
"question": "Return unique Low temperatures and group the count by location",
"dataset": "Weather",
"answer": "V2VhdGhlcgp8IHN1bW1hcml6ZSBMb3dzID0gZGNvdW50KExvdykgYnkgTG9jYXRpb24="
},
{
"name": "DcountEx2",
"question": "Return the number of distinct locations for each High in Weather sorted from most to least counts and highest to lowest temperatures",
"dataset": "Weather",
"answer": "V2VhdGhlcgp8IHN1bW1hcml6ZSBkY291bnQoTG9jYXRpb24pIGJ5IEhpZ2gKfCBzb3J0IGJ5IGRjb3VudF9Mb2NhdGlvbiBkZXNjLCBIaWdoIGRlc2M="
}
],
"Count": 1
}
},
{
"markdown": "IVtEb2N1bWVudGF0aW9uXShodHRwczovL3NoaWVsZHMuaW8vYmFkZ2UvLURvY3VtZW50YXRpb24taW5mb3JtYXRpb25hbCkNCjxwPg0KaHR0cHM6Ly9kb2NzLm1pY3Jvc29mdC5jb20vZW4tdXMvYXp1cmUvZGF0YS1leHBsb3Jlci9rdXN0by9xdWVyeS9kY291bnRpZi1hZ2dmdW5jdGlvbg0KDQo8L3A+DQoNCioqU3VtbWFyeToqKg0KPHA+DQpUaGUgZGNvdW50aWYgb3BlcmF0b3IgcmV0dXJucyBhbiBlc3RpbWF0ZSBvZiB0aGUgbnVtYmVyIG9mIGRpc3RpbmN0IHZhbHVlcyBvZiBleHByZXNzaW9uIG9mIHJvd3MgZm9yIHdoaWNoIHRoZSBib2R5IGV2YWx1YXRlcyB0byB0cnVlLg0KPC9wPg0KDQoqKkV4YW1wbGU6KioNCjxwPg0KU2VjdXJpdHlFdmVudCB8IHN1bW1hcml6ZSBkY291bnRpZihFdmVudElELCB0b3N0cmluZyhFdmVudElEKSBzdGFydHN3aXRoICc0NicpIGJ5IENvbXB1dGVyICA8YnI+DQoNClNpZ25pbkxvZ3MgfCBzdW1tYXJpemUgZGNvdW50aWYodG9zdHJpbmcoU3RhdHVzKSwgdG9zdHJpbmcoU3RhdHVzKSBoYXMgJ01GQScpIGJ5IFVzZXJEaXNwbGF5TmFtZSA8YnI+DQo8L3A+DQoNCioqV2hlbiB0byB1c2U6KioNCjxwPg0KZGNvdW50aWYgcGVyZm9ybXMgdGhlIHNhbWUgZnVuY3Rpb25zIGFuZCBwcm92aWRlcyB0aGUgc2FtZSB2YWx1ZSBhcyBkY291bnQgd2hpbGUgcHJvdmlkaW5nIGFkZGl0aW9uYWwgZmlsdGVyaW5nIGFiaWxpdGllcy4gRGNvdW50aWYgaXMgYmVzdCB1c2VkIHdoZW4gbG9va2luZyB0byBmaW5kIHRoZSBjb3VudCBvZiB1bmlxdWUgdmFsdWVzIHdoaWxlIGFwcGx5aW5nIGZpbHRlcnMuIFVzaW5nIHRoZSBzYW1wbGUgc2NlbmFyaW8gZnJvbSBkY291bnQsIGRjb3VudGlmIHdvdWxkIGFsbG93IGZvciB0aGUgY291bnQgb2YgbG9naW5zIG91dHNpZGUgb2YgdGhlIGV4cGVjdGVkIGxvY2F0aW9uIHRvIGV4Y2x1ZGUgdGhlIGV4cGVjdGVkIHJlc3VsdHMuDQo8L3A+DQo=",
"tab": "Advanced",
"section": "Dcountif",
"exercises": {
"value": [
{
"name": "DcountifEx1",
"question": "Return the number of distinct locations for each High in Weather if there was Rain that day sorted from most to least counts and highest to lowest temperatures",
"dataset": "Weather",
"answer": "V2VhdGhlcgp8IHdoZXJlIFJhaW4gPiAwCnwgc3VtbWFyaXplIGRjb3VudChMb2NhdGlvbikgYnkgSGlnaAp8IHNvcnQgYnkgZGNvdW50X0xvY2F0aW9uIGRlc2MsIEhpZ2ggZGVzYw=="
}
],
"Count": 1
}
},
{
"markdown": "IVtEb2N1bWVudGF0aW9uXShodHRwczovL3NoaWVsZHMuaW8vYmFkZ2UvLURvY3VtZW50YXRpb24taW5mb3JtYXRpb25hbCkNCjxwPg0KaHR0cHM6Ly9kb2NzLm1pY3Jvc29mdC5jb20vZW4tdXMvYXp1cmUvZGF0YS1leHBsb3Jlci9rdXN0by9xdWVyeS9tYXgtYWdnZnVuY3Rpb24NCg0KPC9wPg0KDQogKipTdW1tYXJ5OioqDQo8cD4NClRoZSBtYXggb3BlcmF0b3IgcmV0dXJucyB0aGUgbWF4aW11bSB2YWx1ZSBhY3Jvc3MgYSBncm91cC4NCjwvcD4NCg0KICoqRXhhbXBsZToqKg0KPHA+DQpTZWN1cml0eUV2ZW50IHwgc3VtbWFyaXplIG1heChUaW1lR2VuZXJhdGVkKSAgPC9icj4NClNpZ25pbkxvZ3MgfCBzdW1tYXJpemUgZGNvdW50aWYodG9zdHJpbmcoU3RhdHVzKSwgdG9zdHJpbmcoU3RhdHVzKSBoYXMgJ01GQScpIGJ5IFVzZXJEaXNwbGF5TmFtZSB8IHN1bW1hcml6ZSBtYXgoZGNvdW50aWZfU3RhdHVzKSA8L2JyPg0KPC9wPg0KDQogKipXaGVuIHRvIHVzZToqKg0KPHA+DQpNYXggcGVyZm9ybXMgdGhlIHNhbWUgZnVuY3Rpb25hbGl0eSBhcyBhcmdfbWF4LiBJdCBpcyBiZXN0IHVzZWQgd2hlbiBsb29raW5nIGZvciB0aGUgdG9wIHZhbHVlIG9mIGEgY29sdW1uIG9yIHdoZW4gbG9va2luZyBmb3IgdGhlIG1vc3QgcmVjZW50IGV2ZW50Lg0KPC9wPg0K",
"tab": "Advanced",
"section": "Max",
"exercises": {
"value": [
{
"name": "MaxEx1",
"question": "Return the hottest High temperature in Weather",
"dataset": "Weather",
"answer": "V2VhdGhlcgp8IHN1bW1hcml6ZSBtYXgoSGlnaCk="
}
],
"Count": 1
}
},
{
"markdown": "IVtEb2N1bWVudGF0aW9uXShodHRwczovL3NoaWVsZHMuaW8vYmFkZ2UvLURvY3VtZW50YXRpb24taW5mb3JtYXRpb25hbCkNCjxwPg0KaHR0cHM6Ly9kb2NzLm1pY3Jvc29mdC5jb20vZW4tdXMvYXp1cmUvZGF0YS1leHBsb3Jlci9rdXN0by9xdWVyeS9taW4tYWdnZnVuY3Rpb24NCg0KPC9wPg0KDQogKipTdW1tYXJ5OioqDQo8cD4NClRoZSBtaW4gb3BlcmF0b3IgcmV0dXJucyB0aGUgbWludW11bSB2YWx1ZSBhY3Jvc3MgYSBncm91cC4NCjwvcD4NCg0KICoqRXhhbXBsZToqKg0KPHA+DQpTZWN1cml0eUV2ZW50IHwgc3VtbWFyaXplIG1pbihUaW1lR2VuZXJhdGVkKSAgPC9icj4NCg0KU2lnbmluTG9ncyB8IHN1bW1hcml6ZSBkY291bnRpZih0b3N0cmluZyhTdGF0dXMpLCB0b3N0cmluZyhTdGF0dXMpIGhhcyAnTUZBJykgYnkgVXNlckRpc3BsYXlOYW1lIHwgc3VtbWFyaXplIG1pbihkY291bnRpZl9TdGF0dXMpIDwvYnI+DQo8L3A+DQoNCiAqKldoZW4gdG8gdXNlOioqDQo8cD4NCk1pbiBwZXJmb3JtcyB0aGUgc2FtZSBmdW5jdGlvbmFsaXR5IGFzIGFyZ19taW4uIEl0IGlzIGJlc3QgdXNlZCB3aGVuIGxvb2tpbmcgZm9yIHRoZSBsb3dlc3QgdmFsdWUgb2YgYSBjb2x1bW4gb3Igd2hlbiBsb29raW5nIGZvciB0aGUgb2xkZXN0IGV2ZW50Lg0KPC9wPg0K",
"tab": "Advanced",
"section": "Min",
"exercises": {
"value": [
{
"name": "MinEx1",
"question": "Return the coldest Low temperature in Weather",
"dataset": "Weather",
"answer": "V2VhdGhlcgp8IHN1bW1hcml6ZSBtaW4oTG93KQ=="
}
],
"Count": 1
}
},
{
"markdown": "IVtEb2N1bWVudGF0aW9uXShodHRwczovL3NoaWVsZHMuaW8vYmFkZ2UvLURvY3VtZW50YXRpb24taW5mb3JtYXRpb25hbCkNCjxwPg0KaHR0cHM6Ly9kb2NzLm1pY3Jvc29mdC5jb20vZW4tdXMvYXp1cmUvZGF0YS1leHBsb3Jlci9rdXN0by9xdWVyeS9tdmV4cGFuZG9wZXJhdG9yDQoNCjwvcD4NCg0KICoqU3VtbWFyeToqKg0KPHA+DQpUaGUgbXYtZXhwYW5kIG9wZXJhdG9yIGV4cGFuZHMgYSBkeW5hbWljIGxpc3Qgb2YgaXRlbXMgaW50byBtdWx0aXBsZSByZWNvcmRzLiBUaGVzZSBkeW5hbWljIGxpc3RzIHdpbGwgYXBwZWFyIGFzIG5lc3RlZCBKU09OIGxpc3RzIHRoYXQgaGF2ZSBub3QgYmVlbiBzZXBlcmF0ZWQuIFRoZSByZXN1bHQgb2YgdGhpcyBjYWxsIHdpbGwgc2VwYXJhdGUgdGhlIGl0ZW1zIGZyb20gdGhlIGxzaXQgaW50byBpbmRpdmlkdWFsIHJvd3MuDQo8L3A+DQoNCiAqKkV4YW1wbGU6KioNCjxwPg0KU2VjdXJpdHlBbGVydCB8IGV4dGVuZCBFbnRpdHkgPSB0b2R5bmFtaWMoRW50aXRpZXMpIHwgbXYtZXhwYW5kIEVudGl0eQ0KPC9wPg0KDQogKipXaGVuIHRvIHVzZToqKg0KPHA+DQpNdi1leHBhbmQgaXMgYmVzdCB1c2VkIHdoZW4gbG9va2luZyB0byBleHBhbmQgb3IgdW5wYWNrIGEgbmVzdGVkIG9yIHJlZ3VsYXIgSlNPTiBhcnJheS4gVGhpcyBpcyBiZXN0IHVzZWQgd2hlbiBsb29raW5nIHRvIHV0aWxpemUgY29udGVudHMgb2YgdGhlIGFycmF5IGZvciBjaGVja3MsIGpvaW5zLCBvciBjYWxsaW5nIG9uIHRoZSBjb250ZW50IGluIG90aGVyIHF1ZXJpZXMuDQo8L3A+DQo=",
"tab": "Advanced",
"section": "Mvexpand",
"exercises": {
"value": [
{
"name": "MvexpandEx1",
"question": "Use mvexpand to expand the name column in the \u0027shapes\u0027 table to individual rows.",
"dataset": "shapes",
"answer": "c2hhcGVzCnwgbXZleHBhbmQgbmFtZQ=="
},
{
"name": "MvexpandEx2",
"question": "Use mvexpand to expand `kids` from the `parents` table.",
"dataset": "parents",
"answer": "cGFyZW50cwp8IG12LWV4cGFuZCBraWRz"
}
],
"Count": 2
}
},
{
"markdown": "IVtEb2N1bWVudGF0aW9uXShodHRwczovL3NoaWVsZHMuaW8vYmFkZ2UvLURvY3VtZW50YXRpb24taW5mb3JtYXRpb25hbCkNCjxwPg0KaHR0cHM6Ly9kb2NzLm1pY3Jvc29mdC5jb20vZW4tdXMvYXp1cmUvZGF0YS1leHBsb3Jlci9rdXN0by9xdWVyeS9kYXRhdGFibGVvcGVyYXRvcj9waXZvdHM9YXp1cmVtb25pdG9yDQoNCjwvcD4NCg0KICoqU3VtbWFyeToqKg0KPHA+DQpUaGUgZGF0YXRhYmxlIG9wZXJhdG9yIHRha2VzIGEgY29uZmlndXJhdGlvbiBpbiBhcyBpbnB1dCBhbmQgcmV0dXJucyBhIHRhYmxlIGJhc2VkIG9uIHRoZSBjb25maWd1cmF0aW9uLiBUaGUgY29uZmlndXJhdGlvbiBjb25zaXN0cyB0aGUgbmFtZSBvZiB0aGUgY29sdW1uIGFuZCB0aGUgZm9ybWF0IG9mIHRoZSBkYXRhIHRoYXQgdGhlIGNvbHVtbiB3aWxsIGNvbnRhaW4uDQo8L3A+DQoNCiAqKkV4YW1wbGU6KioNCjxwPg0KZGF0YXRhYmxlIChEYXRlOmRhdGV0aW1lLCBFdmVudDpzdHJpbmcpIFtkYXRldGltZSgxOTEwLTA2LTExKSwgIkJvcm4iLCBkYXRldGltZSgxOTMwLTAxLTAxKSwgIkVudGVycyBFY29sZSBOYXZhbGUiLCBkYXRldGltZSgxOTUzLTAxLTAxKSwgIlB1Ymxpc2hlZCBmaXJzdCBib29rIiwgZGF0ZXRpbWUoMTk5Ny0wNi0yNSksICJEaWVkIl0NCjwvcD4NCg0KICoqV2hlbiB0byB1c2U6KioNCjxwPg0KRGF0YXRhYmxlIGlzIGJlc3QgdXNlZCB3aGVuIGxvb2tpbmcgdG8gY29uc3RydWN0IGEgc3RhdGljIHRhYmxlIG9mIGluZm9ybWF0aW9uIHRoYXQgY2FuIGJlIHVzZWQgdG8gcnVuIGNvbXBhcmlzaW9ucywgY2hlY2tzLCBvciBqb2lucyB3aXRoaW4gYSByZWd1bGFyIGxvZyBiYXNlZCBxdWVyeS4gDQo8L3A+DQo=",
"tab": "Dataset",
"section": "Datatable",
"exercises": {
"value": [
{
"name": "DatatableEx1",
"question": "Create a custom datatable of cities with Location of Boston, Chicago, and Portland",
"dataset": "",
"answer": "ZGF0YXRhYmxlIChMb2NhdGlvbjpzdHJpbmcpIFsKICAgICJCb3N0b24iLCJDaGljYWdvIiwiUG9ydGxhbmQiCl0="
}
],
"Count": 1
}
},
{
"markdown": "IVtEb2N1bWVudGF0aW9uXShodHRwczovL3NoaWVsZHMuaW8vYmFkZ2UvLURvY3VtZW50YXRpb24taW5mb3JtYXRpb25hbCkNCjxwPg0KaHR0cHM6Ly9kb2NzLm1pY3Jvc29mdC5jb20vZW4tdXMvYXp1cmUvZGF0YS1leHBsb3Jlci9rdXN0by9xdWVyeS9sZXRzdGF0ZW1lbnQNCg0KPC9wPg0KDQogKipTdW1tYXJ5OioqDQo8cD4NClRoZSBsZXQgb3BlcmF0b3IgYmluZHMgbmFtZXMgdG8gZXhwcmVzc2lvbnMuIExldCBhbGxvd3MgZm9yIHVzZXJzIHRvIGVzdGFibGlzaCB2YXJpYWJsZXMgd2l0aCBzdGF0aWMgdmFsdWVzIG9yIGV2ZW4gdGFrZSBvbiB0aGUgcmVzdWx0cyBvZiBhIHF1ZXJ5LiBMZXQgaXMgZGVmaW5lZCBiZWZvcmUgdGhlIG1haW4gYm9keSBvZiB0aGUgcXVlcnkuDQo8L3A+DQoNCiAqKkV4YW1wbGU6KioNCjxwPg0KbGV0IElQQWRkcmVzc2VzID0gU2lnbmluTG9ncyB8IHN1bW1hcml6ZSBieSBJUEFkZHJlc3M7IFNlY3VyaXR5QWxlcnQgfCB3aGVyZSB0b2R5bmFtaWMoRW50aXRpZXMpIGluIElQQWRkcmVzc2VzDQoNCmxldCBFYXN0VVNEZXZpY2VzID0gZGF0YXRhYmxlKG5hbWU6c3RyaW5nKSBbDQogICAgJ2RjMDEnLA0KICAgICdkYzAyJywNCiAgICAnZGMwMycsDQogICAgJ2V1c2Z3Jw0KXTsNClNlY3VyaXR5RXZlbnQgfCB3aGVyZSBFYXN0VVNEZXZpY2VzIGhhc19hbnkoQ29tcHV0ZXIpDQoNCmxldCBxdWVyeTEgPSBUYWJsZSB8IHByZWRpY2F0ZTsNCmxldCBxdWVyeTIgPSBUYWJsZSB8IHByZWRpY2F0ZTsNCnF1ZXJ5MQ0KfCBqb2luIHF1ZXJ5IDIgb24gQ29tbW9uQ29sdW1uDQo8L3A+DQoNCiAqKldoZW4gdG8gdXNlOioqDQo8cD4NCmxldCBpcyBhIGZhbnRhc3RpYyB3YXkgdG8gZGVjbGFyZSBhIG5ldyB2YXJpYWJsZSB0aGF0IGNhbiBiZSBlaXRoZXIgc3RhdGljIG9yIGR5bmFtaWMuIEFzIHNob3duIGluIHRoZSBleGFtcGxlIGFib3ZlLCB0aGUgdmFyaWFibGUgY2FuIHRha2Ugb24gdGhlIHZhbHVlcyBvZiBhbm90aGVyIHF1ZXJ5LiBXaGVuIHBlcmZvcm1pbmcgam9pbnMsIGxldCBjYW4gYmUgc2V0IHZhcmlhYmxlcyB0byB0YWtlIG9uIHRoZSByZXN1bHRzIGZyb20gdGhlIDIgcXVlcmllcyBhbmQgdGhlbiBqb2luIGluIGEgbW9yZSBzaW1wbGlmaWVkIHdvcmtmbG93LiANCjwvcD4NCg==",
"tab": "Dataset",
"section": "Let",
"exercises": {
"value": [
{
"name": "LetEx1",
"question": "Create a variable called SeattleLows and set its value to be all cold temperatures for Seattle. Print the value of the variable in descending order.",
"dataset": "Weather",
"answer": "IGxldCBTZWF0dGxlTG93cyA9IFdlYXRoZXIgfCB3aGVyZSBMb2NhdGlvbiA9PSAnU2VhdHRsZScgfCBzdW1tYXJpemUgYnkgTG93IHwgb3JkZXIgYnkgTG93IGRlc2M7IFNlYXR0bGVMb3dz"
},
{
"name": "LetEx2",
"question": "create two variables called startTime and endTime. Set startTime to be 06/26/2015 and endTime to be 06/27/2015. Return all results for New York City during that time. Note: datetime uses UTC so there may be a 7 hour time difference in the logs generated. If you see results from 06/22, add 7 hours to startTime to remove the extras.",
"dataset": "Weather",
"answer": "bGV0IHN0YXJ0VGltZSA9IGRhdGV0aW1lKDA2LzIzLzIwMTUgMDc6MDA6MDApOyBsZXQgZW5kVGltZSA9IGRhdGV0aW1lKDA2LzI1LzIwMTUgMDA6MDA6MDApOyBXZWF0aGVyIHwgd2hlcmUgVGltZUdlbmVyYXRlZCBiZXR3ZWVuKHN0YXJ0VGltZS4uZW5kVGltZSkgfCB3aGVyZSBMb2NhdGlvbiA9PSAnTmV3IFlvcmsgQ2l0eSc="
}
],
"Count": 1
}
},
{
"markdown": "IVtEb2N1bWVudGF0aW9uXShodHRwczovL3NoaWVsZHMuaW8vYmFkZ2UvLURvY3VtZW50YXRpb24taW5mb3JtYXRpb25hbCkNCjxwPg0KaHR0cHM6Ly9kb2NzLm1pY3Jvc29mdC5jb20vZW4tdXMvYXp1cmUvZGF0YS1leHBsb3Jlci9rdXN0by9xdWVyeS9leHRlbmRvcGVyYXRvcg0KDQo8L3A+DQoNCiAqKlN1bW1hcnk6KioNCjxwPg0KVGhlIEV4dGVuZCBvcGVyYXRvciBjcmVhdGVzIGEgdmFyaWFibGUgYW5kIGNvbHVtbiB3aXRoaW4gdGhlIGJvZHkgb2YgdGhlIHF1ZXJ5LiBUaGUgdmFyaWFibGUgY3JlYXRlZCBjYW4gdGFrZSBvbiB0aGUgdmFsdWUgb2YgYW5vdGhlciBjb2x1bW4gb3IgdGFrZSBvbiBhIHN0YXRpYyB2YWx1ZS4gRXh0ZW5kIGlzIGFsc28gdXNlZCBmb3IgaWZmLCBjYXNlLCBhbmQgb3RoZXIgb3BlcmF0b3JzLg0KPC9wPg0KDQogKipFeGFtcGxlOioqDQo8cD4NClNlY3VyaXR5QWxlcnQgfCBleHRlbmQgaXNTZW50aW5lbCA9IGlmZihQcm92aWRlck5hbWUgaGFzICdhc2knLCAnWWVzJywgJ05vJykgfCBwcm9qZWN0IEFsZXJ0TmFtZSwgaXNTZW50aW5lbA0KDQpTZWN1cml0eUFsZXJ0IHwgZXh0ZW5kIEVudGl0eSA9IHRvZHluYW1pYyhFbnRpdGllcykgfCBtdi1leHBhbmQgRW50aXR5DQoNCjwvcD4NCg0KICoqV2hlbiB0byB1c2U6KioNCjxwPg0KRXh0ZW5kIGFsbG93cyBmb3IgdGhlIGNyZWF0aW9uIG9mIHZhcmlhYmxlcyBmcm9tIHdpdGhpbiB0aGUgYm9keSBvZiB0aGUgcXVlcnkuIFZhcmlhYmxlcyBjYW4gdGFrZSBvbiB0aGUgdmFsdWUgb2Ygb3RoZXIgaXRlbXMgd2l0aGluIHRoZSBsb2dzIG9yIGEgc3RhdGljIHZhbHVlIHRoYXQgaXMgZGVpbmZlZCBieSB0aGUgdXNlci4gSXQgaXMgYmVzdCB0byB1c2UgZXh0ZW5kIHdoZW4gbG9va2luZyB0byBjYWxsIHVwb24gdmFyaWFibGVzIG9yIG1hbmlwdWxhdGUgdmFsdWVzIHRoYXQgbmVlZCB0byBiZSByZXRhaW5lZC4NCjwvcD4NCg==",
"tab": "Dataset",
"section": "Extend",
"exercises": {
"value": [
{
"name": "ExtendEx1",
"question": "Add a Range column to Weather that contains the difference between High and Low temperatures",
"dataset": "Weather",
"answer": "V2VhdGhlcgp8IGV4dGVuZCBSYW5nZSA9IEhpZ2gtTG93"
}
],
"Count": 1
}
},
{
"markdown": "IVtEb2N1bWVudGF0aW9uXShodHRwczovL3NoaWVsZHMuaW8vYmFkZ2UvLURvY3VtZW50YXRpb24taW5mb3JtYXRpb25hbCkNCg0KaHR0cHM6Ly9kb2NzLm1pY3Jvc29mdC5jb20vZW4tdXMvYXp1cmUvZGF0YS1leHBsb3Jlci9rdXN0by9xdWVyeS91bmlvbm9wZXJhdG9yP3Bpdm90cz1henVyZW1vbml0b3INCg0KKipTdW1tYXJ5OioqDQo8cD4NClRoZSB1bmlvbiBvcGVyYXRvciB0YWtlcyB0d28gb3IgbW9yZSB0YWJsZXMgYW5kIHJldHVybnMgdGhlIHJvd3Mgb2YgdGhlbSBhbGwgaW4gYSBzdGFja2VkIGZhc2hpb24uDQo8L3A+DQoNCioqRXhhbXBsZToqKg0KPHA+DQpTZWN1cml0eUFsZXJ0IHwgdW5pb24gU2VjdXJpdHlJbmNpZGVudA0KT2ZmaWNlQWN0aXZpdHkgfCB1bmlvbiB3b3Jrc3BhY2UoJ3dvcmtzcGFjZW51bWJlcjInKS5PZmZpY2VBY3Rpdml0eQ0KU2Vjcml0eUJhc2VsaW5lIHwgd2hlcmUgQ29tcHV0ZXIgaGFzICdkYzAxJyB8IHVuaW9uIFVwZGF0ZSB3aGVyZSBDb21wdXRlciBoYXMgJ2RjMDEnDQoNCjwvcD4NCg0KKipXaGVuIHRvIHVzZToqKg0KPHA+DQpVbmlvbiBpcyBiZXN0IHVzZWQgd2hlbiBsb29raW5nIHRvIGNvbWJpbmUgcmVzdWx0cyBmcm9tIHR3byBvciBtb3JlIHRhYmxlcyBpbnRvIG9uZSBsb2NhdGlvbi4gVW5pb24gaXMgYWxzbyB0aGUgbWFpbiBvcGVyYXRvciB3aGVuIHBlcmZvcm1pbmcgY3Jvc3Mtd29ya3NwYWNlIHF1ZXJpZXMuDQo8L3A+",
"tab": "Dataset",
"section": "Union",
"exercises": {
"value": [
{
"name": "UnionEx1",
"question": "Combine these two cities datatables into a single datatable using the union statement\u003cbr/\u003elet cities1 = datatable(Location:string)[\"Boston\",\"Eugene\",\"Houston\"];\u003cbr/\u003elet cities2 = datatable(Location:string)[\"Boise\",\"Chicago\",\"Tampa\"];",
"dataset": "",
"answer": "bGV0IGNpdGllczEgPSBkYXRhdGFibGUoTG9jYXRpb246c3RyaW5nKVsiQm9zdG9uIiwiRXVnZW5lIiwiSG91c3RvbiJdOwpsZXQgY2l0aWVzMiA9IGRhdGF0YWJsZShMb2NhdGlvbjpzdHJpbmcpWyJCb2lzZSIsIkNoaWNhZ28iLCJUYW1wYSJdOwpjaXRpZXMxCnwgdW5pb24gY2l0aWVzMg=="
}
],
"Count": 1
}
},
{
"markdown": "IVtEb2N1bWVudGF0aW9uXShodHRwczovL3NoaWVsZHMuaW8vYmFkZ2UvLURvY3VtZW50YXRpb24taW5mb3JtYXRpb25hbCkNCjxwPg0KIGh0dHBzOi8vZG9jcy5taWNyb3NvZnQuY29tL2VuLXVzL2F6dXJlL2RhdGEtZXhwbG9yZXIva3VzdG8vcXVlcnkvam9pbm9wZXJhdG9yP3Bpdm90cz1henVyZW1vbml0b3INCg0KPC9wPg0KDQogKipTdW1tYXJ5OioqDQo8cD4NClRoZSBqb2luIG9wZXJhdG9yIG1lcmdyZXMgdGhlIHJvd3Mgb2YgdHdvIHRhYmxlcyB0byBmb3JtIGEgbmV3IHRhYmxlIGJ5IG1hdGNoaW5nIHRoZSBzcGVjaWZpZWQgdmFsdWVzLg0KDQpUaGVyZSBhcmUgc2V2ZXJhbCB0eXBlcyBvZiBqb2luczoNCg0Ka2luZD1sZWZ0YW50aSwga2luZD1sZWZ0c2VtaSBUaGUgcmVzdWx0IHRhYmxlIGNvbnRhaW5zIGNvbHVtbnMgZnJvbSB0aGUgbGVmdCBzaWRlIG9ubHkuDQoNCmtpbmQ9cmlnaHRhbnRpLCBraW5kPXJpZ2h0c2VtaSBUaGUgcmVzdWx0IHRhYmxlIGNvbnRhaW5zIGNvbHVtbnMgZnJvbSB0aGUgcmlnaHQgc2lkZSBvbmx5Lg0KDQpraW5kPWlubmVydW5pcXVlLCBraW5kPWlubmVyLCBraW5kPWxlZnRvdXRlciwga2luZD1yaWdodG91dGVyLCBraW5kPWZ1bGxvdXRlciBBIGNvbHVtbiBmb3IgZXZlcnkgY29sdW1uIGluIGVhY2ggb2YgdGhlIHR3byB0YWJsZXMsIGluY2x1ZGluZyB0aGUgbWF0Y2hpbmcga2V5cy4gVGhlIGNvbHVtbnMgb2YgdGhlIHJpZ2h0IHNpZGUgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHJlbmFtZWQgaWYgdGhlcmUgYXJlIG5hbWUgY2xhc2hlcy4NCjwvcD4NCg0KICoqRXhhbXBsZToqKg0KPHA+DQpTaWduaW5Mb2dzIHwgd2hlcmUgVXNlckRpc3BsYXlOYW1lIGhhcyAnam9obmRvQGNvbnRvc28uY29tJyB8IGpvaW4gT2ZmaWNlQWN0aXZpdHkgfCB3aGVyZSBVc2VySWQgaGFzICdqb2huZG9AY29udG9zby5jb20nDQoNClNlY3VyaXR5QWxlcnQgfCB3aGVyZSBpc25vdGVtcHR5KFN5c3RlbUFsZXJ0SWQpIHwgZXh0ZW5kIEFsZXJ0SWQgPSB0b3N0cmluZyhTeXN0ZW1BbGVydElkKSB8IGpvaW4ga2luZD1pbm5lciAoU2VjdXJpdHlJbmNpZGVudCB8IHdoZXJlIGlzbm90ZW1wdHkoQWxlcnRJZHMpIHwgbXYtZXhwYW5kIEFsZXJ0SWRzIHwgZXh0ZW5kIEFsZXJ0SWQgPSB0b3N0cmluZyhBbGVydElkcykpIG9uIEFsZXJ0SWQgfCBleHRlbmQgZW50aXR5ID0gRW50aXRpZXMgfCBtdi1leHBhbmQgdG9keW5hbWljKFsnZW50aXR5J10pDQo8L3A+DQoNCiAqKldoZW4gdG8gdXNlOioqDQo8cD4NCkpvaW4gaXMgYmVzdCB1c2VkIHdoZW4gbG9va2luZyB0byBqb2luIGNvbHVtbnMgYW5kIGRhdGEgZnJvbSBtdWx0aXBsZSB0YWJsZXMgdGhhdCBjYW4gcHJvdmlkZSBkZWVwZXIgaW5zaWdodCBpbnRvIGV2ZW50cy4gSm9pbnMgY2FuIGxlYWQgdG8gZGVlcGVyIGRldGVjdGlvbnMgYW5kIGh1bnRpbmcgd2hlbiBwdWxsaW5nIGluIHJlbGV2YW50IGxvZ3MuDQo8L3A+DQo=",
"tab": "Dataset",
"section": "Join",
"exercises": {
"value": [
{
"name": "JoinEx1",
"question": "Add state data to the Weather table with a left inner join using the following states datatable\u003cbr/\u003elet states = datatable(Location:string,State:string)[\"Houston\",\"TX\",\"Philadelphia\",\"PA\",\"Indianapolis\",\"IN\",\"New York City\",\"NY\",\"Seattle\",\"WA\"];",
"dataset": "Weather",
"answer": "bGV0IHN0YXRlcyA9IGRhdGF0YWJsZShMb2NhdGlvbjpzdHJpbmcsU3RhdGU6c3RyaW5nKVsiSG91c3RvbiIsIlRYIiwiUGhpbGFkZWxwaGlhIiwiUEEiLCJJbmRpYW5hcG9saXMiLCJJTiIsIk5ldyBZb3JrIENpdHkiLCJOWSIsIlNlYXR0bGUiLCJXQSJdOwpXZWF0aGVyCnwgam9pbiBzdGF0ZXMgb24gTG9jYXRpb24sICRsZWZ0LkxvY2F0aW9uID09ICRyaWdodC5Mb2NhdGlvbg=="
}
],
"Count": 1
}
},
{
"markdown": "IVtEb2N1bWVudGF0aW9uXShodHRwczovL3NoaWVsZHMuaW8vYmFkZ2UvLURvY3VtZW50YXRpb24taW5mb3JtYXRpb25hbCkNCjxwPg0KaHR0cHM6Ly9kb2NzLm1pY3Jvc29mdC5jb20vZW4tdXMvYXp1cmUvZGF0YS1leHBsb3Jlci9rdXN0by9xdWVyeS9leHRlcm5hbGRhdGEtb3BlcmF0b3I/cGl2b3RzPWF6dXJlbW9uaXRvcg0KPC9wPg0KDQogKipTdW1tYXJ5OioqDQo8cD4NClRoZSBleHRlcm5hbGRhdGEgb3BlcmF0b3IgYWxsb3dzIGZvciBxdWVyaWVzIHRvIHJlZmVybmNlIGRhdGEgdGhhdCBpcyBzdG9yZWQgb3V0c2lkZSBvZiB0aGUgd29ya3NwYWNlLiBUaGUgbW9zdCBjb21tb24gdXNlIGNhc2UgZm9yIHRoaXMgb3BlcmF0b3IgaXMgdG8gY2FsbCBvbiBkYXRhIHRoYXQgaXMgYmVpbmcgc3RvcmVkIHdpdGhpbiBhbiBBenVyZSBTdG9yYWdlIEFjY291bnQgYmxvYi4gQVBJIGVuZHBvaW50cyBvciB3ZWJzaXRlIGZpbGVzIGNhbiBhbHNvIGJlIGNhbGxlZCBmcm9tIHdpdGhpbiB0aGUgcXVlcnkuDQoNCkV4dGVybmFsZGF0YSByZXF1aXJlcyB0aGF0IGEgdXNlciB0ZWxscyB0aGUgcXVlcnkgdGhlIHN0cnVjdHVyZSBvZiB0aGUgZGF0YSB0aGF0IHdpbGwgYmUgYnJvdWdodCBpbiBhcyB3ZWxsIGFzIHRoZSBjb2x1bW4gbmFtZXMuIFRoYXQgd291bGQgYXBwZWFyIGFzIHNvOiAoRmlyc3Rjb2x1bW46IGludCwgU2Vjb25kY29sdW1uOiBzdHJpbmcsIFRoaXJkY29sdW1uOiByZWFsKS4gV2hlbiBwdWxsaW5nIGRhdGEgZnJvbSBhIGJsb2IsIGEgU0FTIHRva2VuIHdpbGwgbmVlZCB0byBiZSBnZW5lcmF0ZWQgaW4gb3JkZXIgZm9yIHRoZSBxdWVyeSB0byBhY2Nlc3MgdGhlIGRhdGEuDQo8L3A+DQoNCiAqKkV4YW1wbGU6KioNCjxwPg0KbGV0IEV4dGVybmFsVGFibGUgPSBleHRlcm5hbGRhdGEoRGV2aWNlOiBzdHJpbmcsIFZlcnNpb246IHJlYWwsIFVzZXI6IHN0cmluZykgW0AnU1RPUkFHRSBCTE9CIFNBUyBUT0tFTiJdIHdpdGggKGZvcm1hdD1qc29uKTsgRXh0ZXJuYWxUYWJsZQ0KDQpsZXQgRXh0ZXJuYWxUYWJsZSA9IGV4dGVybmFsZGF0YShEaXNwbGF5TmFtZTpzdHJpbmcsIFZlcnNpb246c3RyaW5nLCBHcm91cDpzdHJpbmcpIFtAJ2h0dHBzOi8vc2FtcGxlLndlYnNpdGUvc2FtcGxlZmlsZS5jc3YnXSB3aXRoIChmb3JtYXQ9Y3N2KTsgRXh0ZXJuYWxUYWJsZQ0KPC9wPg0KDQogKipXaGVuIHRvIHVzZToqKg0KPHA+DQpFeHRlcm5hbGRhdGEgaXMgYSBjb252ZW5pZW50IHdheSB0byBjYWxsIGRhdGEgZnJvbSBleHRlcm5hbCBzb3VyY2VzIGluIG9yZGVyIHRvIGJlIHVzYWJsZSBpbiBsb2cgZm9ybWF0LiBUaGlzIGFsbG93cyBmb3IgZGF0YSB0byBiZSBzdG9yZWQgZWxzZXdoZXJlIHdoaWxlIHN0aWxsIGJlaW5nIGJyb3VnaHQgaW4gd2l0aG91dCBpbmdlc3Rpb24gY29zdHMuDQo8L3A+DQo=",
"tab": "External",
"section": "ExternalData",
"exercises": {
"value": [
{
"name": "ExternalDataEx1",
"question": "Return a new datatable based on the following TIC 3.0 mapping CSV\u003cbr/\u003ehttps://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Sample%20Data/Feeds/ZeroTrustTIC3Mapping.csv",
"dataset": "",
"answer": "bGV0IEV4dGVybmFsVGFibGUgPSBleHRlcm5hbGRhdGEoUmVjb21tZW5kYXRpb25EaXNwbGF5TmFtZTpzdHJpbmcsIENhcGJpbGl0eTpzdHJpbmcsIEZhbWlseTpzdHJpbmcpCltAJ2h0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS90ZWFjaGppbmcvVGVhY2hKaW5nLVdvcmtib29rcy9tYWluL0RhdGFzZXRzL1plcm9UcnVzdFRJQzNNYXBwaW5nLmNzdiddCndpdGggKGZvcm1hdD1jc3YpOwpFeHRlcm5hbFRhYmxl"
}
],
"Count": 1
}
}
]