Support formation Rapports Power BI
Support formation Rapports Power BI
Langage M

icon picker
4 | Valeurs et expressions

Catégories

Valeurs primitives : éléments de données individuels que M traite comme une unité unique à des fins de traitement et d'opérations.
Valeurs structurées : peuvent contenir plusieurs valeurs. 3 types de valeurs structurées :
les listes,
les enregistrements,
les tables.
Valeurs de fonction : Le langage M comprend plus de 700 fonctions définies.
Valeurs de type : méta-valeurs qui fournissent des informations sur le type de données d'une autre valeur.

Types de données

Les 15 types primaires
Catégorie
Type de valeur
Littéral
1
Valeurs primitives
Null
null
2
Valeurs primitives
Logical
true, false
3
Valeurs primitives
Number
o, 5, -5, 1.5
4
Valeurs primitives
Time
#time(20,15,30)
5
Valeurs primitives
Date
#date(2024,03,01)
6
Valeurs primitives
DateTime
#datetime(2023,05,10,20,15,30)
7
Valeurs primitives
DateTimeZone
#datetimezone(2023,05,10,20,15,30, 09,00)
8
Valeurs primitives
Duration
#duration( 5, 2, 15, 0)
9
Valeurs primitives
Text
"hello world"
10
Valeurs primitives
Binary
#binary(”AQUID”)
11
Valeurs structurées
List
{1,2,3}
12
Valeurs structurées
Record
[A = 1, B = 2]
13
Valeurs structurées
Table
#table({”X”,”Y”}, {{0,1},{1,0}})
14
Valeurs de fonction
Function
(x) => x+1
15
Valeurs de type
Type
type text, type table [A = any, B = text ]
There are no rows in this table
Les types Claims
Type de valeur
Litéral
Description
1
Any. Type
type any
Représente toutes les valeurs
2
Binary.Type
type binary
Représente toutes les valeurs binaires
3
Date. Type
type date
Représente toutes les valeurs de date
4
DateTime.Type
type datetime
Représente toutes les valeurs de date et d'heure
5
DateTimeZone.Type
type datetimezone
Représente toutes les valeurs de date et d'heure relatives à un fuseau horaire
6
Duration.Type
type duration
Représente toutes les valeurs de durée
7
Function. Type
type function
Représente toutes les fonctions
8
List.Type
type list
Représente toutes les listes
9
Logical. Type
type logical
Représente toutes les valeurs logiques
10
None.Type
type none
Ne représente aucune valeur
11
Null.Type
type null
Représente null
12
Byte. Type
type number
Représente tous les octets
13
Currency. Type
type number
Représente la valeur de la devise
14
Decimal.Type
type number
Représente un nombre décimal à virgule fixe
15
Double.Type
type number
Représente un nombre à virgule flottante en double précision
16
Int16.Type
type number
Représente un entier signé de 16 bits
17
Int32.Type
type number
Représente un entier signé de 32 bits
18
Int64.Type
type number
Représente un entier signé de 64 bits
19
Int8.Type
type number
Représente un entier signé de 8 bits
20
Number. Type
type number
Représente tous les nombres
21
Percentage. Type
type number
Représente la valeur en pourcentage
22
Single.Type
type number
Représente un nombre à virgule flottante simple précision
23
Record.Type
type record
Représente tous les enregistrements
24
Table. Type
type table
Représente toutes les tables
25
Character. Type
type text
Représente tous les caractères
26
Guid.Type
type text
Représente une valeur GUID
27
Password.Type
type text
Représente un mot de passe texte
28
Text. Type
type text
Représente toutes les valeurs de texte
29
Uri. Type
type text
Représente une URI de texte
30
Time.Type
type time
Représente toutes les valeurs temporelles
31
Type.Type
type type
Représente tous les types
There are no rows in this table

Fonctions spéciales

Table
Nom
Rôle
Exemple
Aide
1
Value.Type
Retourne un type de données indiqué sour forme de texte
Value.Type( sType )
2
List.Count
Compte le nombre d’éléments d’une liste
List.Count( {1, 2, 3} )
There are no rows in this table

Listes

{
"a",
{4,5,6},
[Column1 = 1, Column2 = "v"],
#table( { "ID", "Product" }, {{ 1, "Apple" }} )
}
Retourne une liste d’une chaine, d’une liste, d’un enregistrement et d’une table.
List.Sort( List.Combine( { {1, 4}, {2, 5} } ) )
Retourne {1, 2, 4, 5}.
let
LowercaseLetters = { "a".."z" },
Numbers = { "0".."9" },
CombinedCharacters = LowercaseLetters & Numbers,
SelectCharacters = Text.Select( "inv-1006-!**!-(act)", CombinedCharacters )
in
SelectCharacters
Retourne inv1006act.
List.Numbers( 1, 5, 1 )
Retourne {1,2,3,4,5}

Tables

let
Source = Table.FromColumns(
{
{123, 34, 12, "txt", null},
{123, "txt", 34, 12, null},
{"txt", 123, 34, 12, null},
{123, "txt", "34", 12, null}
}
),
ChType = Table.TransformColumnTypes( Source,
{
{"Column1", Int64.Type},
{"Column2", Int64.Type},
{"Column3", Int64.Type},
{"Column4", Int64.Type}
}
)
in
ChType

Opérateurs

image.png

Query folding

let
Source = Sql.Database("localhost", "AdventureWorksDW2022"),
dbo_DimCurrency = Source{[Schema="dbo",Item="DimCurrency"]}[Data],
#"Sorted Rows" = Table.Sort(dbo_DimCurrency,{{"CurrencyAlternateKey", Order.Ascending}})
in
#"Sorted Rows"
devient en SQL
Select [_].[CurrencyKey],
[_].[CurrencyAlternateKey],
[_].[CurrencyName]
from [dbo].[DimCurrency] as [_]
order by [_].[CurrencyAlternateKey]

Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.