L'ajout de rapports ad hoc à une application en vaut-il la peine?

16

Nous avons une application qui recueille beaucoup de données et a des rapports intégrés. La première itération était une intégration de Crystal Reports qui fonctionnait bien. Créez le rapport dans Crystal Report Designer, puis importez le fichier RPT dans l'application. Cela fonctionnait bien, mais les utilisateurs avaient besoin de l'application pour exécuter un rapport et, en outre, les utilisateurs ne pouvaient pas créer de rapport. Nous avons ajouté des filtres, des trieurs et des regroupements afin que le fichier RPT soit personnalisable, mais ils ne pouvaient pas en créer un à partir de zéro.

La deuxième interaction était une solution Web utilisant SSRS, SSAS et l'outil de création de rapports de Microsoft. Cela a nécessité un certain travail de base de données et un certain travail pour que les cubes soient opérationnels à partir du schéma OLTP, mais au final, il a été beaucoup plus facile de créer des rapports de cumul. Cependant, nous devons encore créer les rapports à l'aide de l'outil de création de rapports, les publier, puis les publier, etc. Nous avons également ajouté des filtres, des trieurs et des groupeurs pour le rendre "personnalisable".

Dans ces deux scénarios, nous avons environ 30 à 50 rapports prêts à l'emploi créés au fil du temps.

Il y a maintenant une discussion sur l'ajout de rapports ad hoc afin que les utilisateurs puissent créer un rapport à partir de zéro à la volée. Maintenant, notre modèle de données est très complexe et nécessite une bonne connaissance pratique de celui-ci pour le comprendre. Pour ce faire au minimum, il faudrait une bonne quantité de travail pour obtenir le modèle de données dans un schéma qui est «plus déclarable» et plus facile à comprendre. Je ne pense pas que notre application soit adaptée aux rapports ad hoc (cela ne vaut pas la peine).

Quelqu'un a-t-il réussi à fournir des rapports ad hoc? Quel ensemble d'outils avez-vous utilisé? Cela a-t-il eu un impact sur le succès de votre candidature?

Jon Raynor
la source

Réponses:

13

Les rapports ad hoc présentent certains dangers.

  1. Les rapports ont tendance à proliférer dans l'explosion combinatoire qui en résulte.

  2. tout rapport ainsi créé a une certaine légitimité intégrée parce que, eh bien, c'est un rapport imprimé, donc les informations doivent être valides.

  3. Vous pourriez penser que fournir des rapports de cette manière réduit votre fardeau pour soutenir les personnes avec de nouveaux rapports, mais en fait cela l'augmente.

  4. Il ne s'agit pas seulement de donner aux gens une capacité de production de rapports. Il s'agit également de la gestion des documents: quelle est la politique de conservation et de destruction de ces documents? Quelles sont les exigences de classement et de stockage?

Pour toutes ces raisons, je pense que si un outil de reporting personnalisé est fourni, il doit être de portée limitée; soigneusement structuré de manière à ne pas produire d'artefacts excessifs, non étayés et non pris en charge; et étayé par une politique qui définit clairement le type de rapports qui peuvent être générés de manière dynamique, et quels rapports doivent être définis et produits officiellement.

Dans certains cas, l'ajout d'une personnalisation soigneusement choisie aux rapports existants (un petit nombre de paramètres configurables par l'utilisateur, par exemple) peut réduire le besoin d'un outil de rapport personnalisé. Notez également que, s'il s'agit d'effectuer des recherches sur une base de données OLAP, une plus grande flexibilité de reporting est nécessaire que si vous effectuez un reporting sur un système transactionnel ordinaire.

Robert Harvey
la source
2
+1 pour limiter soigneusement la structure et la portée. Il est facile d'aller à la mer et de créer un monstre.
GrandmasterB
Cette discussion a eu lieu récemment dans mon bureau et j'ai beaucoup de sentiments similaires, mais ils sont difficiles à justifier. Je suppose que vous ne savez où trouver un traitement approfondi de ce sujet? Par exemple, à quoi ressemblerait une bonne définition de rapport et / ou une politique de rétention?
Aaronaught
@Aaronaught: Vous commencez par des mandats légaux pour la tenue de dossiers, et revenez à partir de là. Par exemple, dans la plupart des organisations (saines), il existe une politique de rétention des e-mails, car si vous les conservez trop longtemps ou pas assez longtemps, l'entreprise peut être exposée à une responsabilité légale. Les documents relatifs à des choses comme les garanties et les taxes sont très clairs; d'autres types de documents, pas tellement.
Robert Harvey
Qu'en est-il de l'augmentation du fardeau plutôt que de sa réduction - comment expliquez-vous / justifiez-vous cela, disons, à un CTO ou à un PDG?
Aaronaught
@Aaronaught: Comme vous l'avez probablement déjà compris, les outils de reporting ad hoc ne sont pas une solution miracle; ils fournissent un certain degré de simplification au cours du processus, mais les personnes qui ne peuvent pas penser en termes d'ensembles et de jointures (c'est-à-dire SQL) semblent également avoir des difficultés à utiliser leurs ordinateurs pour des choses plus banales. Ainsi, votre effort de support passe simplement de la rédaction de rapports personnalisés (qui produisent des actifs d'entreprise qui peuvent être exploités à plusieurs reprises) à aider les néophytes à rédiger leurs propres rapports clients (qui sont tous des efforts ponctuels).
Robert Harvey
7

J'ai vu beaucoup d'échecs coûteux. J'ai eu un partenaire commercial incliné dans ce moulin à vent pendant des années. Leur difficulté était leur insistance pour que les personnes "non techniques" puissent créer des rapports. Nous avons construit un certain nombre de solutions que les gens ont pu apprendre et utiliser à divers degrés de réussite. Tout comme vous, nous avons commencé avec des rapports prédéfinis paramétrés.

Ensuite, nous avons créé un moyen d'enregistrer les jeux de paramètres et de les associer à différents modèles de «format», ce qui vous permet essentiellement de mélanger et de faire correspondre vos rapports prédéfinis et de les publier à d'autres personnes. C'était en fait la chose la plus efficace que nous ayons jamais faite, car il s'agissait d'environ deux semaines de temps de développement (en plus d'un système de rapport en conserve paramétré de base) et ils l'ont utilisé avec un certain succès pendant des années. C'était une interface utilisateur très simple, mais certains utilisateurs ne pouvaient pas vraiment créer leurs propres rapports, ils ne pouvaient tout simplement pas déterminer leurs critères. Mais puisque quiconque pouvait créer un rapport et le partager avec quelqu'un d'autre, il pouvait simplement demander à un collègue de faire un rapport au lieu d'avoir à aller dans une équipe MIS et à faire la queue.

Nous avons continué à essayer de l'améliorer et avons gaspillé des centaines de milliers de dollars. Crystal Decisions avait une boîte à outils assez sophistiquée comme complément à son produit d'entreprise Crystal Reports. C'était la version 9 ou 10. Son depuis longtemps renommé, renommé par Business Objects mais j'imagine qu'il en existe toujours une version. C'était assez cher, et cela vous a donné un concepteur Web complet pour créer à peu près n'importe quel format de rapport. Il avait également un exemple d'application qui était plus un assistant qui vous a guidé à travers la modification d'un rapport existant. Nous avions eu du succès avec l'idée de «modèle de sauvegarde et de partage de paramètres», ce qui nous a séduit car il allait plus loin. Eh bien, bref, nous ne l'avons pas vraiment fait. Je pense que l'outil était correct, mais ce que nous essayions de faire était tout simplement trop confus et incorrect pour fonctionner.

Pendant tout ce temps, l'entreprise a dû garder une équipe de développeurs SIG qui ont fait beaucoup de leurs rapports ad hoc. Le meilleur qu'ils aient jamais retiré de nos trucs était un rapport en boîte un peu plus flexible, le meilleur des cas permettant d'accélérer le développement d'un nouveau rapport en boîte à condition qu'il y ait un autre rapport existant qui était quelque peu similaire. Si vous vouliez en quelque sorte intégrer une nouvelle source de données, oubliez-la. Et surtout, c'est ce que MIS a fait pour eux était d'intégrer de plus en plus de sources de données de manière bâclée mais très rapide à commercialiser.

Finalement, ils ont commencé à utiliser Business Objects, la version de bureau de l'outil de BI. Cela vous permet d'intégrer des données locales avec des données que vous avez découvertes dans le catalogue de métadonnées en ligne. Ainsi, vous pourriez faire à la fois de vraies choses de production pour les masses et les quants et les gestionnaires pourraient continuer à croquer différents ensembles de données vers lesquels leur recherche les a conduits. L'ensemble de compétences est devenu encore plus rare, ce n'était certainement pas quelque chose que n'importe qui pouvait ramasser et faire. Ils ont quand même réussi à faire en sorte que beaucoup plus de gens l'utilisent efficacement qu'ils n'auraient jamais pu se permettre d'embaucher en tant que personnes SIG dédiées. Le personnel de MIS n'a cependant jamais été beaucoup réduit, ce qui est révélateur.

Ma propre impression de ce problème général est que vous devez être prêt à investir de manière significative dans le développement des compétences pour les personnes que vous imaginez utiliser cet outil, et vous devez accepter que tout votre personnel n'y arrivera jamais. Et s'ils ne peuvent pas passer deux semaines l' apprentissage d' une plate - forme BI, ils ne seront jamais en mesure de tirer le meilleur parti de tout outil que vous leur donnez. Certaines personnes, pour une raison quelconque, ne semblent tout simplement jamais avoir des idées de base telles que les jointures externes. D'énormes classes d'ensembles de problèmes ne seront jamais à leur portée pour résoudre avec n'importe quel outil, car ils ne vont pas assez loin pour comprendre au niveau conceptuel ce qu'ils essaient vraiment de demander à l'ordinateur de faire. Cela ne veut pas dire qu'ils "ne peuvent pas" apprendre cela, juste que beaucoup d'entre eux ne le feront jamais.

Jeremy
la source
5

Nous sommes actuellement confrontés à cette situation. À ce stade, au lieu d'une interface de création de rapports ad hoc, nous exécutons un essai avec Excel et Power Pivot. Nous l'avons intégré à la barre d'outils Excel et permettons aux utilisateurs d'importer les données directement dans et de créer des rapports à l'aide de cela. Nous avons constaté que bon nombre de ces rapports ad hoc offraient ceux qui étaient nécessaires à un moment précis pour répondre à une question spécifique.

À ce stade, cela fonctionne bien, un peu de formation et de prise en main était nécessaire à l'avance, mais il est utilisé par le département financier, alors ils sont bien sûr plus à l'aise pour exceller.

Soit dit en passant, si vous souhaitez parler de certains détails de mise en œuvre, faites-le moi savoir.

Richard Fantozzi
la source
+1, office à bien des égards est la plate
Wyatt Barnett
2

Dans un scénario similaire sur un projet que je gère, nous avons proposé au client d'ajouter un datawarehouse avec une solution OLAP en plus. Pour réduire les coûts, nous avons choisi PostgreSQL comme base de données DWH et Pentaho Enterprise comme outil d'analyse BI / OLAP - nous avons choisi la version payante car l'outil OLAP est beaucoup plus convivial.

Comme vous l'avez dit, vous devez effectuer votre analyse pour concevoir un modèle de données adapté aux besoins des utilisateurs. Il nous a fallu trois mois entre les exigences et le déploiement, et au début, il y avait quelques problèmes à corriger, mais au final, le client est très satisfait des résultats. Les utilisateurs créent désormais leur propre analyse et les utilisent parfois comme rapports (en les exportant au format PDF). Il existe également une fonctionnalité qui permet de créer des rapports ad hoc assez simples, mais au moins pour l'instant l'outil d'analyse est plus que suffisant pour leurs besoins.

Dan Mazzini
la source
2

Plus le domaine et la taille des entreprises que vous avez en tant que clients sont larges, plus vous avez tendance à privilégier les personnalisations, l'intégration des données et les rapports ad hoc. Cela va se résumer au coût.

La plupart des entreprises découragent les personnalisations et facturent donc des frais élevés pour ce service. Les programmeurs ont tendance à considérer ces choses comme inutiles, mais lorsque vous pouvez gagner du temps et le rendre plus facile pour quelques centaines d'utilisateurs, les économies s'additionnent.

Pour les rapports, cela crée une opportunité de facturer une formation supplémentaire. Les rapports ad hoc peuvent entraîner des frais supplémentaires.

Votre travail en tant que développeur deviendra plus difficile. La plupart des endroits où j'ai déjà travaillé avec des logiciels tiers avaient des rapports personnalisés. C'était facile pour certains car ils avaient des structures de données simples. Les plus grands / les plus complexes avaient besoin de rapports personnalisés, car c'est ainsi qu'ils gèrent leur entreprise. S'ils voulaient faire les choses comme tout le monde, ils ne m'auraient pas engagé. J'ai dû poser quelques questions DevExpress Reporting sur SO.

C'est aux ventes et au marketing de voir s'il y a un besoin. Pas "Un rapport ad hoc serait cool", mais "J'achèterais votre logiciel car il a un rapport ad hoc". Il vous suffit de sensibiliser tout le monde aux investissements techniques nécessaires.

JeffO
la source
2

Ma solution consiste à obtenir votre application pour générer des feuilles de calcul de base et laisser les utilisateurs jouer avec Access jusqu'à ce qu'ils voient ce qu'ils veulent.

Une approche plus sophistiquée consisterait à écrire un programme access / vbscript pour "rafraîchir" les données de base afin de permettre aux utilisateurs de réutiliser ces personnalisations.

James Anderson
la source
1

J'en ai fait quelques-uns au fil des ans. Comme vous l'avez dit, avec des bases de données qui reposent sur certaines connaissances de domaine, cela peut devenir très délicat. En tant que tel, je (ou l'équipe dans laquelle je faisais partie) les ai développés sans utiliser d'outil de reporting. Ils avaient franchement trop de mal à travailler avec, essayant de leur apporter toute la logique nécessaire. Vous finissez par les combattre autant qu'ils vous aident.

Les utilisateurs aiment vraiment pouvoir faire leurs propres rapports, donc je dirais que cela en valait vraiment la peine si vous avez le temps de développer un tel système.

GrandmasterB
la source
1

La réponse courte est que cela peut l'être.

J'ai travaillé pour une entreprise au milieu des années 90 qui a créé des logiciels qui font exactement ce qu'ils demandent. Nous avions un bon marché dans l'industrie pharmaceutique, où les essais cliniques impliquaient beaucoup d'interrogations et de rapports - à tel point qu'il était logique de supprimer les intermédiaires du SI.

Cette entreprise a été avalée par une autre, qui à son tour a été avalée par une autre qui ne savait pas quoi faire du produit.

Pourtant, le monde (oxymoronique) de la Business Intelligence repose en partie sur la possibilité pour les utilisateurs finaux de définir ou au moins d'affiner les requêtes sur les systèmes de données. Il existe des outils pour rendre cela un peu plus facile pour l'utilisateur. Business Objects (qui fait désormais partie de SAP) était roi dans ce domaine. Puis ils ont acheté Crystal. Ensuite, SAP les a achetés. Leur offre actuelle dans ce domaine est SAP Crystal Interactive Analysis.

C'est un gros effort - les outils nécessitent généralement beaucoup de travail pour configurer vos métadonnées et tout cela. C'est vraiment une question de savoir si vos utilisateurs en ont VRAIMENT besoin - quel sera le retour sur investissement?

Matthew Flynn
la source
1

Je travaille pour un système informatique gouvernemental qui a des exigences de rapport ad hoc et prédéfinies.En outre, les utilisateurs voulaient une solution de rapport ad hoc qui se sentait "intégrée" dans les applications existantes, fournissait des capacités d'exploration pour afficher les informations d'enregistrement derrière la sortie du rapport et fournissait des informations complètes accès à la requête de la base de données. Les produits de rapport ciblés n'étaient généralement qu'une page Web ou MS Excel. La sécurité souhaitait que les rapports s'intègrent aux contrôles de sécurité JEE existants.

Après avoir échoué à trouver une solution existante sur le marché, nous avons fini par lancer notre propre outil de reporting ad hoc que nous utilisons depuis plusieurs années. Cependant, il est coûteux à entretenir et à améliorer car il n'a pas été conçu pour s'étendre au-delà des cas d'utilisation de jointure, de filtrage et de tri modestes.

Certains problèmes que nous avons rencontrés sont similaires à ceux mentionnés par d'autres:

  • Incapacité des utilisateurs à comprendre le modèle de données - en particulier, les utilisateurs créent régulièrement des produits de jointure croisée via l'outil et sont confus par la sortie.
  • Aucune possibilité d'afficher les résultats sur une carte même si la plupart des données ont des attributs spatiaux.
  • Impossibilité de créer des signets et de revenir aux sélections de rapports ad hoc (il s'agissait d'une faille dans la conception de l'outil d'origine).

Nous évaluons actuellement les rapports Pull pour déterminer s'ils peuvent résoudre ces problèmes. Nous aimons la façon dont l'interface ad hoc donne aux utilisateurs un visuel simplifié du modèle de données ainsi que des descriptions textuelles des tableaux et des colonnes. Le fait que les sélections de filtre de l'utilisateur soient intégrées à la sortie du rapport réduit le risque que les résultats soient mal interprétés.

Quant à savoir si tout cela en valait la peine ou non: dans notre cas, les rapports ad hoc ont été moins chers et plus faciles à gérer que de demander au personnel technique de gérer une prolifération de rapports en conserve. Cependant, la question est un peu théorique car les rapports prédéfinis - à la fois avec notre outil de reporting interne et avec les rapports Pull - sont généralement construits au-dessus du moteur de requête / reporting de l'outil de reporting ad hoc. Cela signifie que les rapports prédéfinis ne sont que des rapports ad hoc avec des paramètres préconfigurés.

Jon French
la source