Question

Je travaille sur un entrepôt de données qui, à la fin, nécessitera que je crée des rapports basés sur les heures ouvrables. Actuellement, ma dimension de temps est granulaire à l'heure. Je me demande si je devrais modifier ma dimension Time afin d'inclure un champ de bits pour & "Heure ouvrée &"; ou devrais-je créer une sorte de mesure calculée pour cela à la fin de l'analyse? Des exemples seraient super magnifiques?

Était-ce utile?

La solution

Utilisez un bit (ou même une autre colonne) pour spécifier si une heure est une heure ouvrable au moment où elle est stockée. Sinon, lorsque vous modifierez les heures de bureau, vous ne pourrez plus reproduire les rapports historiques.

Autres conseils

Toutes vos données de vente se trouvent-elles dans le même fuseau horaire? Par exemple, suivez-vous les ventes des points de vente situés dans différents fuseaux horaires ou des utilisateurs finaux situés dans différents fuseaux horaires? Si tel est le cas, vous pouvez créer ce champ de bits pour & "Heure d’heure &"; dans le tableau des données de vente, car il sera assez difficile de calculer cela à la volée pour les utilisateurs et les points de vente situés dans des fuseaux horaires différents.

De plus, vous ne voulez calculer cela qu'une seule fois - lorsque la vente est importée dans l'entrepôt de données - car ces données ne risquent pas de changer très souvent. Ce n'est pas comme si vous alliez dire: & "Cette vente a déjà eu lieu pendant les heures ouvrables, mais ce n'est plus le cas. &";

les heures ouvrables sont des règles commerciales, elles peuvent donc changer à l'avenir

représente les heures ouvrables comme heure de base et durée, par ex. StartTime 0900, Durée 9,5 heures, vous permet ainsi de modifier facilement l'intervalle, d'effectuer des scénarios hypothétiques basés sur différentes heures ouvrées et que les heures ouvrées peuvent traverser les lignes de date sans compliquer les requêtes

bien sûr, toutes les dates doivent être à l'heure GMT (UTC), jamais heure locale, pour éviter les complexités de l'heure d'été

EDIT: Je pense avoir mal compris la question, vos données sont déjà détaillées au niveau de l'heure ... Non, je pense que ma réponse est valable, mais avec l'ajout des dates de début et de fin effectives pour les intervalles d'heure de travail. Cela permettrait à la granularité de changer dans le futur tout en préservant l’histoire

Je ne suis pas sûr que cela aide, mais j'utiliserais UCT pour stocker toutes les heures, puis définir des heures de début et de fin pour spécifier les heures d'ouverture. Une fois cette configuration effectuée, ce serait une simple If (SpecificHour >= BusinessStartingHour) And (SpecificHour <= BusinessEndingHour) Then ... opération.

Vous pouvez jouer et tester avec vos différentes options si vous utilisez Microsoft PerformancePoint 2007. Vous pouvez modifier vos dimensions et afficher vos résultats dans des graphiques, tableaux croisés dynamiques, autres outils de reporting, etc.

.

http://office.microsoft.com/en-us/performancepoint /FX101680481033.aspx

Est-ce que les & heures ouvrables " change avec le temps? Je suppose que je me demande si chaque ligne doit être liée à un indicateur d’heure d’ouverture ou si le simple fait d’avoir les rapports eux-mêmes (ou une table de référence) décider si cette transaction a eu lieu pendant une heure de travail suffit.

Toutes choses égales par ailleurs, le rapport le ferait probablement à votre place, au lieu de marquer les lignes, mais si les heures de bureau sont volatiles au fil du temps, vous devez les marquer pour vous assurer que vos données historiques restent correctes.

C’est un jugement qui, à mon avis, dépend des tests de performance, de l’utilisation du système, etc. Personnellement, je créerais probablement un champ indexé contenant un drapeau afin de traiter la logique permettant de déterminer ce qui est. et ce n’est pas une heure ouvrable (c’est-à-dire lorsque les données sont chargées). Si cela est fait correctement (et encore, en fonction de l'utilisation spécifique), je pense que vous pourriez également obtenir un gain de performance.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top