Salve a tutti,
avrei bisogno di trasporre alcuni dati da incolonnati a righe; allego un file che spiega la casistica velocemente.
Dovessi risolvere con excel utilizzerei la funzione unici e poi copia trasponi per ogni struttura.
L'obbiettivo finale è calcolare la deviazione standard degli scoref per struttura.
TRASPORE DATI L’argomento è risolto
Moderatore: Utilizzo_prof_Excel
-
- Messaggi: 47 | Topic creati
- Iscritto il: mer 9 giu 2021, 16:36
- Ringraziato: 5 volte
-
- Messaggi: 2327 | Topic creati
- Iscritto il: dom 28 giu 2020, 19:41
- Luogo: Bologna
- Ringraziato: 680 volte
- Contatta:
TRASPORE DATI
Ciao Alieno86,
Non capisco cosa intendi per scoref1, scoref2, ecc.
Se li vuoi porre in colonna devono essere dimensioni presenti nella tabella, a quel punto puoi lasciare la base dati così come è, e poi con una pivot (powerpivot) crearti il report con le strutture per riga e i scoref per colonna.
Andrea
Non capisco cosa intendi per scoref1, scoref2, ecc.
Se li vuoi porre in colonna devono essere dimensioni presenti nella tabella, a quel punto puoi lasciare la base dati così come è, e poi con una pivot (powerpivot) crearti il report con le strutture per riga e i scoref per colonna.
Andrea
-
- Messaggi: 890 | Topic creati
- Iscritto il: dom 28 giu 2020, 19:03
- Luogo: San Giovanni in Persiceto (BO)
- Ringraziato: 325 volte
- Contatta:
TRASPORE DATI
Ciao Andrea90, credo che l'utente necessiti appunto di una dimensione che distingua i punteggi, ovvero un indice annidato (dopo aver raggruppato per struttura) da utilizzare poi come campo da mettere in colonna (con PQ o pivot, poco importa a quel punto)
Esempio:
Esempio:
Codice: Seleziona tutto
let
Origine = Excel.CurrentWorkbook(),
Tabella1_2 = Origine{[Name="Tabella1_2"]}[Content],
#"Raggruppate righe" = Table.Group(Tabella1_2, {"struttura"}, {{"ar", each Table.AddIndexColumn(_, "id",1,1), type table }}),
#"Rimosse colonne" = Table.RemoveColumns(#"Raggruppate righe",{"struttura"}),
#"Tabella ar espansa" = Table.ExpandTableColumn(#"Rimosse colonne", "ar", {"struttura", "scoref", "id"}, {"struttura", "scoref", "id"}),
#"Prefisso aggiunto" = Table.TransformColumns(#"Tabella ar espansa", {{"id", each "scoref " & Text.From(_, "it-IT"), type text}}),
#"Modificato tipo" = Table.TransformColumnTypes(#"Prefisso aggiunto",{{"struttura", type text}, {"id", type text}, {"scoref", type number}}),
#"Colonna trasformata tramite Pivot" = Table.Pivot(#"Modificato tipo", List.Distinct(#"Modificato tipo"[id]), "id", "scoref")
in
#"Colonna trasformata tramite Pivot"
Enrico Galli
Link utili: I nostri tutorial | Come inserire: Immagini - Codice - Risolto
Se il forum ti è stato utile, considera di supportarlo con una libera donazione
Link utili: I nostri tutorial | Come inserire: Immagini - Codice - Risolto
Se il forum ti è stato utile, considera di supportarlo con una libera donazione
-
Autore del topic - Messaggi: 47 | Topic creati
- Iscritto il: mer 9 giu 2021, 16:36
- Ringraziato: 5 volte
TRASPORE DATI
perfetto complimenti.Enrico Galli ha scritto: ↑mar 30 nov 2021, 16:26 let
Origine = Excel.CurrentWorkbook(),
Tabella1_2 = Origine{[Name="Tabella1_2"]}[Content],
#"Raggruppate righe" = Table.Group(Tabella1_2, {"struttura"}, {{"ar", each Table.AddIndexColumn(_, "id",1,1), type table }}),
#"Rimosse colonne" = Table.RemoveColumns(#"Raggruppate righe",{"struttura"}),
#"Tabella ar espansa" = Table.ExpandTableColumn(#"Rimosse colonne", "ar", {"struttura", "scoref", "id"}, {"struttura", "scoref", "id"}),
#"Prefisso aggiunto" = Table.TransformColumns(#"Tabella ar espansa", {{"id", each "scoref " & Text.From(_, "it-IT"), type text}}),
#"Modificato tipo" = Table.TransformColumnTypes(#"Prefisso aggiunto",{{"struttura", type text}, {"id", type text}, {"scoref", type number}}),
#"Colonna trasformata tramite Pivot" = Table.Pivot(#"Modificato tipo", List.Distinct(#"Modificato tipo"[id]), "id", "scoref")
in
#"Colonna trasformata tramite Pivot"
-
Autore del topic - Messaggi: 47 | Topic creati
- Iscritto il: mer 9 giu 2021, 16:36
- Ringraziato: 5 volte
TRASPORE DATI
mi pare d'aver capito che il fulcro del discorso è
"ar", each Table.AddIndexColumn(_, "id",1,1), type table
però anche leggendo la spiegazione su https://docs.microsoft.com/ non ho capito come hai fatto a legare al punteggio la struttura.
Francesco
"ar", each Table.AddIndexColumn(_, "id",1,1), type table
però anche leggendo la spiegazione su https://docs.microsoft.com/ non ho capito come hai fatto a legare al punteggio la struttura.
Francesco
-
- Messaggi: 890 | Topic creati
- Iscritto il: dom 28 giu 2020, 19:03
- Luogo: San Giovanni in Persiceto (BO)
- Ringraziato: 325 volte
- Contatta:
TRASPORE DATI
Ciao Alieno86 , quel passaggio in effetti è la chiave dell'operazione, e non è possibile ottenerlo interamente da interfaccia grafica. Dapprima ho fatto un semplice raggruppamento sulle strutture, mettendo come unica aggregazione "Tutte le righe", ottenendo qualcosa tipo:
(in realtà c'è anche una parte tra parentesi quadre con la definizione delle colonne della tabella annidata, che io cancello).
Al posto di
Table.Group(Tabella1_2, {"struttura"}, {{"ar", each _, type table }})
(in realtà c'è anche una parte tra parentesi quadre con la definizione delle colonne della tabella annidata, che io cancello).
Al posto di
each _
, che significa sostanzialmente "per ogni struttura, fammi vedere la porzione di tabella che otterrei filtrando per quella struttura", scrivo a mano each Table.AddIndexColumn(_, "id",1,1)
, che vuol dire "prendi la porzione di tabella che otterrei filtrando per quella struttura, e aggiungile una colonna indice progressivo che parte da 1 e si incrementa di 1". Spero di averti chiarito, sia pur rapidamente, il concettoEnrico Galli
Link utili: I nostri tutorial | Come inserire: Immagini - Codice - Risolto
Se il forum ti è stato utile, considera di supportarlo con una libera donazione
Link utili: I nostri tutorial | Come inserire: Immagini - Codice - Risolto
Se il forum ti è stato utile, considera di supportarlo con una libera donazione
-
Autore del topic - Messaggi: 47 | Topic creati
- Iscritto il: mer 9 giu 2021, 16:36
- Ringraziato: 5 volte
TRASPORE DATI
Grazie della spiegazione, sicuramente non alla mia portata, ma veramente grazie per la disponibilità e cordialità.Enrico Galli ha scritto: ↑mar 30 nov 2021, 18:35 Ciao Alieno86 , quel passaggio in effetti è la chiave dell'operazione, e non è possibile ottenerlo interamente da interfaccia grafica. Dapprima ho fatto un semplice raggruppamento sulle strutture, mettendo come unica aggregazione "Tutte le righe", ottenendo qualcosa tipo:
Table.Group(Tabella1_2, {"struttura"}, {{"ar", each _, type table }})
(in realtà c'è anche una parte tra parentesi quadre con la definizione delle colonne della tabella annidata, che io cancello).
Al posto dieach _
, che significa sostanzialmente "per ogni struttura, fammi vedere la porzione di tabella che otterrei filtrando per quella struttura", scrivo a manoeach Table.AddIndexColumn(_, "id",1,1)
, che vuol dire "prendi la porzione di tabella che otterrei filtrando per quella struttura, e aggiungile una colonna indice progressivo che parte da 1 e si incrementa di 1". Spero di averti chiarito, sia pur rapidamente, il concetto