Consumi contatori in sottolettura
Moderatore: Utilizzo_prof_Excel
-
- Messaggi: 107 | Topic creati
- Iscritto il: dom 11 apr 2021, 12:47
- Ringraziato: 5 volte
Consumi contatori in sottolettura
Buona sera,
In un condominio esiste un contatore generale e dei contatori in sottolettura per i singoli condomini.
Annualmente vengono rilevate le letture.
La differenza tra la lettura dell'anno corrente e quella dell'anno precedente rappresenta il consumo del singolo condomino per l'anno considerato.
Per i consumi condominiali (innaffiamento aiuole, etc.) al risultato come sopra calcolato per il singolo anno, va sottratta anche la somma dei consumi di tutti i condomini, cioè di tutti i contatori in sottolettura.
Sono riuscito a definire le misure per calcolare i consumi dei singoli contatori e quelli cumulati in sottolettura.
Non riesco a definire una misura che mi fornisca il consumo "netto" per il contatore generale e, contestualmente, mi mostri i consumi degli altri utenti.
Ci ho provato (cfr misura = "Consumo2"), ma non funziona.
Mi potete aiutare a venirne a capo please.
Allego il file con i dati e le misure create.
Grazie
In un condominio esiste un contatore generale e dei contatori in sottolettura per i singoli condomini.
Annualmente vengono rilevate le letture.
La differenza tra la lettura dell'anno corrente e quella dell'anno precedente rappresenta il consumo del singolo condomino per l'anno considerato.
Per i consumi condominiali (innaffiamento aiuole, etc.) al risultato come sopra calcolato per il singolo anno, va sottratta anche la somma dei consumi di tutti i condomini, cioè di tutti i contatori in sottolettura.
Sono riuscito a definire le misure per calcolare i consumi dei singoli contatori e quelli cumulati in sottolettura.
Non riesco a definire una misura che mi fornisca il consumo "netto" per il contatore generale e, contestualmente, mi mostri i consumi degli altri utenti.
Ci ho provato (cfr misura = "Consumo2"), ma non funziona.
Mi potete aiutare a venirne a capo please.
Allego il file con i dati e le misure create.
Grazie
- Allegati
-
- Contatori in Sottolettura.xlsx
- (573.63 KiB) Scaricato 63 volte
-
- Messaggi: 2480 | Topic creati
- Iscritto il: dom 28 giu 2020, 19:41
- Luogo: Bologna
- Ringraziato: 695 volte
- Contatta:
Consumi contatori in sottolettura
Gennaro_64,
Puoi allegare il risultato desiderato scritto a mano?
Così da capire meglio che cosa vorresti ottenere ?
Andrea
Puoi allegare il risultato desiderato scritto a mano?
Così da capire meglio che cosa vorresti ottenere ?
Andrea
-
Autore del topic - Messaggi: 107 | Topic creati
- Iscritto il: dom 11 apr 2021, 12:47
- Ringraziato: 5 volte
-
- Messaggi: 2480 | Topic creati
- Iscritto il: dom 28 giu 2020, 19:41
- Luogo: Bologna
- Ringraziato: 695 volte
- Contatta:
Consumi contatori in sottolettura
Gennaro_64,
Prova la seguente come misura Consumo:
Poi sostituirei le altre due misure delle letture con le seguenti:
Lettura AP:
Lettura AC:
Andrea
Prova la seguente come misura Consumo:
Codice: Seleziona tutto
=
VAR Lettura = [Lettura_AC] - [Lettura_AP]
VAR Generale_Val =
SWITCH (
TRUE ();
IFERROR ( VALUES ( Letture[Utente] ) = "Generale"; TRUE () );
Lettura
- CALCULATE ( [Lettura_AC] - [Lettura_AP]; Letture[Utente] <> "Generale" );
Lettura
)
VAR Result =
IF (
ISFILTERED ( Letture[Utente] );
Generale_Val;
CALCULATE ( [Lettura_AC] - [Lettura_AP]; Letture[Utente] = "Generale" )
)
RETURN
Result
Lettura AP:
Codice: Seleziona tutto
=
IF (
ISFILTERED ( Letture[Utente] );
CALCULATE ( [Lettura_AC]; DATEADD ( Calendario[Data]; -1; YEAR ) );
BLANK ()
)
Codice: Seleziona tutto
=
IF (
ISFILTERED ( Letture[Utente] );
CALCULATE ( SUM ( 'Letture'[Lettura] ); YEAR ( 'Letture'[Data] ) );
BLANK ()
)
-
Autore del topic - Messaggi: 107 | Topic creati
- Iscritto il: dom 11 apr 2021, 12:47
- Ringraziato: 5 volte
Consumi contatori in sottolettura
Caro Andrea90 ,
Innanzitutto grazie.
Inutile dire che funziona perfettamente.
Ora devo capire e studiare tutte le funzioni che per me sono nuove ...
Di nuovo grazie
g
Innanzitutto grazie.
Inutile dire che funziona perfettamente.
Ora devo capire e studiare tutte le funzioni che per me sono nuove ...
Di nuovo grazie
g
-
Autore del topic - Messaggi: 107 | Topic creati
- Iscritto il: dom 11 apr 2021, 12:47
- Ringraziato: 5 volte
Consumi contatori in sottolettura
Buon giorno Andrea90 ,
Ho bisogno di capire per applicare le tue funzioni anche in futuro,anche in altri contesti.
Vado con le domande.
La tua misura "Lettura AC" è sicuramente ottima
Nel riquadro ho evidenziato invece quella che ho utilizzato io.
Nel riquadro che segue le ho messe a confronto
Tu hai usato la funzione "ISFILTERED" come test della funzione IF.
Il risultato è perfetto perché nella pivot la tua misura non somma le letture (perché non avrebbe un senso logico).
Quindi "ISFILTERED" ha questo scopo? Restituisce "true", cioè è verificata solo per i valori del campo utente presenti nella pivot.
Non costituisce valore del campo utente il totale della colonna che, grazie alla funzione IF, resta blank.
Corretta la mia interpretazione?
Grazie.
Ho bisogno di capire per applicare le tue funzioni anche in futuro,anche in altri contesti.
Vado con le domande.
La tua misura "Lettura AC" è sicuramente ottima
Nel riquadro ho evidenziato invece quella che ho utilizzato io.
Nel riquadro che segue le ho messe a confronto
Tu hai usato la funzione "ISFILTERED" come test della funzione IF.
Il risultato è perfetto perché nella pivot la tua misura non somma le letture (perché non avrebbe un senso logico).
Quindi "ISFILTERED" ha questo scopo? Restituisce "true", cioè è verificata solo per i valori del campo utente presenti nella pivot.
Non costituisce valore del campo utente il totale della colonna che, grazie alla funzione IF, resta blank.
Corretta la mia interpretazione?
Grazie.
-
- Messaggi: 2480 | Topic creati
- Iscritto il: dom 28 giu 2020, 19:41
- Luogo: Bologna
- Ringraziato: 695 volte
- Contatta:
Consumi contatori in sottolettura
Gennaro_64,
Il DAX ragiona per contesti valutativi (contesto riga + contesto filtro), pertanto con la stessa misura [Lettura AC] fornisce 5 valori diversi (per ciascuna riga della pivot), perché ognuna di quelle righe rappresenta un contesto valutativo differente.
Ad esempio in riga 1, la Pivot considera l'intera tabella dei fatti, ma filtrata per le sole righe relative all'Utente 1.
La riga del totale è diversa, ovvero in quel caso non è più attivo il filtro del campo [Utente], e dunque considera tutti i dati della tabella, indipendentemente da quale sia l'utente.
ISFILTERED (https://dax.guide/isfiltered/), consente di verificare quando una data cella (contesto valutativo), sia affetto dal filtro applicato ad uno specifico campo.
Scrivere dunque ISFILTERED(Letture[Utente]) riporterà TRUE sulle righe in cui esiste un dato utente, ma non sulla riga di totale.
Andrea
Il DAX ragiona per contesti valutativi (contesto riga + contesto filtro), pertanto con la stessa misura [Lettura AC] fornisce 5 valori diversi (per ciascuna riga della pivot), perché ognuna di quelle righe rappresenta un contesto valutativo differente.
Ad esempio in riga 1, la Pivot considera l'intera tabella dei fatti, ma filtrata per le sole righe relative all'Utente 1.
La riga del totale è diversa, ovvero in quel caso non è più attivo il filtro del campo [Utente], e dunque considera tutti i dati della tabella, indipendentemente da quale sia l'utente.
ISFILTERED (https://dax.guide/isfiltered/), consente di verificare quando una data cella (contesto valutativo), sia affetto dal filtro applicato ad uno specifico campo.
Scrivere dunque ISFILTERED(Letture[Utente]) riporterà TRUE sulle righe in cui esiste un dato utente, ma non sulla riga di totale.
Andrea
-
Autore del topic - Messaggi: 107 | Topic creati
- Iscritto il: dom 11 apr 2021, 12:47
- Ringraziato: 5 volte
-
Autore del topic - Messaggi: 107 | Topic creati
- Iscritto il: dom 11 apr 2021, 12:47
- Ringraziato: 5 volte
Consumi contatori in sottolettura
Ciao Andrea90,
Seconda domanda: la variabile "Generale_Val".
Ho isolato nel riquadro rosso una "porzione" della variabile.
Me la spieghi per favore? Concettualmente ed anche secondo i canoni DAX.
E' sicuramente geniale, ma non riesco a decodificarla (il TRUE, IFERROR. VALUES e poi di nuovo TRUE)
Grazie.
g
Seconda domanda: la variabile "Generale_Val".
Ho isolato nel riquadro rosso una "porzione" della variabile.
Me la spieghi per favore? Concettualmente ed anche secondo i canoni DAX.
E' sicuramente geniale, ma non riesco a decodificarla (il TRUE, IFERROR. VALUES e poi di nuovo TRUE)
Grazie.
g
-
- Messaggi: 2480 | Topic creati
- Iscritto il: dom 28 giu 2020, 19:41
- Luogo: Bologna
- Ringraziato: 695 volte
- Contatta:
Consumi contatori in sottolettura
Gennaro_64,
Values riporta un valore scalare solo se la tabella risultante è composta da una sola riga e da una sola colonna.
A livello di totale questo può portare ad un problema e se non utilizzavo quella porzione di codice li, excel ti riportava un messaggio di errore ad ogni aggiornamento della pivot (in realtà poi il calcolo funzionava e restituiva il valore corretto).
Per evitare questa cosa ho aggiunto quella porzione di codice.
Andrea
Values riporta un valore scalare solo se la tabella risultante è composta da una sola riga e da una sola colonna.
A livello di totale questo può portare ad un problema e se non utilizzavo quella porzione di codice li, excel ti riportava un messaggio di errore ad ogni aggiornamento della pivot (in realtà poi il calcolo funzionava e restituiva il valore corretto).
Per evitare questa cosa ho aggiunto quella porzione di codice.
Andrea