Energy Question is a strong information transformation instrument that can be utilized to scrub, form, and remodel information from a wide range of sources. The Superior Editor is a characteristic in Energy Question that permits you to write customized code to carry out extra advanced transformations. This may be helpful for duties corresponding to creating customized capabilities, parsing advanced information buildings, or connecting to information sources that aren’t supported by the built-in connectors.
To entry the Superior Editor, click on on the “Superior Editor” button within the Energy Question ribbon. This can open a brand new window the place you’ll be able to write your code. The Superior Editor makes use of the M language, which is a purposeful programming language that’s particularly designed for information transformation. M language is just like different programming languages corresponding to Python and R, however it’s optimized for working with information.
In case you are new to M language, there are a variety of sources out there that can assist you study the fundamentals. Microsoft gives a complete documentation web site for M language, and there are additionally numerous tutorials and programs out there on-line. After you have a primary understanding of M language, you can begin utilizing the Superior Editor to carry out extra advanced information transformations.
Navigating the Superior Editor
The Energy Question Superior Editor is a strong instrument that permits you to create and edit Energy Question queries with extra flexibility and management than the graphical interface.
Navigating the Superior Editor could be overwhelming at first, however with just a few suggestions, you’ll be able to rapidly stand up to hurry.
The Superior Editor is split into three major sections:
- The components bar: That is the place you enter and edit your Energy Question components.
- The question pane: That is the place your question is displayed in a graphical format.
- The properties pane: That is the place you’ll be able to view and edit the properties of your question.
To maneuver between the three sections, you should use the tabs on the backside of the window or the keyboard shortcuts:
- Ctrl+1: Components bar
- Ctrl+2: Question pane
- Ctrl+3: Properties pane
Along with the three major sections, the Superior Editor additionally incorporates numerous different options that may allow you to to navigate and edit your queries. These options embrace:
- The search bar: This lets you seek for particular phrases inside your question.
- The bookmarks pane: This lets you create and handle bookmarks inside your question.
- The navigation bar: This gives an outline of the construction of your question.
Understanding the M Components Language
The M components language is a strong instrument that permits you to manipulate information in Energy Question. It’s a declarative language, which signifies that you describe what you wish to do with the info, moderately than how you can do it. This makes it straightforward to create advanced information transformations with out having to jot down code.
The M components language relies on the F# programming language. Nonetheless, you do not want to have any data of F# to make use of the M components language. The Energy Question editor gives a user-friendly interface that makes it straightforward to create and edit M formulation.
The M components language is split into two major elements: expressions and statements. Expressions are used to create new values, whereas statements are used to carry out actions. The next desk exhibits the several types of expressions and statements which might be out there within the M components language:
Expression Kind | Description |
---|---|
Literal | A price that’s instantly represented within the components, corresponding to a quantity, a string, or a date. |
Variable | A named worth that can be utilized to retailer information. |
Operate | A named operation that may be utilized to values. |
Operator | An emblem that represents an operation that may be carried out on values. |
Assertion Kind | Description |
Project | Assigns a worth to a variable. |
If-then-else | Executes completely different code relying on the worth of a situation. |
For-each | Executes a code block for every merchandise in a sequence. |
Whereas | Executes a code block whereas a situation is true. |
The M components language is a strong instrument that can be utilized to create advanced information transformations. By understanding the fundamentals of the language, you’ll be able to unlock the total potential of Energy Question.
Filtering and Reworking Knowledge
The Superior Editor in Energy Question permits for highly effective information manipulation and transformation. It gives a complete set of capabilities and operators to filter, clear, and remodel information to satisfy particular necessities. The next sections will discover a few of the key filtering and information transformation capabilities of the Superior Editor.
Filtering Knowledge
Filtering permits you to choose a subset of knowledge based mostly on particular standards. Within the Superior Editor, you should use the Filter perform to filter information based mostly on varied situations. For instance, the next components filters a desk named “Gross sales” to incorporate solely rows the place the “Product” column is the same as “Product A”:
“`
= Filter(Gross sales, Gross sales[Product] = “Product A”)
“`
It’s also possible to use a number of situations to create extra advanced filters. For example, the next components filters the “Gross sales” desk to incorporate rows the place the “Product” column is the same as “Product A” and the “Gross sales Quantity” is larger than 100:
“`
= Filter(Gross sales, Gross sales[Product] = “Product A” && Gross sales[Sales Amount] > 100)
“`
Reworking Knowledge
Reworking information includes manipulating or altering the construction or content material of knowledge to make it extra appropriate for evaluation or downstream use. The Superior Editor gives a variety of transformation capabilities, together with:
Operate | Objective |
---|---|
AddColumn | Provides a brand new column to a desk. |
RemoveColumns | Removes a column or columns from a desk. |
RenameColumns | Renames a column or columns in a desk. |
Fill | Replaces lacking values with a specified worth. |
SplitColumn | Splits a column into a number of new columns. |
UnpivotOtherColumns | Unpivots a desk, remodeling it to a distinct construction. |
These capabilities present flexibility in reshaping and modifying information to swimsuit completely different analytical necessities. For instance, the next components provides a brand new column named “Class” to the “Gross sales” desk, categorizing merchandise based mostly on their “Product” identify:
“`
= AddColumn(Gross sales, “Class”, if Gross sales[Product] = “Product A”, “Electronics”, if Gross sales[Product] = “Product B”, “Clothes”, “Different”))
“`
Combining and Merging Datasets
Combining and merging datasets is a strong characteristic in Energy Question that permits you to mix information from a number of sources right into a single, cohesive dataset. This may be helpful for a wide range of duties, corresponding to:
- Combining information from completely different tables or information
- Merging duplicate data
- Creating new information buildings
There are two major sorts of combines in Energy Question: inside joins and outer joins. Interior joins solely return rows which have matching values in each tables, whereas outer joins return all rows from one desk and the matching rows from the opposite desk.
The next desk summarizes the several types of joins in Energy Question:
Be a part of Kind | Description |
---|---|
Interior Be a part of | Returns solely rows which have matching values in each tables |
Left Outer Be a part of | Returns all rows from the left desk and the matching rows from the proper desk |
Proper Outer Be a part of | Returns all rows from the proper desk and the matching rows from the left desk |
Full Outer Be a part of | Returns all rows from each tables, no matter whether or not they have matching values |
Along with joins, Energy Question additionally gives numerous different instruments for combining and merging datasets. These instruments embrace the Append Queries, Merge Queries, and Union Queries capabilities. The Append Queries perform appends one question to the top of one other, whereas the Merge Queries perform merges two queries based mostly on a standard column. The Union Queries perform combines two queries right into a single question, however it doesn’t take away duplicate rows.
Including Customized Columns and Calculations
The Superior Editor gives highly effective capabilities for creating customized columns and performing advanced calculations.
Creating Customized Columns
To create a customized column, use the “Add Column” choice. Enter a reputation for the brand new column and use the M components to outline its contents. You possibly can reference current columns, carry out calculations, or import information from different sources.
Performing Calculations
The Superior Editor helps a variety of mathematical, statistical, and logical capabilities. Use these capabilities to carry out operations corresponding to:
- Including, subtracting, multiplying, and dividing numbers
- Calculating averages, medians, and commonplace deviations
- Evaluating values and returning TRUE or FALSE
Examples of Customized Column Calculations
Under are some examples of how you should use customized columns:
M Components | Consequence |
---|---|
= [ColumnB] + [ColumnC] |
Provides the values in ColumnB and ColumnC |
= [ColumnA] * 0.1 |
Multiplies the values in ColumnA by 0.1 |
= if([ColumnD] = "Sure", "Lively", "Inactive") |
Returns “Lively” if the worth in ColumnD is “Sure”; in any other case, returns “Inactive” |
Error Dealing with and Debugging
The Superior Editor permits for extra strong error dealing with and debugging. Here is how one can work with errors:
1. Present Errors
Click on the “Present Errors” button within the toolbar to show any errors encountered throughout question execution.
2. Discover Errors
The “Discover Errors” button searches for errors inside the question code.
3. Error Textual content
The “Error Textual content” area shows detailed error messages and options for resolving them.
4. Error Dealing with Capabilities
Use capabilities like Strive, IfError, or Error.Quantity to deal with errors programmatically.
5. Logging Errors
Write errors to a file or database utilizing the Log.Error perform.
6. Superior Debugging Instruments
The Superior Editor gives further debugging instruments:
Instrument | Description |
---|---|
Intellisense | Code completion and error checking whereas typing. |
Syntax Highlighting | Colours and formatting code for higher readability. |
Breakpoints | Pause question execution at particular strains to debug code. |
Locals Window | Examine variable values at any level within the question. |
Watch Window | Monitor the values of particular expressions throughout question execution. |
Utilizing Capabilities and Operators
Energy Question’s Superior Editor affords a complete set of capabilities and operators to control and remodel information. Capabilities are pre-defined operations that carry out particular duties, whereas operators are symbols used to mix or examine values.
Capabilities
Capabilities could be categorized into varied varieties, together with:
- Textual content Capabilities: Manipulate and convert textual content values.
- Numeric Capabilities: Carry out mathematical operations on numbers.
- Logical Capabilities: Consider situations and return Boolean values.
- Date and Time Capabilities: Work with dates and instances.
- Listing Capabilities: Create and manipulate lists.
Operators
Operators are used to mix or examine values. Frequent operators embrace:
- Arithmetic Operators: +, -, *, /, %
- Comparability Operators: =, <>, >, <, >=, <=
- Logical Operators: AND, OR, NOT
Instance
The next instance demonstrates the usage of capabilities and operators to transform a column of uncooked information right into a refined format:
= Desk.AddColumn(#"Uncooked Knowledge", "Adjusted Worth", every [Value] * 0.85)
Desk.AddColumn
perform provides a brand new column to the desk.every
operator applies the calculation to every row.[Value]
refers back to the values within the "Worth" column.*
operator multiplies the values by 0.85.
This ends in a brand new column named "Adjusted Worth" with values which might be 85% of the unique values.
Creating and Utilizing Superior Editor In Energy Question
Creating and Utilizing Parameters
Parameters are a strong characteristic of the Superior Editor that will let you create dynamic queries that may be reused with completely different enter values. To create a parameter, click on on the “Parameters” tab within the Superior Editor, after which click on on the “New” button. Within the “Parameter Identify” area, enter a reputation for the parameter. Within the “Parameter Kind” area, choose the info kind of the parameter. Within the “Parameter Worth” area, enter the default worth for the parameter.
After you have created a parameter, you should use it in your question through the use of the next syntax:
“`
= Supply{[Parameter Name] = [Parameter Value]}
“`
For instance, the next question makes use of the “12 months” parameter to filter the info within the “Gross sales” desk:
“`
= Gross sales{[Year] = [Year]}
“`
Once you run a question that incorporates parameters, you can be prompted to enter values for the parameters. You possibly can enter completely different values for the parameters every time you run the question, which lets you create dynamic queries that can be utilized for a wide range of functions.
“`
| Parameter | Knowledge Kind | Default Worth |
|—|—|—|
| 12 months | Integer | 2023 |
| Month | Textual content | January |
| Product | Textual content | All |
“`
Superior Knowledge Manipulation Methods
The Superior Editor in Energy Question gives a strong interface for performing superior information transformations and manipulations. Superior strategies embrace:
M Capabilities
M capabilities are customized capabilities that may be created and used to increase the performance of Energy Question. They can be utilized for a variety of duties, corresponding to creating customized filters, aggregations, and transformations.
Listing Manipulation
Listing manipulation capabilities will let you work with lists of knowledge as a single entity. These capabilities embrace operations corresponding to including, eradicating, and remodeling checklist parts, in addition to combining and splitting lists.
Report Manipulation
Report manipulation capabilities will let you work with data (collections of named values) as a single entity. These capabilities embrace operations corresponding to including, eradicating, and modifying document fields, in addition to combining and splitting data.
Desk Manipulation
Desk manipulation capabilities will let you work with tables as a single entity. These capabilities embrace operations corresponding to including, eradicating, and modifying desk columns, in addition to combining and splitting tables.
Textual content Manipulation
Textual content manipulation capabilities will let you work with textual content as a single entity. These capabilities embrace operations corresponding to looking out, changing, and extracting textual content, in addition to changing between textual content and different information varieties.
Date and Time Manipulation
Date and time manipulation capabilities will let you work with dates and instances as a single entity. These capabilities embrace operations corresponding to including, subtracting, and formatting dates and instances, in addition to changing between completely different date and time codecs.
Logical Operators
Logical operators will let you carry out logical comparisons and operations on information. These operators embrace AND, OR, and NOT, in addition to conditional operators corresponding to IF and SWITCH.
Error Dealing with
Error dealing with capabilities will let you deal with errors that happen throughout information transformations. These capabilities can be utilized to show error messages, skip rows, or carry out different actions in response to errors.
Customized Columns
Customized columns will let you create new columns in a desk based mostly on current columns or expressions. These columns could be of any information kind and can be utilized to carry out advanced calculations or transformations.
Customized Column Components | Consequence |
---|---|
= “Hey” & “World” | HelloWorld |
= [Column1] + [Column2] | Sum of Column1 and Column2 |
= IF([Column1] > 10, “Over 10”, “Lower than or equal to 10”) | Over 10 if Column1 is larger than 10, Lower than or equal to 10 in any other case |
How one can Use Superior Editor in Energy Question
The Superior Editor in Energy Question is a strong instrument that permits you to create and edit queries utilizing the M language. The M language is a strong programming language that can be utilized to carry out a variety of knowledge transformations. The Superior Editor gives numerous options that make it straightforward to jot down and debug M code, together with syntax highlighting, auto-completion, and error checking.
To open the Superior Editor, click on on the “Superior Editor” button within the Energy Question ribbon. This can open a brand new window the place you’ll be able to write and edit your M code. The Superior Editor is split into two panes: the code pane and the output pane. The code pane is the place you write your M code, and the output pane exhibits the outcomes of working your code.
To jot down M code, you should use the next syntax:
“`
[Source] = …
[Step1] = …
[Step2] = …
“`
The primary line of code specifies the info supply that you simply wish to use. The following strains of code specify the transformations that you simply wish to carry out on the info. You should use the next capabilities to carry out a variety of knowledge transformations:
* `Desk.AddColumn`
* `Desk.RemoveColumn`
* `Desk.Filter`
* `Desk.Type`
* `Desk.Group`
For extra details about the M language, please check with the Microsoft documentation.
Folks Additionally Ask
How do I open the Superior Editor in Energy Question?
To open the Superior Editor, click on on the “Superior Editor” button within the Energy Question ribbon.
What’s the M language?
The M language is a strong programming language that can be utilized to carry out a variety of knowledge transformations.
What are the advantages of utilizing the Superior Editor?
The Superior Editor gives numerous options that make it straightforward to jot down and debug M code, together with syntax highlighting, auto-completion, and error checking.