Buongiorno,
come posso trasformare una stringa che è in formato testo (alfanumerico) in un numero in base 36?
ho provato sia tramite l'editor di powerbi che tramite le formule ma non riesco, sovente mi dà l'errore che non si puo convertire quella stringa in numero. in excel ottengo il valore desiderato tramite la formula DECIMALE(string,36)
Grazie
Convertire in base36
-
- Messaggi: 1 | Topic creati
- Iscritto il: mar 20 dic 2022, 16:10
-
- Messaggi: 2269 | Topic creati
- Iscritto il: dom 28 giu 2020, 19:41
- Luogo: Bologna
- Ringraziato: 673 volte
- Contatta:
Convertire in base36
Michelaprova,
Non penso esista la controparte della funzione DECIMALE di excel nel mondo Dax.
Se conosci la logica da applicare per la trasformazione puoi provare a crearti una funzione personalizzata in PowerQuery.
Andrea
Non penso esista la controparte della funzione DECIMALE di excel nel mondo Dax.
Se conosci la logica da applicare per la trasformazione puoi provare a crearti una funzione personalizzata in PowerQuery.
Andrea
-
- Messaggi: 2269 | Topic creati
- Iscritto il: dom 28 giu 2020, 19:41
- Luogo: Bologna
- Ringraziato: 673 volte
- Contatta:
Convertire in base36
Michelaprova,
Ho provato ad inventare qualcosa per generare una funzione custom che ho chiamato "char_converter", il cui codice è:
Poi ho utilizzato questa funzione all'interno di una tabella che esporta dei codici alfanumerici, ed esegue la conversione in base 36. (Nella seconda colonna della tabella c'è il risultato ottenuto con la formula DECIMAL() per un confronto).
Lascio a te testare il suo corretto funzionamento.
Andrea
Ho provato ad inventare qualcosa per generare una funzione custom che ho chiamato "char_converter", il cui codice è:
Codice: Seleziona tutto
(char_to_convert as any, position_of as number) as number=>
let
list_alfa = {"0".."9", "a".."z"},
pos_list_alfa = List.PositionOf(list_alfa, Text.Lower(char_to_convert)),
result = pos_list_alfa * Number.Power(36, position_of as number)
in
result
Codice: Seleziona tutto
let
Source = Excel.CurrentWorkbook(){[Name="Data"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Stringhe", type text}, {"Result", Int64.Type}}),
#"Added Custom" = Table.AddColumn(
#"Changed Type",
"Test",
each
List.Last(
List.Generate(
()=>[Start=0, Funct=char_converter(List.Reverse(Text.ToList([Stringhe])){0}, 0), String=List.Reverse(Text.ToList([Stringhe]))],
each [Start]<List.Count([String]),
each [Start=[Start]+1,Funct= char_converter([String]{[Start]+1}, [Start]+1) + [Funct], String=[String]]
)
)[Funct])
in
#"Added Custom"
Andrea
- Allegati
-
- Base_36.xlsx
- (18.63 KiB) Scaricato 23 volte