Superrigardo:
(ĜISDATIGO 12/04/07: Aldonita alian interesan rimedon ĉe la fino liganta al alia blogo kiu traktas tion ĉi tra tre interesa araneaĵa parto)
Ĉi tiu bloga eniro priskribas kiel krei baran grafeon en SharePoint. Tio ĉi laboras en ambaŭ WSS kaj MUSKAJ medioj kiel ĝi nur dependas al la datuma vida araneaĵa parto.
La entuta alproksimiĝo estas kiel sekvas:
- Krei liston aŭ dokumentan bibliotekon kiu enhavas la datumon vi deziras al grafeo.
- Loki la rilatan dokumentan bibliotekon / Laŭmenda listo al paĝo kaj transformi ĝin al datuma vida araneaĵa parto (DVWP).
- Modifi la XSL de la DVWP produkti HTML ke rezultoj kiel grafeo.
Komerca Scenaro / Aranĝo:
Mi kreis laŭmendan liston kun la norma Titola kolumno kaj unu suplementa kolumno, "Statuso". Tio ĉi modeligas (Tre simplistically) "Rajtigo Por Elspezo" Scenaro kie la titolo reprezentas la projekton kaj la Statuson valoro de la listo de:
- Proponita
- En Procezo
- Ekhaltita
La objektivo estas produkti interaktivan horizontalan baran grafeon kiu montras ĉi tiujn statusajn kodojn.
Mi loĝis la liston kaj ĝin similas tion ĉi:
Krei Datuman Vidon Araneaĵa Parto:
Krei la DVWP de aldonanta la laŭmendan liston al paĝo (Eja paĝo en mia kazo) Kaj sekvi la instruojn Ĉi tie (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!395.entry).
Krom simple kreanta la DVWP, Ni ankaŭ devas fiksi la paging nemoveblaĵo montri ĉiuj haveblaj disputoj. Por mi, Tio ĉi rigardas ion tiel:
Ĉe ĉi tiu punkto, Mi ĉiam proksima SPD kaj la retumilo. Mi tiam re-malfermi la paĝon uzanta la retumilon. Tio ĉi evitas akcidente mucking supre la araneaĵa parta plano sur la paĝo.
Modifi la XSLT:
Ĝi estas nun tempo modifi la XSLT.
Mi ĉiam uzas vidan studion por tio ĉi. (Vidi Ĉi tie Por grava noto pri intellisense kiu helpos vin tre).
Mi kreas senhoman projekton aldonas kvar novajn dosierojn (Anstataŭiganta la vortan "Originalon" Kaj "Nova" Kiel konvena):
- Originala.Xslt
- Nova.Xslt
- Originala Params.Xml
- Nova Params.Xml
En mia kazo, Ĝi similas tion ĉi:
Modifi la araneaĵan parton kaj kopii la params kaj XSL al la "Originalo" Versio en Vida Studio.
La objektivo ĉi tie estas kaŭzi la XSL transformi la rezultojn ni revenas de la DVWPa demando en HTML kiu faras kiel grafeo.
Al ĉi tiu fino, Ĝi helpas unue konsideri kion la HTML devus simili antaŭ ol ni akiras konfuzita de la frenezeco kiu estas konata kiel "XSL". (Esti klara, La sekvantaro estas simple ekzemplo; Ne tajpas ĝin aŭ kopion/almetas en vida studio. Mi provizas plenan frapon komencanta punkton por tiu pli lasta en la skribi-supre). La sekvanta ekzempla grafeo estas farita kiel por la HTML tuj sekvanta:
Respondanta HTML:
<Html> <Korpo> <Centro> <Tabla larĝo=80%> <Tr><Td><Centro>Horizontala Bara Grafeo</Td></Tr> <Tr> <Td vicigas="centron"> <Tabla landlimo="1" Larĝo=80%> <Tr> <Td larĝo=10%>Turniro</Td> <Td><Tablo cellpadding="0" Cellspacing="0" Randiri=0 larĝon=50%><Tr bgcolor=ruĝeco><Td>&Nbsp;</Td></Tr></Tablo></Td> </Tr> <Tr> <Td larĝo=10%>Fermita</Td> <Td><Tablo cellpadding="0" Cellspacing="0" Randiri=0 larĝon=25%><Tr bgcolor=ruĝeco><Td>&Nbsp;</Td></Tr></Tablo></Td> </Tr> <Tr> <Td larĝo=10%>Ekhaltita</Td> <Td><Tablo cellpadding="0" Cellspacing="0" Randiri=0 larĝon=25%><Tr bgcolor=ruĝeco><Td>&Nbsp;</Td></Tr></Tablo></Td> </Tr> </Tablo> </Td> </Tr> </Tablo> </Korpo> </Html> |
Mi uzis mortintan simplan alproksimiĝon al kreanta miajn barojn de fiksanta la fonan koloron de disputo al "ruĝeco".
La preni-for ĉi tie estas tio ĉi: En la fino, Ĉiuj ni estas farantaj estas kreanta HTML kun disputoj kaj kolumnoj.
Ŝablona XSLT:
Mi kopiis la XSLT kiu produktas horizontalan baran grafeon. Ĝi estas juste bone rimarkita do mi ne aldonos tre ĉi tie esceptas por ĉi tiuj notoj:
- Mi komencis kun la defaŭlta XSL ke SharePoint Designer donis min kiam mi unue kreis la DVWP.
- Mi estis kapabla tranĉi tion ĉi malsupren de SPD-a 657 Linioj al 166 Linioj.
- Mi ne fuŝis proksimume kun la parametra XMLa dosiero (Kiu estas aparta de la XSL kaj vi scios kion mi signifas kiam vin iras modifi la DVWP ĝi mem; Estas du dosieroj vi povas modifi). Tamen, Por simpligi ĝin, Mi ja forigis preskaŭ ili ĉiuj de la XSL. Tio ĉi signifas ke se vi deziras fari uzon de tiuj parametroj, Vi nura bezono aldoni iliajn variajn difinojn reen al la XSL. Kiu estos facile pro tio ke vi havos la originalan XSL variaj difinoj en via vida studia projekto.
- Vi ought esti kapabla kopii kaj almeti tion ĉi rekte en via vida studia projekto. Tiam, Forigi miajn vokojn kaj inserti viajn proprajn vokojn al "ShowBar".
- La borilo malsupren laboroj de kreanta <href> Tiel: http://server/List?FilterField1=fieldname&FilterValue1=actualFilterValue. Ĉi tiu tekniko povas esti de valoro en aliaj kuntekstoj. Ĉe unua, Mi pensis min devus konformiĝi al pli kompleksa formato: http://server/List/AllItems.aspx?View={guid}&FilterField1=blah&FilterValue1=blah, Sed en mia medio kiu ne estas necesa. La URL de la Listo estas pasita al ni de SharePoint do tio ĉi estas tre facile indukti.
Ĉi tie ĝi estas:
<Xsl:Stylesheet Versio="1.0" Ekskludi-rezulto-prefiksoj="Rs z o s ddwrt dt msxsl" |
La Rezultoj:
La XSL de sur produktas ĉi tiun grafeon:
Bori malsupren al la fundamenta datumo de klakanta sur la statusa kodo:
Konkludanta Pensojn:
Povas Tion ĉi Esti Induktita?
Mi amas ĉi tiu graphing koncepto, Sed mi malamas la fakton ke mi devi eniri kaj tiel fari multe da manon-kodiĝo. Mi donis malgrandan penson al ĉu ĝi povas esti induktita kaj mi estas optimisma, Sed mi estas ankaŭ malgranda maltrankvila ke tie povas esti brika muro ie laŭ la vojo kiu ne proponos ajnan laboron-proksimume. Se iu ajn havas kelkajn bonajn ideojn sur tio ĉi, Bonvolu fari noton en la rimarkoj aŭ Retpoŝtigi min.
Vertikalaj Grafeoj:
Tio ĉi estas horizontala bara grafeo. Ĝi estas certe ebla krei vertikalan grafeon. Ni nur devas ŝanĝi la HTML. Mi komencus la saman vojon: Krei HTMLan reprezentadon de vertikala bara grafeo kaj tiam elkalkuli kiel akiri ke tra XSL. Se iu ajn estas interesita en tio, Mi povus esti persvadita provi ĝin ekstere kaj eliri la kinks. Se iu jam faris tion, please let me know and I’ll gladly link to your blog 🙂
Mi pensas ke defio kun vertikala grafeo estas ke la etikedoj por la grafeo estas pli malfacila administri, Sed certe ne neebla.
Kampa Nomo Gotcha-a:
Estas almenaŭ du aferoj rigardi ekstere por kun viaj kampaj nomoj.
Unue, Kampa nomo kun spaco devas esti evitita en la XSL. Tio ĉi verŝajne estos afero ĉi tie:
<Xsl:Varia Nomo="TotalProposed"
Elektita="Kalkulo(/DsQueryResponse/Disputa/Disputo[Normaligi-spaco(@Statuso) = 'Farota'])" />
Se via "Statuso" Kolumno estas efektive nomita "Statusan Kodon" Tiam vi devas referenci ĝin kiel "Statuso_x0020_Kodo":
<Xsl:Varia Nomo="TotalProposed"
Elektita="Kalkulo(/DsQueryResponse/Disputa/Disputo[Normaligi-spaco(@Statuso_x0020_Kodo) = 'Farota'])" />Due, Kaj mi estas malgranda malpreciza sur tio ĉi, Sed vi ankaŭ devas esti sur la atentigo por kampa nomo ŝanĝoj. Se vi nomas vian kampan "Statusan Kodon" Kaj tiam poste sur, Renomi ĝin al "AFEa Statuso", La "interna nomo" Ne ŝanĝas. La interna nomo ankoraŭ estos "Statusa Kodo" Kaj devas esti referencita kiel "Statuso_x0020_Kodo". La "aliaj rimedoj" Ligoj povas helpi diagnozi kaj ĝustigi ĉi tiun specon de problemo.
Pri tiu Koloro:
Mi elektis "ruĝan" Ĉar ĝi estas plaĉanta al mi ĉe la momento. Ĝi ne estus granda interkonsento montri malsamajn kolorojn por provizi pli da ol nur vida priskribo de nombro, Sed ankaŭ provizi utilan KPI. Ekzemple, Se la procento de "ekhaltita" AFE-a estas > 10% Tiam montri ĝin ruĝa, Alie montri ĝin en nigrulo. Uzo <Xsl:Elekti> Plenumi tion ĉi.
Aliaj Rimedoj:
- Determini la internan nomon (Kaj alia bona info) Por la datumo en listo: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!134.entry
- Montri ĉiuj la datumo provizita de SharePoint (La kruda XML): http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!190.entry
- Akiri la XPATHan esprimon de specifa kolumno: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!155.entry
- Alia alproksimiĝas uzanta OWA(?). Mi ne fosadis en ĝi, Sed rigardoj promesanta, Precipe por tortaj mapoj: http://www.waka.dk/Blog/PermaLink,guid,e2532e71-d774-4ac9-8f25-883964b830f4.aspx
Feliĉa transformanta!
<Fino/>