Données Excel et limitation à 2000 lignes

  • Données Excel et limitation à 2000 lignes

    Posté par Fabien sur 27 septembre 2024 à 16h16

    Bonjour,

    J’ai créé une Application via Power Apps qui utilise comme source un référentiel Excel, qui s’appuie sur d’autres fichiers Excel pour mise à jour de certaines données, et qui contient environ 50000 lignes.

    Cette application permet de consulter et de rechercher en fonction d’un champ particulier, toutes les données qui le concerne.

    Il y a également une partie modification, qui permet de compléter des éléments, qui ne sont pas présents dans le fichier de base.

    Avec la limite des 2000 lignes (découverte après création de l’application), je suis donc bloqué car tout ne remonte pas lorsqu’on fait une recherche.

    En cherchant sur le net, j’ai trouvé essentiellement des infos pour des listes SharePoint et pas forcément pour un fichier Excel, avec mise en place de flux PowerAutomate.

    J’avoue que je suis un peu perdu et je ne sais plus par quel bout prendre mon projet pour pouvoir le finaliser et exploiter l’application sur la totalité des données.

    Quelqu’un aurait-il une idée et un process à me communiquer ?

    Mise en place de collections ? Mais est-ce que cela va aussi enrichir le fichier Excel ? …

    Merci par avance pour votre aide et vos conseils.

    GREGOIRE a répondu Il y a 2 semaines, 4 jours 2 Membres · 3 Réponses
  • 3 Réponses
  • GREGOIRE

    Membre
    27 septembre 2024 à 20h26

    Salut,

    j’ai un cas d’usage un peu équivalent. quotidien j’ai un un workflow webmethods qui me pose sur un sharepoint des csv en provenance de SAP. une fois posé, j’ai un dataflow qui transforme mes csv, mais a priori ton tableau excel doit déjà être propre.

    A partir de la table propre générée par le dataflow, j’ai un power automate qui fait le transfert des lignes de la table dans une liste sharepoint.

    Le connecteur Sharepoint dans power apps a la même limitation de 2k lignes MAIS, il existe une ruse qui fonctionne très bien pour moi, c’est en production depuis 2 mois et j’en suis très content, pour un liste SP de 5K lignes

    je te fait un copier coller bête et méchant de la fonction App OnStart que j’ai

    <div>
    <div>// Pour contourner les problèmes de délégation SP <-> Power Apps, on utilise une collection de la liste SP. Pour outre-passer la limite théorique de 2000 items dans une collection venant de SP, on segmente la liste SP en plusieurs collection, basées sur la colonne INDEX de LUMIS_MATERIAL, puis on concatene toutes ces sous collections en 1 qui nous sert ensuite dans la listbox “ArticleMultiCrit”, pour filtrer à la fois dans Material Description & Texte Long, sinon sans cette ruse, problème de délégation !</div>

    <div>// Étape 1 : Collecte simultanée des données en blocs de 2000 et 1000</div>
    <div> Concurrent(</div>
    <div> Collect(ColMaterial_1, ShowColumns(Filter(LUMIS_MATERIAL, Index_ID <= 2000), Material, ‘Material description’,’Basic material’, Fabricant, Référence, Bin, ‘Texte Long’,’Groupe Gestionnaire’)),</div>
    <div> Collect(ColMaterial_2, ShowColumns(Filter(LUMIS_MATERIAL, Index_ID > 2000 && Index_ID <= 4000), Material, ‘Material description’, ‘Basic material’, Fabricant, Référence, Bin, ‘Texte Long’,’Groupe Gestionnaire’)),</div>
    <div> Collect(ColMaterial_3, ShowColumns(Filter(LUMIS_MATERIAL, Index_ID > 4000 && Index_ID <= 5000), Material, ‘Material description’, ‘Basic material’, Fabricant, Référence, Bin, ‘Texte Long’,’Groupe Gestionnaire’))</div>
    <div> );</div>

    <div>// Étape 2 : Fusionner les collections individuelles en une seule</div>
    <div> ClearCollect(ColMaterial, ColMaterial_1, ColMaterial_2, ColMaterial_3);</div>

    <div>// Étape 3 : Supprimer les collections temporaires</div>
    <div> Clear(ColMaterial_1); Clear(ColMaterial_2); Clear(ColMaterial_3);</div>

    <div>// pour outre-passer la limite théorique de 2000 items dans une collection venant de SP, on segmente la liste SP en plusieurs collection, basées sur la colonne INDEX de LUMIS_NOMENC, puis on concatene toutes ces sous collections en 1</div>

    <div>// Étape 1 : Collecte simultanée des données en blocs de 2000 et 1000</div>
    <div> Concurrent(</div>
    <div> Collect(ColNomenc_1, Filter(LUMIS_NOMENC, Index_ID <= 2000)),</div>
    <div> Collect(ColNomenc_2, Filter(LUMIS_NOMENC, Index_ID > 2000 && Index_ID <= 4000)),</div>
    <div> Collect(ColNomenc_3, Filter(LUMIS_NOMENC, Index_ID > 4000 && Index_ID <= 5000))</div>
    <div> );</div>

    <div>// Étape 2 : Fusionner les collections individuelles en une seule</div>
    <div> ClearCollect(ColNomenc, ColNomenc_1, ColNomenc_2, ColNomenc_3);</div>

    <div>// Étape 3 : Supprimer les collections temporaires</div>
    <div> Clear(ColNomenc_1); Clear(ColNomenc_2); Clear(ColNomenc_3);</div>
    <div> </div>
    <div>En résumé, tu collectes en plusieurs morceaux de ta ou tes sources de données (j’en ai 2), puis tu la concatene en 1 grosse collection. je sais que les puristes du forums te diront de ne surtout pas le faire et je comprends, on est clairement pas dans les règles de l’art, et les effets de bord doivent exister.</div>
    <div> </div>
    </div>

  • Fabien

    Membre
    30 septembre 2024 à 7h37

    Bonjour,

    Merci pour ton retour et cette solution alternative.

    Est-ce que les modifications qui sont faites dans les collections vont s’implémenter dans le fichier Excel ou dans la liste SharePoint ?

    C’est un prérequis essentiel pour éviter l’écrasement et/ou perte de données vis à vis du fichier de base qui va être enrichi par d’autres données (requêtes Power Query)

  • GREGOIRE

    Membre
    30 septembre 2024 à 7h43

    Salut,

    dans l’état actuel, j’utilise mes données chargées uniquement en lecture sur mon App, nous n’écrivons pas dans SAP depuis Power Apps chez nous, nous n’avons pas exploité les connecteurs.

    Si tu as besoin d’afficher puis d’écrire des données dans ta source, ça doit être tout à fait faisable, quoi qu’excel étant la pire source de données possible, mais c’est la réalité du terrain, on est encore beaucoup à l’utiliser à tord.

    PowerApps Write to Excel – YouTube un certain nombre de tuto devrait t’aider à y voir plus clair.

Connectez-vous pour répondre.