L'approccio migliore per creare un report basato su dati dinamici

-1

Ho un'applicazione ASP.Net MVC in cui ho bisogno di creare un report. Questo report mostrerà alcuni dati su un'entità (attività), ma solo attività di UN tipo specifico che verranno inserite nel database (fino ad ora).

Il mio modello di dati è:

attività:

Int ID
DateTime Date
Int TypeId

Tipo di attività:

Int ID
String TypeName

Dato che il tipo di attività non esiste ancora, come implementare questo rapporto?

Ho pensato di aggiungere una proprietà a Tipo di attività:

Bool IsXYZ //(hypothetic name here)

E quindi esegui il rendering del mio rapporto mostrando solo le attività in cui il tipo presenta "IsXYZ == true".

Ma davvero non so se questo è l'approccio migliore per farlo.

Ho provato a cercare come farlo, ma non so come si chiama (o anche se questo ha un nome).

    
posta Diego Gomes Santos 10.05.2016 - 19:15
fonte

2 risposte

0

Supponendo che l'ID sia il PK di ogni tabella e che ci sia un FK in ACTIVITY_TYPE che punta a ACTIVITY (typeid - > id)

  • L'utente seleziona un tipo di attività da un elenco a discesa (per nome)
  • Elenco dropwodn restituisce l'ID del tipo di attività selezionato
  • Questa query viene eseguita (sostituendo 999 con l'ID del tipo di attività selezionato dall'utente):

        select a.id,a.date,t.typename
        from
            activity a join activity_type t 
            on (a.typeid=t.id)
        where
            a.typeid = 999;
    
  • Se non viene restituita alcuna riga, informala all'utente o disegna / stampa un rapporto vuoto.

  • Se vengono restituite righe, mostra / stampa il rapporto.
risposta data 08.03.2017 - 13:29
fonte
0

Dopo alcune ricerche, ho trovato la seguente soluzione:

Ho aggiunto una nuova proprietà "chiave" nella mia entità "Tipo di attività".

E nel rapporto, filtrerò i dati dal mio db cercando un valore specifico "chiave".

Successivamente, l'utente può configurare il tipo di attività che desidera vedere nel rapporto semplicemente modificando questo valore chiave. Ad esempio:

  • Il report cercherà nel database le attività di cui ha il tipo una chiave specifica, diciamo "XYZ".
  • L'utente deve solo modificare i tipi di attività che desidera essere mostrato nel rapporto aggiungendo questo valore chiave.
risposta data 11.05.2016 - 16:02
fonte

Leggi altre domande sui tag